From 0174ed6e0abc4b9316a91d32163f2507a31d29fb Mon Sep 17 00:00:00 2001 From: Kirill Simonov Date: Sun, 7 Jan 2007 22:51:10 +0000 Subject: Add win32 fixes and project files for VC6. --- src/api.c | 29 ++++++++++++++++------------- src/emitter.c | 4 ++-- src/loader.c | 5 +++-- src/reader.c | 5 +++-- src/scanner.c | 25 +++++++++++++------------ src/writer.c | 2 +- 6 files changed, 38 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/api.c b/src/api.c index a1fdf6b..f5d5cd2 100644 --- a/src/api.c +++ b/src/api.c @@ -74,7 +74,7 @@ YAML_DECLARE(int) yaml_string_extend(yaml_char_t **start, yaml_char_t **pointer, yaml_char_t **end) { - void *new_start = yaml_realloc(*start, (*end - *start)*2); + yaml_char_t *new_start = yaml_realloc(*start, (*end - *start)*2); if (!new_start) return 0; @@ -117,12 +117,12 @@ yaml_string_join( YAML_DECLARE(int) yaml_stack_extend(void **start, void **top, void **end) { - void *new_start = yaml_realloc(*start, (*end - *start)*2); + void *new_start = yaml_realloc(*start, ((char *)*end - (char *)*start)*2); if (!new_start) return 0; - *top = new_start + (*top - *start); - *end = new_start + (*end - *start)*2; + *top = (char *)new_start + ((char *)*top - (char *)*start); + *end = (char *)new_start + ((char *)*end - (char *)*start)*2; *start = new_start; return 1; @@ -138,13 +138,14 @@ yaml_queue_extend(void **start, void **head, void **tail, void **end) /* Check if we need to resize the queue. */ if (*start == *head && *tail == *end) { - void *new_start = yaml_realloc(*start, (*end - *start)*2); + void *new_start = yaml_realloc(*start, + ((char *)*end - (char *)*start)*2); if (!new_start) return 0; - *head = new_start + (*head - *start); - *tail = new_start + (*tail - *start); - *end = new_start + (*end - *start)*2; + *head = (char *)new_start + ((char *)*head - (char *)*start); + *tail = (char *)new_start + ((char *)*tail - (char *)*start); + *end = (char *)new_start + ((char *)*end - (char *)*start)*2; *start = new_start; } @@ -152,9 +153,9 @@ yaml_queue_extend(void **start, void **head, void **tail, void **end) if (*tail == *end) { if (*head != *tail) { - memmove(*start, *head, *tail - *head); + memmove(*start, *head, (char *)*tail - (char *)*head); } - *tail -= *head - *start; + *tail = (char *)*tail - (char *)*head + (char *)*start; *head = *start; } @@ -249,7 +250,8 @@ yaml_string_read_handler(void *data, unsigned char *buffer, size_t size, return 1; } - if (size > (parser->input.string.end - parser->input.string.current)) { + if (size > (size_t)(parser->input.string.end + - parser->input.string.current)) { size = parser->input.string.end - parser->input.string.current; } @@ -624,7 +626,7 @@ yaml_check_utf8(yaml_char_t *start, size_t length) unsigned char octet; unsigned int width; unsigned int value; - int k; + size_t k; octet = pointer[0]; width = (octet & 0x80) == 0x00 ? 1 : @@ -1116,7 +1118,7 @@ yaml_document_delete(yaml_document_t *document) { struct { yaml_error_type_t error; - } context; + } context = { YAML_NO_ERROR }; yaml_tag_directive_t *tag_directive; assert(document); /* Non-NULL document object is expected. */ @@ -1381,3 +1383,4 @@ yaml_document_append_mapping_pair(yaml_document_t *document, return 1; } + diff --git a/src/emitter.c b/src/emitter.c index 0affaab..49b910a 100644 --- a/src/emitter.c +++ b/src/emitter.c @@ -1419,7 +1419,7 @@ yaml_emitter_analyze_tag(yaml_emitter_t *emitter, for (tag_directive = emitter->tag_directives.start; tag_directive != emitter->tag_directives.top; tag_directive ++) { size_t prefix_length = strlen((char *)tag_directive->prefix); - if (prefix_length < (string.end - string.start) + if (prefix_length < (size_t)(string.end - string.start) && strncmp((char *)tag_directive->prefix, (char *)string.start, prefix_length) == 0) { @@ -2026,7 +2026,7 @@ yaml_emitter_write_double_quoted_scalar(yaml_emitter_t *emitter, unsigned char octet; unsigned int width; unsigned int value; - int k; + size_t k; octet = string.pointer[0]; width = (octet & 0x80) == 0x00 ? 1 : diff --git a/src/loader.c b/src/loader.c index 7ee0dbd..f69d18b 100644 --- a/src/loader.c +++ b/src/loader.c @@ -225,12 +225,13 @@ static int yaml_parser_register_anchor(yaml_parser_t *parser, int index, yaml_char_t *anchor) { - yaml_alias_data_t data = { anchor, index, - parser->document->nodes.start[index-1].start_mark }; + yaml_alias_data_t data = { anchor, index, { 0, 0, 0 } }; yaml_alias_data_t *alias_data; if (!anchor) return 1; + data.mark = parser->document->nodes.start[index-1].start_mark; + for (alias_data = parser->aliases.start; alias_data != parser->aliases.top; alias_data ++) { if (strcmp((char *)alias_data->anchor, (char *)anchor) == 0) { diff --git a/src/reader.c b/src/reader.c index ea189c2..e47d2f2 100644 --- a/src/reader.c +++ b/src/reader.c @@ -190,8 +190,9 @@ yaml_parser_update_buffer(yaml_parser_t *parser, size_t length) int incomplete = 0; unsigned char octet; unsigned int width = 0; - int k, low, high; - int raw_unread = parser->raw_buffer.last - parser->raw_buffer.pointer; + int low, high; + size_t k; + size_t raw_unread = parser->raw_buffer.last - parser->raw_buffer.pointer; /* Decode the next character. */ diff --git a/src/scanner.c b/src/scanner.c index b190c7e..f77e86a 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -1103,7 +1103,7 @@ yaml_parser_save_simple_key(yaml_parser_t *parser) */ int required = (!parser->flow_level - && parser->indent == parser->mark.column); + && parser->indent == (int)parser->mark.column); /* * A simple key is required only when it is the first token in the current @@ -1120,7 +1120,8 @@ yaml_parser_save_simple_key(yaml_parser_t *parser) { yaml_simple_key_t simple_key = { 1, required, parser->tokens_parsed + parser->tokens.tail - parser->tokens.head, - parser->mark }; + { 0, 0, 0 } }; + simple_key.mark = parser->mark; if (!yaml_parser_remove_simple_key(parser)) return 0; @@ -2569,7 +2570,7 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, /* Resize the string to include the head. */ - while (string.end - string.start <= length) { + while (string.end - string.start <= (int)length) { if (!yaml_string_extend(&string.start, &string.pointer, &string.end)) { parser->error = YAML_MEMORY_ERROR; goto error; @@ -2851,7 +2852,7 @@ yaml_parser_scan_block_scalar(yaml_parser_t *parser, yaml_token_t *token, if (!CACHE(parser, 1)) goto error; - while (parser->mark.column == indent && !IS_Z(parser->buffer)) + while ((int)parser->mark.column == indent && !IS_Z(parser->buffer)) { /* * We are at the beginning of a non-empty line. @@ -2958,18 +2959,18 @@ yaml_parser_scan_block_scalar_breaks(yaml_parser_t *parser, if (!CACHE(parser, 1)) return 0; - while ((!*indent || parser->mark.column < *indent) + while ((!*indent || (int)parser->mark.column < *indent) && IS_SPACE(parser->buffer)) { SKIP(parser); if (!CACHE(parser, 1)) return 0; } - if (parser->mark.column > max_indent) - max_indent = parser->mark.column; + if ((int)parser->mark.column > max_indent) + max_indent = (int)parser->mark.column; /* Check for a tab character messing the intendation. */ - if ((!*indent || parser->mark.column < *indent) + if ((!*indent || (int)parser->mark.column < *indent) && IS_TAB(parser->buffer)) { return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", start_mark, "found a tab character where an intendation space is expected"); @@ -3098,7 +3099,7 @@ yaml_parser_scan_flow_scalar(yaml_parser_t *parser, yaml_token_t *token, else if (!single && CHECK(parser->buffer, '\\')) { - int code_length = 0; + size_t code_length = 0; if (!STRING_EXTEND(parser, string)) goto error; @@ -3207,7 +3208,7 @@ yaml_parser_scan_flow_scalar(yaml_parser_t *parser, yaml_token_t *token, if (code_length) { unsigned int value = 0; - int k; + size_t k; /* Scan the character value. */ @@ -3495,7 +3496,7 @@ yaml_parser_scan_plain_scalar(yaml_parser_t *parser, yaml_token_t *token) { /* Check for tab character that abuse intendation. */ - if (leading_blanks && parser->mark.column < indent + if (leading_blanks && (int)parser->mark.column < indent && IS_TAB(parser->buffer)) { yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", start_mark, "found a tab character that violate intendation"); @@ -3533,7 +3534,7 @@ yaml_parser_scan_plain_scalar(yaml_parser_t *parser, yaml_token_t *token) /* Check intendation level. */ - if (!parser->flow_level && parser->mark.column < indent) + if (!parser->flow_level && (int)parser->mark.column < indent) break; } diff --git a/src/writer.c b/src/writer.c index ec0e477..513d9ac 100644 --- a/src/writer.c +++ b/src/writer.c @@ -72,7 +72,7 @@ yaml_emitter_flush(yaml_emitter_t *emitter) unsigned char octet; unsigned int width; unsigned int value; - int k; + size_t k; /* * See the "reader.c" code for more details on UTF-8 encoding. Note -- cgit v1.2.1