Changeset bc417660 in mainline for uspace/lib/c/generic/uuid.c
- Timestamp:
- 2019-02-23T16:28:16Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ab87db5
- Parents:
- 098e16a5 (diff), 76ec309b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/uuid.c
r098e16a5 rbc417660 39 39 #include <stddef.h> 40 40 #include <str.h> 41 #include <stdio.h> 41 42 42 43 /** Generate UUID. … … 67 68 uuid->b[8] = (uuid->b[8] & 0x3f) | 0x80; 68 69 69 return EOK;70 70 error: 71 71 rndgen_destroy(rndgen); … … 139 139 140 140 rc = str_uint64_t(str + 24, &eptr, 16, false, &node); 141 if (rc != EOK || eptr != str + 36 || *eptr != '\0')141 if (rc != EOK || eptr != str + 36) 142 142 return EINVAL; 143 143 … … 176 176 * @return EOK on success, ENOMEM if out of memory 177 177 */ 178 errno_t uuid_format(uuid_t *uuid, char **rstr )178 errno_t uuid_format(uuid_t *uuid, char **rstr, bool uppercase) 179 179 { 180 return ENOTSUP; 180 size_t size = 37; 181 char *str = malloc(sizeof(char) * size); 182 if (str == NULL) 183 return ENOMEM; 184 185 const char *format = "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"; 186 if (uppercase) 187 format = "%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X"; 188 189 int ret = snprintf(str, size, format, uuid->b[0], uuid->b[1], uuid->b[2], uuid->b[3], uuid->b[4], uuid->b[5], uuid->b[6], uuid->b[7], uuid->b[8], uuid->b[9], uuid->b[10], uuid->b[11], uuid->b[12], uuid->b[13], uuid->b[14], uuid->b[15]); 190 191 if (ret != 36) 192 return EINVAL; 193 194 *rstr = str; 195 return EOK; 181 196 } 182 197
Note:
See TracChangeset
for help on using the changeset viewer.