From 02ee9966d6e890bba7637dbffc761859ae90d186 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 5 Oct 2013 08:58:47 +0200 Subject: fix uclibc compile,patch from alpinelinux --- package/git/patches/git-uclibc.patch | 108 +++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 package/git/patches/git-uclibc.patch (limited to 'package/git/patches') diff --git a/package/git/patches/git-uclibc.patch b/package/git/patches/git-uclibc.patch new file mode 100644 index 000000000..887db6ec1 --- /dev/null +++ b/package/git/patches/git-uclibc.patch @@ -0,0 +1,108 @@ +From 59c678a754227ca1fb44541cdfe39bbe052be195 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 27 Aug 2013 07:57:12 +0000 +Subject: [PATCH] config: add _cb suffix to callback functions + +Commit 4d8dd1494e9f3af2e9738edaca40ada096f7bf10 introduced a build +regression on uClibc which defines fgetc as macro. To work around that +we add a _cb suffix to the callback functions. + +Signed-off-by: Natanael Copa +--- + config.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/config.c b/config.c +index e13a7b6..aa80078 100644 +--- a/config.c ++++ b/config.c +@@ -27,9 +27,9 @@ struct config_source { + struct strbuf value; + struct strbuf var; + +- int (*fgetc)(struct config_source *c); +- int (*ungetc)(int c, struct config_source *conf); +- long (*ftell)(struct config_source *c); ++ int (*fgetc_cb)(struct config_source *c); ++ int (*ungetc_cb)(int c, struct config_source *conf); ++ long (*ftell_cb)(struct config_source *c); + }; + + static struct config_source *cf; +@@ -217,13 +217,13 @@ int git_config_from_parameters(config_fn_t fn, void *data) + + static int get_next_char(void) + { +- int c = cf->fgetc(cf); ++ int c = cf->fgetc_cb(cf); + + if (c == '\r') { + /* DOS like systems */ +- c = cf->fgetc(cf); ++ c = cf->fgetc_cb(cf); + if (c != '\n') { +- cf->ungetc(c, cf); ++ cf->ungetc_cb(c, cf); + c = '\r'; + } + } +@@ -992,9 +992,9 @@ int git_config_from_file(config_fn_t fn, const char *filename, void *data) + top.u.file = f; + top.name = filename; + top.die_on_error = 1; +- top.fgetc = config_file_fgetc; +- top.ungetc = config_file_ungetc; +- top.ftell = config_file_ftell; ++ top.fgetc_cb = config_file_fgetc; ++ top.ungetc_cb = config_file_ungetc; ++ top.ftell_cb = config_file_ftell; + + ret = do_config_from(&top, fn, data); + +@@ -1013,9 +1013,9 @@ int git_config_from_buf(config_fn_t fn, const char *name, const char *buf, + top.u.buf.pos = 0; + top.name = name; + top.die_on_error = 0; +- top.fgetc = config_buf_fgetc; +- top.ungetc = config_buf_ungetc; +- top.ftell = config_buf_ftell; ++ top.fgetc_cb = config_buf_fgetc; ++ top.ungetc_cb = config_buf_ungetc; ++ top.ftell_cb = config_buf_ftell; + + return do_config_from(&top, fn, data); + } +@@ -1196,7 +1196,7 @@ static int store_aux(const char *key, const char *value, void *cb) + return 1; + } + +- store.offset[store.seen] = cf->ftell(cf); ++ store.offset[store.seen] = cf->ftell_cb(cf); + store.seen++; + } + break; +@@ -1223,19 +1223,19 @@ static int store_aux(const char *key, const char *value, void *cb) + * Do not increment matches: this is no match, but we + * just made sure we are in the desired section. + */ +- store.offset[store.seen] = cf->ftell(cf); ++ store.offset[store.seen] = cf->ftell_cb(cf); + /* fallthru */ + case SECTION_END_SEEN: + case START: + if (matches(key, value)) { +- store.offset[store.seen] = cf->ftell(cf); ++ store.offset[store.seen] = cf->ftell_cb(cf); + store.state = KEY_SEEN; + store.seen++; + } else { + if (strrchr(key, '.') - key == store.baselen && + !strncmp(key, store.key, store.baselen)) { + store.state = SECTION_SEEN; +- store.offset[store.seen] = cf->ftell(cf); ++ store.offset[store.seen] = cf->ftell_cb(cf); + } + } + } +-- +1.8.3.4 -- cgit v1.2.3