diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-12-09 13:15:10 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-12-09 13:15:10 +0100 |
commit | 7a994c9631c590d6a73c842fa5d2d3567b4771dd (patch) | |
tree | 228ade01f99ba217151a0ed20f29c5f3a5028619 /src/mds-kbdc/raw-data.c | |
parent | mds-kbdc: compile-layout: macro_call: fix bug: do not duplicate the arguments if there are none (diff) | |
parent | report an error, rather than causing failure the caller but not for the called function (diff) | |
download | mds-7a994c9631c590d6a73c842fa5d2d3567b4771dd.tar.gz mds-7a994c9631c590d6a73c842fa5d2d3567b4771dd.tar.bz2 mds-7a994c9631c590d6a73c842fa5d2d3567b4771dd.tar.xz |
merge track-errors and resolve conflict
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | src/mds-kbdc/raw-data.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/mds-kbdc/raw-data.c b/src/mds-kbdc/raw-data.c index 4a6a6ba..83e8b48 100644 --- a/src/mds-kbdc/raw-data.c +++ b/src/mds-kbdc/raw-data.c @@ -130,8 +130,8 @@ static char* read_file(const char* restrict pathname, size_t* restrict size) /* Read a chunk of the file. */ got = read(fd, content + buf_ptr, (buf_size - buf_ptr) * sizeof(char)); if ((got < 0) && (errno == EINTR)) continue; - else if (got < 0) goto pfail; - else if (got == 0) break; + if (got == 0) break; + fail_if (got < 0); buf_ptr += (size_t)got; } @@ -145,7 +145,7 @@ static char* read_file(const char* restrict pathname, size_t* restrict size) *size = buf_ptr; return content; - pfail: + fail: xperror(*argv); free(old); free(content); @@ -325,7 +325,7 @@ static char** line_split(char* content, size_t length) return lines; - pfail: + fail: xperror(*argv); return NULL; } @@ -370,7 +370,7 @@ static int expand(char** restrict content, size_t* restrict content_size) while (++col % 8); return 0; - pfail: + fail: return -1; } @@ -429,7 +429,7 @@ int read_source_lines(const char* restrict pathname, mds_kbdc_source_code_t* res source_code->line_count = line_count; return 0; - pfail: + fail: xperror(*argv); free(old); free(content); @@ -456,14 +456,15 @@ static char* encode_utf8(char* buffer, char32_t character) text[0] = character; text[1] = -1; - if (str_ = str = string_encode(text), str == NULL) - return NULL; + fail_if (str_ = str = string_encode(text), str == NULL); while (*str) *buffer++ = *str++; free(str_); return buffer; + fail: + return NULL; } @@ -489,8 +490,7 @@ char* parse_raw_string(const char* restrict string) * is not code point whose UTF-8 encoding is longer than its * hexadecimal representation. */ p = rc = malloc(strlen(string) * sizeof(char)); - if (rc == NULL) - return NULL; + fail_if (rc == NULL); while ((c = *string++)) if (r(escape == 8, '0', '7')) buf = (buf << 3) | (c & 15); @@ -519,7 +519,7 @@ char* parse_raw_string(const char* restrict string) *p = '\0'; return rc; - pfail: + fail: free(rc); return NULL; #undef r |