Skip to content

Commit

Permalink
Merge pull request #161 from PJK/pk/cwarn
Browse files Browse the repository at this point in the history
Fix pedantic compiler warnings
  • Loading branch information
PJK committed Oct 19, 2020
2 parents 06e6221 + d644118 commit 6361ad5
Show file tree
Hide file tree
Showing 34 changed files with 355 additions and 356 deletions.
2 changes: 1 addition & 1 deletion examples/create_items.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <stdio.h>
#include "cbor.h"

int main(int argc, char* argv[]) {
int main() {
/* Preallocate the map structure */
cbor_item_t* root = cbor_new_definite_map(2);
/* Add the content */
Expand Down
2 changes: 1 addition & 1 deletion examples/hello.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <stdio.h>
#include "cbor.h"

int main(int argc, char* argv[]) {
int main() {
printf("Hello from libcbor %s\n", CBOR_VERSION);
printf("Custom allocation support: %s\n", CBOR_CUSTOM_ALLOC ? "yes" : "no");
printf("Pretty-printer support: %s\n", CBOR_PRETTY_PRINTER ? "yes" : "no");
Expand Down
6 changes: 3 additions & 3 deletions examples/sort.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* standard library functions.
*/

int comparUint(const void *a, const void *b) {
int compareUint(const void *a, const void *b) {
uint8_t av = cbor_get_uint8(*(cbor_item_t **)a),
bv = cbor_get_uint8(*(cbor_item_t **)b);

Expand All @@ -26,15 +26,15 @@ int comparUint(const void *a, const void *b) {
return 1;
}

int main(int argc, char *argv[]) {
int main() {
cbor_item_t *array = cbor_new_definite_array(4);
cbor_array_push(array, cbor_move(cbor_build_uint8(4)));
cbor_array_push(array, cbor_move(cbor_build_uint8(3)));
cbor_array_push(array, cbor_move(cbor_build_uint8(1)));
cbor_array_push(array, cbor_move(cbor_build_uint8(2)));

qsort(cbor_array_handle(array), cbor_array_size(array), sizeof(cbor_item_t *),
comparUint);
compareUint);

cbor_describe(array, stdout);
fflush(stdout);
Expand Down
8 changes: 7 additions & 1 deletion examples/streaming_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@
#include <string.h>
#include "cbor.h"

#ifdef __GNUC__
#define UNUSED(x) __attribute__((__unused__)) x
#else
#define UNUSED(x) x
#endif

void usage() {
printf("Usage: streaming_parser [input file]\n");
exit(1);
Expand All @@ -24,7 +30,7 @@ void usage() {
const char* key = "a secret key";
bool key_found = false;

void find_string(void* _ctx, cbor_data buffer, size_t len) {
void find_string(void* UNUSED(_ctx), cbor_data buffer, size_t len) {
if (key_found) {
printf("Found the value: %.*s\n", (int)len, buffer);
key_found = false;
Expand Down
153 changes: 79 additions & 74 deletions src/cbor/callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,110 +7,115 @@

#include "callbacks.h"

#define CBOR_DUMMY_CALLBACK \
{}
void cbor_null_uint8_callback(void *_CBOR_UNUSED(_ctx),
uint8_t _CBOR_UNUSED(_val)) {}

void cbor_null_uint8_callback(void *_ctx, uint8_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_uint16_callback(void *_CBOR_UNUSED(_ctx),
uint16_t _CBOR_UNUSED(_val)) {}

void cbor_null_uint16_callback(void *_ctx,
uint16_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_uint32_callback(void *_CBOR_UNUSED(_ctx),
uint32_t _CBOR_UNUSED(_val)) {}

void cbor_null_uint32_callback(void *_ctx,
uint32_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_uint64_callback(void *_CBOR_UNUSED(_ctx),
uint64_t _CBOR_UNUSED(_val)) {}

void cbor_null_uint64_callback(void *_ctx,
uint64_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_negint8_callback(void *_CBOR_UNUSED(_ctx),
uint8_t _CBOR_UNUSED(_val)) {}

void cbor_null_negint8_callback(void *_ctx,
uint8_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_negint16_callback(void *_CBOR_UNUSED(_ctx),
uint16_t _CBOR_UNUSED(_val)) {}

void cbor_null_negint16_callback(void *_ctx,
uint16_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_negint32_callback(void *_CBOR_UNUSED(_ctx),
uint32_t _CBOR_UNUSED(_val)) {}

void cbor_null_negint32_callback(void *_ctx,
uint32_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_negint64_callback(void *_CBOR_UNUSED(_ctx),
uint64_t _CBOR_UNUSED(_val)) {}

void cbor_null_negint64_callback(void *_ctx,
uint64_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_string_callback(void *_CBOR_UNUSED(_ctx),
cbor_data _CBOR_UNUSED(_val),
size_t _CBOR_UNUSED(_val2)) {}

void cbor_null_string_callback(void *_ctx, cbor_data _val,
size_t _val2) CBOR_DUMMY_CALLBACK
void cbor_null_string_start_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_string_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_byte_string_callback(void *_CBOR_UNUSED(_ctx),
cbor_data _CBOR_UNUSED(_val),
size_t _CBOR_UNUSED(_val2)) {}

void cbor_null_byte_string_callback(void *_ctx, cbor_data _val,
size_t _val2) CBOR_DUMMY_CALLBACK
void cbor_null_byte_string_start_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_byte_string_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_array_start_callback(void *_CBOR_UNUSED(_ctx),
size_t _CBOR_UNUSED(_val)) {}

void cbor_null_array_start_callback(void *_ctx,
size_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_indef_array_start_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_indef_array_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_map_start_callback(void *_CBOR_UNUSED(_ctx),
size_t _CBOR_UNUSED(_val)) {}

void cbor_null_map_start_callback(void *_ctx,
size_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_indef_map_start_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_indef_map_start_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_tag_callback(void *_CBOR_UNUSED(_ctx),
uint64_t _CBOR_UNUSED(_val)) {}

void cbor_null_tag_callback(void *_ctx, uint64_t _val) CBOR_DUMMY_CALLBACK
void cbor_null_float2_callback(void *_CBOR_UNUSED(_ctx),
float _CBOR_UNUSED(_val)) {}

void cbor_null_float2_callback(void *_ctx, float _val) CBOR_DUMMY_CALLBACK
void cbor_null_float4_callback(void *_CBOR_UNUSED(_ctx),
float _CBOR_UNUSED(_val)) {}

void cbor_null_float4_callback(void *_ctx, float _val) CBOR_DUMMY_CALLBACK
void cbor_null_float8_callback(void *_CBOR_UNUSED(_ctx),
double _CBOR_UNUSED(_val)) {}

void cbor_null_float8_callback(void *_ctx, double _val) CBOR_DUMMY_CALLBACK
void cbor_null_null_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_null_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_undefined_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_undefined_callback(void *_ctx) CBOR_DUMMY_CALLBACK
void cbor_null_boolean_callback(void *_CBOR_UNUSED(_ctx),
bool _CBOR_UNUSED(_val)) {}

void cbor_null_boolean_callback(void *_ctx, bool _val) CBOR_DUMMY_CALLBACK
void cbor_null_indef_break_callback(void *_CBOR_UNUSED(_ctx)) {}

void cbor_null_indef_break_callback(void *_ctx) CBOR_DUMMY_CALLBACK
CBOR_EXPORT const struct cbor_callbacks cbor_empty_callbacks = {
/* Type 0 - Unsigned integers */
.uint8 = cbor_null_uint8_callback,
.uint16 = cbor_null_uint16_callback,
.uint32 = cbor_null_uint32_callback,
.uint64 = cbor_null_uint64_callback,

CBOR_EXPORT const struct cbor_callbacks cbor_empty_callbacks = {
/* Type 0 - Unsigned integers */
.uint8 = cbor_null_uint8_callback,
.uint16 = cbor_null_uint16_callback,
.uint32 = cbor_null_uint32_callback,
.uint64 = cbor_null_uint64_callback,
/* Type 1 - Negative integers */
.negint8 = cbor_null_negint8_callback,
.negint16 = cbor_null_negint16_callback,
.negint32 = cbor_null_negint32_callback,
.negint64 = cbor_null_negint64_callback,

/* Type 1 - Negative integers */
.negint8 = cbor_null_negint8_callback,
.negint16 = cbor_null_negint16_callback,
.negint32 = cbor_null_negint32_callback,
.negint64 = cbor_null_negint64_callback,
/* Type 2 - Byte strings */
.byte_string_start = cbor_null_byte_string_start_callback,
.byte_string = cbor_null_byte_string_callback,

/* Type 2 - Byte strings */
.byte_string_start = cbor_null_byte_string_start_callback,
.byte_string = cbor_null_byte_string_callback,
/* Type 3 - Strings */
.string_start = cbor_null_string_start_callback,
.string = cbor_null_string_callback,

/* Type 3 - Strings */
.string_start = cbor_null_string_start_callback,
.string = cbor_null_string_callback,
/* Type 4 - Arrays */
.indef_array_start = cbor_null_indef_array_start_callback,
.array_start = cbor_null_array_start_callback,

/* Type 4 - Arrays */
.indef_array_start = cbor_null_indef_array_start_callback,
.array_start = cbor_null_array_start_callback,
/* Type 5 - Maps */
.indef_map_start = cbor_null_indef_map_start_callback,
.map_start = cbor_null_map_start_callback,

/* Type 5 - Maps */
.indef_map_start = cbor_null_indef_map_start_callback,
.map_start = cbor_null_map_start_callback,
/* Type 6 - Tags */
.tag = cbor_null_tag_callback,

/* Type 6 - Tags */
.tag = cbor_null_tag_callback,
/* Type 7 - Floats & misc */
/* Type names cannot be member names */
.float2 = cbor_null_float2_callback,
/* 2B float is not supported in standard C */
.float4 = cbor_null_float4_callback,
.float8 = cbor_null_float8_callback,
.undefined = cbor_null_undefined_callback,
.null = cbor_null_null_callback,
.boolean = cbor_null_boolean_callback,

/* Type 7 - Floats & misc */
/* Type names cannot be member names */
.float2 = cbor_null_float2_callback,
/* 2B float is not supported in standard C */
.float4 = cbor_null_float4_callback,
.float8 = cbor_null_float8_callback,
.undefined = cbor_null_undefined_callback,
.null = cbor_null_null_callback,
.boolean = cbor_null_boolean_callback,

/* Shared indefinites */
.indef_break = cbor_null_indef_break_callback,
/* Shared indefinites */
.indef_break = cbor_null_indef_break_callback,
};
18 changes: 12 additions & 6 deletions src/cbor/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,17 @@ static const uint8_t cbor_major_version = CBOR_MAJOR_VERSION;
static const uint8_t cbor_minor_version = CBOR_MINOR_VERSION;
static const uint8_t cbor_patch_version = CBOR_PATCH_VERSION;

#define CBOR_VERSION \
TO_STR(CBOR_MAJOR_VERSION) \
"." TO_STR(CBOR_MINOR_VERSION) "." TO_STR(CBOR_PATCH_VERSION)
#define CBOR_VERSION \
_CBOR_TO_STR(CBOR_MAJOR_VERSION) \
"." _CBOR_TO_STR(CBOR_MINOR_VERSION) "." _CBOR_TO_STR(CBOR_PATCH_VERSION)
#define CBOR_HEX_VERSION \
((CBOR_MAJOR_VERSION << 16) | (CBOR_MINOR_VERSION << 8) | CBOR_PATCH_VERSION)

/* http://stackoverflow.com/questions/1644868/c-define-macro-for-debug-printing
*/
#ifdef DEBUG
#include <stdio.h>
#define debug_print(fmt, ...) \
#define _cbor_debug_print(fmt, ...) \
do { \
if (DEBUG) \
fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \
Expand All @@ -62,8 +62,14 @@ static const uint8_t cbor_patch_version = CBOR_PATCH_VERSION;
} while (0)
#endif

#define TO_STR_(x) #x
#define TO_STR(x) TO_STR_(x) /* enables proper double expansion */
#define _CBOR_TO_STR_(x) #x
#define _CBOR_TO_STR(x) _CBOR_TO_STR_(x) /* enables proper double expansion */

#ifdef __GNUC__
#define _CBOR_UNUSED(x) __attribute__((__unused__)) x
#else
#define _CBOR_UNUSED(x) x
#endif

// Macro to short-circuit builder functions when memory allocation fails
#define _CBOR_NOTNULL(cbor_item) \
Expand Down
12 changes: 6 additions & 6 deletions src/cbor/internal/builder_callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ void _cbor_builder_append(cbor_item_t *item,
cbor_array_push(ctx->stack->top->item, item);
ctx->stack->top->subitems--;
if (ctx->stack->top->subitems == 0) {
cbor_item_t *item = ctx->stack->top->item;
cbor_item_t *stack_item = ctx->stack->top->item;
_cbor_stack_pop(ctx->stack);
_cbor_builder_append(item, ctx);
_cbor_builder_append(stack_item, ctx);
}
cbor_decref(&item);
} else {
Expand All @@ -60,9 +60,9 @@ void _cbor_builder_append(cbor_item_t *item,
if (cbor_map_is_definite(ctx->stack->top->item)) {
ctx->stack->top->subitems--;
if (ctx->stack->top->subitems == 0) {
cbor_item_t *item = ctx->stack->top->item;
cbor_item_t *map_entry = ctx->stack->top->item;
_cbor_stack_pop(ctx->stack);
_cbor_builder_append(item, ctx);
_cbor_builder_append(map_entry, ctx);
}
} else {
ctx->stack->top->subitems ^=
Expand All @@ -74,9 +74,9 @@ void _cbor_builder_append(cbor_item_t *item,
assert(ctx->stack->top->subitems == 1);
cbor_tag_set_item(ctx->stack->top->item, item);
cbor_decref(&item); /* Give up on our reference */
cbor_item_t *item = ctx->stack->top->item;
cbor_item_t *tagged_item = ctx->stack->top->item;
_cbor_stack_pop(ctx->stack);
_cbor_builder_append(item, ctx);
_cbor_builder_append(tagged_item, ctx);
break;
}
default: {
Expand Down

0 comments on commit 6361ad5

Please sign in to comment.