From a2c4d71c2e84419a49db503ed59de4d3d1dca7dd Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 12 Aug 2014 08:37:25 -0400 Subject: [PATCH 22/34] add __acl_ prefixes to internal symbols When static linking libacl, people sometimes run into symbol collisions because their own code defines symbols like "quote". So for acl internal symbols, use an __acl_ prefix. --- exports | 12 ++---------- include/misc.h | 8 ++++---- libacl/__acl_to_any_text.c | 4 ++-- libacl/acl_from_text.c | 4 ++-- libmisc/high_water_alloc.c | 2 +- libmisc/next_line.c | 6 +++--- libmisc/quote.c | 4 ++-- libmisc/unquote.c | 2 +- tools/getfacl.c | 4 ++-- tools/parse.c | 14 +++++++------- tools/setfacl.c | 4 ++-- 11 files changed, 28 insertions(+), 36 deletions(-) diff --git a/exports b/exports index 7d8e69e..bf15d84 100644 --- a/exports +++ b/exports @@ -59,22 +59,14 @@ ACL_1.0 { acl_to_any_text; local: - # Library internal stuff + # Library internal stuff __new_var_obj_p; __new_obj_p_here; __free_obj_p; __check_obj_p; __ext2int_and_check; - __acl_reorder_entry_obj_p; - __acl_reorder_obj_p; - __acl_init_obj; - __acl_create_entry_obj; - __acl_free_acl_obj; - __acl_to_any_text; + __acl_*; __apply_mask_to_mode; - - quote; - unquote; }; ACL_1.1 { diff --git a/include/misc.h b/include/misc.h index f5c0dae..24b65d2 100644 --- a/include/misc.h +++ b/include/misc.h @@ -29,12 +29,12 @@ # define hidden /* hidden */ #endif -hidden int high_water_alloc(void **buf, size_t *bufsize, size_t newsize); +hidden int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize); -hidden const char *quote(const char *str, const char *quote_chars); -hidden char *unquote(char *str); +hidden const char *__acl_quote(const char *str, const char *quote_chars); +hidden char *__acl_unquote(char *str); -hidden char *next_line(FILE *file); +hidden char *__acl_next_line(FILE *file); #ifdef ENABLE_NLS # include diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c index 1d10e81..de3925e 100644 --- a/libacl/__acl_to_any_text.c +++ b/libacl/__acl_to_any_text.c @@ -159,7 +159,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size, if (options & TEXT_NUMERIC_IDS) str = NULL; else - str = quote(user_name( + str = __acl_quote(user_name( entry_obj_p->eid.qid), ":, \t\n\r"); if (str != NULL) { strncpy(text_p, str, size); @@ -182,7 +182,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size, if (options & TEXT_NUMERIC_IDS) str = NULL; else - str = quote(group_name( + str = __acl_quote(group_name( entry_obj_p->eid.qid), ":, \t\n\r"); if (str != NULL) { strncpy(text_p, str, size); diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c index c08bd3b..83a4d21 100644 --- a/libacl/acl_from_text.c +++ b/libacl/acl_from_text.c @@ -212,7 +212,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p) str = get_token(text_p); if (str) { entry_obj.etag = ACL_USER; - error = get_uid(unquote(str), + error = get_uid(__acl_unquote(str), &entry_obj.eid.qid); free(str); if (error) { @@ -231,7 +231,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p) str = get_token(text_p); if (str) { entry_obj.etag = ACL_GROUP; - error = get_gid(unquote(str), + error = get_gid(__acl_unquote(str), &entry_obj.eid.qid); free(str); if (error) { diff --git a/libmisc/high_water_alloc.c b/libmisc/high_water_alloc.c index c127dc1..951f4bb 100644 --- a/libmisc/high_water_alloc.c +++ b/libmisc/high_water_alloc.c @@ -21,7 +21,7 @@ #include #include "misc.h" -int high_water_alloc(void **buf, size_t *bufsize, size_t newsize) +int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize) { #define CHUNK_SIZE 256 /* diff --git a/libmisc/next_line.c b/libmisc/next_line.c index 0566d7a..126a364 100644 --- a/libmisc/next_line.c +++ b/libmisc/next_line.c @@ -23,7 +23,7 @@ #define LINE_SIZE getpagesize() -char *next_line(FILE *file) +char *__acl_next_line(FILE *file) { static char *line; static size_t line_size; @@ -31,7 +31,7 @@ char *next_line(FILE *file) int eol = 0; if (!line) { - if (high_water_alloc((void **)&line, &line_size, LINE_SIZE)) + if (__acl_high_water_alloc((void **)&line, &line_size, LINE_SIZE)) return NULL; } c = line; @@ -47,7 +47,7 @@ char *next_line(FILE *file) if (feof(file)) break; if (!eol) { - if (high_water_alloc((void **)&line, &line_size, + if (__acl_high_water_alloc((void **)&line, &line_size, 2 * line_size)) return NULL; c = strrchr(line, '\0'); diff --git a/libmisc/quote.c b/libmisc/quote.c index bf8f9eb..a28800c 100644 --- a/libmisc/quote.c +++ b/libmisc/quote.c @@ -23,7 +23,7 @@ #include #include "misc.h" -const char *quote(const char *str, const char *quote_chars) +const char *__acl_quote(const char *str, const char *quote_chars) { static char *quoted_str; static size_t quoted_str_len; @@ -40,7 +40,7 @@ const char *quote(const char *str, const char *quote_chars) if (nonpr == 0) return str; - if (high_water_alloc((void **)"ed_str, "ed_str_len, + if (__acl_high_water_alloc((void **)"ed_str, "ed_str_len, (s - (unsigned char *)str) + nonpr * 3 + 1)) return NULL; for (s = (unsigned char *)str, q = quoted_str; *s != '\0'; s++) { diff --git a/libmisc/unquote.c b/libmisc/unquote.c index bffebf9..4f4ce7c 100644 --- a/libmisc/unquote.c +++ b/libmisc/unquote.c @@ -22,7 +22,7 @@ #include #include "misc.h" -char *unquote(char *str) +char *__acl_unquote(char *str) { unsigned char *s, *t; diff --git a/tools/getfacl.c b/tools/getfacl.c index 22cc1c7..679affa 100644 --- a/tools/getfacl.c +++ b/tools/getfacl.c @@ -89,7 +89,7 @@ int opt_numeric; /* don't convert id's to symbolic names */ static const char *xquote(const char *str, const char *quote_chars) { - const char *q = quote(str, quote_chars); + const char *q = __acl_quote(str, quote_chars); if (q == NULL) { fprintf(stderr, "%s: %s\n", progname, strerror(errno)); exit(1); @@ -717,7 +717,7 @@ int main(int argc, char *argv[]) do { if (optind == argc || strcmp(argv[optind], "-") == 0) { - while ((line = next_line(stdin)) != NULL) { + while ((line = __acl_next_line(stdin)) != NULL) { if (*line == '\0') continue; diff --git a/tools/parse.c b/tools/parse.c index df69c26..823bfeb 100644 --- a/tools/parse.c +++ b/tools/parse.c @@ -226,7 +226,7 @@ user_entry: str = get_token(text_p); if (str) { cmd->c_tag = ACL_USER; - error = get_uid(unquote(str), &cmd->c_id); + error = get_uid(__acl_unquote(str), &cmd->c_id); free(str); if (error) { *text_p = backup; @@ -245,7 +245,7 @@ user_entry: str = get_token(text_p); if (str) { cmd->c_tag = ACL_GROUP; - error = get_gid(unquote(str), &cmd->c_id); + error = get_gid(__acl_unquote(str), &cmd->c_id); free(str); if (error) { *text_p = backup; @@ -447,7 +447,7 @@ read_acl_comments( if (lineno) (*lineno)++; - line = next_line(file); + line = __acl_next_line(file); if (line == NULL) break; @@ -465,7 +465,7 @@ read_acl_comments( if (strncmp(cp, "file:", 5) == 0) { cp += 5; SKIP_WS(cp); - cp = unquote(cp); + cp = __acl_unquote(cp); if (path_p) { if (*path_p) @@ -482,7 +482,7 @@ read_acl_comments( if (uid_p) { if (*uid_p != ACL_UNDEFINED_ID) goto fail; - if (get_uid(unquote(cp), uid_p) != 0) + if (get_uid(__acl_unquote(cp), uid_p) != 0) continue; } } else if (strncmp(cp, "group:", 6) == 0) { @@ -492,7 +492,7 @@ read_acl_comments( if (gid_p) { if (*gid_p != ACL_UNDEFINED_ID) goto fail; - if (get_gid(unquote(cp), gid_p) != 0) + if (get_gid(__acl_unquote(cp), gid_p) != 0) continue; } } else if (strncmp(cp, "flags:", 6) == 0) { @@ -548,7 +548,7 @@ read_acl_seq( if (which) *which = -1; - while ((line = next_line(file))) { + while ((line = __acl_next_line(file))) { if (lineno) (*lineno)++; diff --git a/tools/setfacl.c b/tools/setfacl.c index b0ddedf..880bd1e 100644 --- a/tools/setfacl.c +++ b/tools/setfacl.c @@ -91,7 +91,7 @@ int promote_warning; static const char *xquote(const char *str, const char *quote_chars) { - const char *q = quote(str, quote_chars); + const char *q = __acl_quote(str, quote_chars); if (q == NULL) { fprintf(stderr, "%s: %s\n", progname, strerror(errno)); exit(1); @@ -310,7 +310,7 @@ int next_file(const char *arg, seq_t seq) args.seq = seq; if (strcmp(arg, "-") == 0) { - while ((line = next_line(stdin))) + while ((line = __acl_next_line(stdin))) errors = walk_tree(line, walk_flags, 0, do_set, &args); if (!feof(stdin)) { fprintf(stderr, _("%s: Standard input: %s\n"), -- 2.5.2