diff options
author | unril <unril@yandex-team.ru> | 2022-02-10 16:46:05 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:05 +0300 |
commit | 3b241dd57cf58f20bbbd63fa6a0a758dbec09b68 (patch) | |
tree | 1a2c5ffcf89eb53ecd79dbc9bc0a195c27404d0c /contrib/restricted/aws/aws-c-common/source/uuid.c | |
parent | 11ae9eca250d0188b7962459cbc6706719e7dca9 (diff) | |
download | ydb-3b241dd57cf58f20bbbd63fa6a0a758dbec09b68.tar.gz |
Restoring authorship annotation for <unril@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/restricted/aws/aws-c-common/source/uuid.c')
-rw-r--r-- | contrib/restricted/aws/aws-c-common/source/uuid.c | 188 |
1 files changed, 94 insertions, 94 deletions
diff --git a/contrib/restricted/aws/aws-c-common/source/uuid.c b/contrib/restricted/aws/aws-c-common/source/uuid.c index 3cf681ed62..a962abd653 100644 --- a/contrib/restricted/aws/aws-c-common/source/uuid.c +++ b/contrib/restricted/aws/aws-c-common/source/uuid.c @@ -1,99 +1,99 @@ /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. - */ -#include <aws/common/uuid.h> - -#include <aws/common/byte_buf.h> -#include <aws/common/device_random.h> - -#include <inttypes.h> -#include <stdio.h> - -#define HEX_CHAR_FMT "%02" SCNx8 - -#define UUID_FORMAT \ - HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT \ - "-" HEX_CHAR_FMT HEX_CHAR_FMT "-" HEX_CHAR_FMT HEX_CHAR_FMT "-" HEX_CHAR_FMT HEX_CHAR_FMT \ - "-" HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT - -#include <stdio.h> - -#ifdef _MSC_VER -/* disables warning non const declared initializers for Microsoft compilers */ -# pragma warning(disable : 4204) -# pragma warning(disable : 4706) -/* sprintf warning (we already check the bounds in this case). */ -# pragma warning(disable : 4996) -#endif - -int aws_uuid_init(struct aws_uuid *uuid) { - struct aws_byte_buf buf = aws_byte_buf_from_empty_array(uuid->uuid_data, sizeof(uuid->uuid_data)); - - return aws_device_random_buffer(&buf); -} - -int aws_uuid_init_from_str(struct aws_uuid *uuid, const struct aws_byte_cursor *uuid_str) { + */ +#include <aws/common/uuid.h> + +#include <aws/common/byte_buf.h> +#include <aws/common/device_random.h> + +#include <inttypes.h> +#include <stdio.h> + +#define HEX_CHAR_FMT "%02" SCNx8 + +#define UUID_FORMAT \ + HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT \ + "-" HEX_CHAR_FMT HEX_CHAR_FMT "-" HEX_CHAR_FMT HEX_CHAR_FMT "-" HEX_CHAR_FMT HEX_CHAR_FMT \ + "-" HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT HEX_CHAR_FMT + +#include <stdio.h> + +#ifdef _MSC_VER +/* disables warning non const declared initializers for Microsoft compilers */ +# pragma warning(disable : 4204) +# pragma warning(disable : 4706) +/* sprintf warning (we already check the bounds in this case). */ +# pragma warning(disable : 4996) +#endif + +int aws_uuid_init(struct aws_uuid *uuid) { + struct aws_byte_buf buf = aws_byte_buf_from_empty_array(uuid->uuid_data, sizeof(uuid->uuid_data)); + + return aws_device_random_buffer(&buf); +} + +int aws_uuid_init_from_str(struct aws_uuid *uuid, const struct aws_byte_cursor *uuid_str) { AWS_ERROR_PRECONDITION(uuid_str->len >= AWS_UUID_STR_LEN - 1, AWS_ERROR_INVALID_BUFFER_SIZE); - - char cpy[AWS_UUID_STR_LEN] = {0}; - memcpy(cpy, uuid_str->ptr, AWS_UUID_STR_LEN - 1); - - AWS_ZERO_STRUCT(*uuid); - - if (16 != sscanf( - cpy, - UUID_FORMAT, - &uuid->uuid_data[0], - &uuid->uuid_data[1], - &uuid->uuid_data[2], - &uuid->uuid_data[3], - &uuid->uuid_data[4], - &uuid->uuid_data[5], - &uuid->uuid_data[6], - &uuid->uuid_data[7], - &uuid->uuid_data[8], - &uuid->uuid_data[9], - &uuid->uuid_data[10], - &uuid->uuid_data[11], - &uuid->uuid_data[12], - &uuid->uuid_data[13], - &uuid->uuid_data[14], - &uuid->uuid_data[15])) { - return aws_raise_error(AWS_ERROR_MALFORMED_INPUT_STRING); - } - - return AWS_OP_SUCCESS; -} - -int aws_uuid_to_str(const struct aws_uuid *uuid, struct aws_byte_buf *output) { + + char cpy[AWS_UUID_STR_LEN] = {0}; + memcpy(cpy, uuid_str->ptr, AWS_UUID_STR_LEN - 1); + + AWS_ZERO_STRUCT(*uuid); + + if (16 != sscanf( + cpy, + UUID_FORMAT, + &uuid->uuid_data[0], + &uuid->uuid_data[1], + &uuid->uuid_data[2], + &uuid->uuid_data[3], + &uuid->uuid_data[4], + &uuid->uuid_data[5], + &uuid->uuid_data[6], + &uuid->uuid_data[7], + &uuid->uuid_data[8], + &uuid->uuid_data[9], + &uuid->uuid_data[10], + &uuid->uuid_data[11], + &uuid->uuid_data[12], + &uuid->uuid_data[13], + &uuid->uuid_data[14], + &uuid->uuid_data[15])) { + return aws_raise_error(AWS_ERROR_MALFORMED_INPUT_STRING); + } + + return AWS_OP_SUCCESS; +} + +int aws_uuid_to_str(const struct aws_uuid *uuid, struct aws_byte_buf *output) { AWS_ERROR_PRECONDITION(output->capacity - output->len >= AWS_UUID_STR_LEN, AWS_ERROR_SHORT_BUFFER); - - sprintf( - (char *)(output->buffer + output->len), - UUID_FORMAT, - uuid->uuid_data[0], - uuid->uuid_data[1], - uuid->uuid_data[2], - uuid->uuid_data[3], - uuid->uuid_data[4], - uuid->uuid_data[5], - uuid->uuid_data[6], - uuid->uuid_data[7], - uuid->uuid_data[8], - uuid->uuid_data[9], - uuid->uuid_data[10], - uuid->uuid_data[11], - uuid->uuid_data[12], - uuid->uuid_data[13], - uuid->uuid_data[14], - uuid->uuid_data[15]); - - output->len += AWS_UUID_STR_LEN - 1; - - return AWS_OP_SUCCESS; -} - -bool aws_uuid_equals(const struct aws_uuid *a, const struct aws_uuid *b) { - return 0 == memcmp(a->uuid_data, b->uuid_data, sizeof(a->uuid_data)); -} + + sprintf( + (char *)(output->buffer + output->len), + UUID_FORMAT, + uuid->uuid_data[0], + uuid->uuid_data[1], + uuid->uuid_data[2], + uuid->uuid_data[3], + uuid->uuid_data[4], + uuid->uuid_data[5], + uuid->uuid_data[6], + uuid->uuid_data[7], + uuid->uuid_data[8], + uuid->uuid_data[9], + uuid->uuid_data[10], + uuid->uuid_data[11], + uuid->uuid_data[12], + uuid->uuid_data[13], + uuid->uuid_data[14], + uuid->uuid_data[15]); + + output->len += AWS_UUID_STR_LEN - 1; + + return AWS_OP_SUCCESS; +} + +bool aws_uuid_equals(const struct aws_uuid *a, const struct aws_uuid *b) { + return 0 == memcmp(a->uuid_data, b->uuid_data, sizeof(a->uuid_data)); +} |