diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-08-03 06:55:55 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-08-03 06:55:55 +0200 |
commit | 000eea67ffd1f3250385a17a8aea8a8871e14210 (patch) | |
tree | eb6feba9acfbbf987298468386acca1792cb8574 /src/libmdsserver/util.c | |
parent | mds-clipboard: all actions except add, however there is not removal of old entries yet (diff) | |
download | mds-000eea67ffd1f3250385a17a8aea8a8871e14210.tar.gz mds-000eea67ffd1f3250385a17a8aea8a8871e14210.tar.bz2 mds-000eea67ffd1f3250385a17a8aea8a8871e14210.tar.xz |
the rest of the clipboard
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | src/libmdsserver/util.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/libmdsserver/util.c b/src/libmdsserver/util.c index df11b1a..01f5cbe 100644 --- a/src/libmdsserver/util.c +++ b/src/libmdsserver/util.c @@ -30,6 +30,31 @@ #include <ctype.h> + +/** + * Convert a client ID string into a client ID integer + * + * @param str The client ID string + * @return The client ID integer + */ +uint64_t parse_client_id(const char* str) +{ + char client_words[22]; + char* client_high; + char* client_low; + uint64_t client; + + strcpy(client_high = client_words, str); + client_low = rawmemchr(client_words, ':'); + *client_low++ = '\0'; + client = (uint64_t)atoll(client_high); + client <<= 32; + client |= (uint64_t)atoll(client_low); + + return client; +} + + /** * Read an environment variable, but handle it as undefined if empty * |