In accordance with Section 3.2.2.1 of XML Schema Part 2: Datatypes, the
allowable lexical representations for the xs:boolean datatype are the
strings "0" and "false" for the concept 'false' and the strings "1" and
"true" for the concept 'true'; implementations MUST support both styles
of lexical representation.
create_unique_id() was changed to use UUIDs instead of a counter in the
last commit. Since now it depends on connection_create_uuid() which is
in the xmpp subfolder the function should also be moved there.
Renamed it to connection_create_stanza_id() and moved it to
src/xmpp/connection.c.
Discussion happened in https://github.com/boothj5/profanity/pull/1010
Message IDs should be unique so they can be used by XEPs like delivery receipts, chat markers, message correction.
So far it used a counter so restarting profanity will cause the counter
to be 0 again.
Let's rather use an UUID since we have such a function in the
xmpp/xmpp.h already.
Closes https://github.com/boothj5/profanity/issues/998
In OpenBSD we have two readline libs. On the one hand we have an old
version in the base OS and on the other hand we have an new one in the
ports tree. profanity needs the new one and should pick up the right
one. readline from ports tree is prefixed as ereadline.
Note:
Original patch by Rafael Sadowski.
Cleaned up by jubalh with heavy help of pasis.
With gcc8 we get the following error when stringop-truncation is on:
```
In function ‘_rotate_log_file’,
inlined from ‘log_msg.part.2’ at src/log.c:201:17:
src/log.c:231:5: error: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
strncpy(log_file_new, log_file, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/log.c: In function ‘log_msg.part.2’:
src/log.c:228:18: note: length computed here
size_t len = strlen(log_file);
^~~~~~~~~~~~~~~~
```
Using memcpy instead of strncpy.