diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2021-10-18 19:22:28 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2021-10-18 19:22:28 +0300 |
commit | 3d6d06827c2a84b5b3a22de5b546857b3c3991e1 (patch) | |
tree | 26959c55eebe15fc055ab2cf7b8f15369c0863da /profile.c | |
parent | d100c8c8db2edd4a06a90c238cddf2a224689409 (diff) | |
parent | 51181b9f13fe0b26135a448e2a5f3d4e4d82e151 (diff) | |
download | egawk-3d6d06827c2a84b5b3a22de5b546857b3c3991e1.tar.gz egawk-3d6d06827c2a84b5b3a22de5b546857b3c3991e1.tar.bz2 egawk-3d6d06827c2a84b5b3a22de5b546857b3c3991e1.zip |
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'profile.c')
-rw-r--r-- | profile.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -647,7 +647,7 @@ cleanup: { const char *fname; if (pc->opcode == Op_builtin) { - bool prepend_awk = (current_namespace != awk_namespace && strcmp(current_namespace, "awk") != 0); + bool prepend_awk = (current_namespace != awk_namespace && strcmp(current_namespace, awk_namespace) != 0); fname = getfname(pc->builtin, prepend_awk); } else fname = (pc + 1)->func_name; @@ -2098,7 +2098,7 @@ adjust_namespace(char *name, bool *malloced) // unadorned name from symbol table, add awk:: if not in awk:: n.s. if (strchr(name, ':') == NULL && current_namespace != awk_namespace && // can be equal if namespace never changed - strcmp(current_namespace, "awk") != 0 && + strcmp(current_namespace, awk_namespace) != 0 && ! is_all_upper(name)) { char *buf; size_t len = 5 + strlen(name) + 1; @@ -2113,7 +2113,8 @@ adjust_namespace(char *name, bool *malloced) // qualifed name, remove <ns>:: if in that n.s. size_t len = strlen(current_namespace); - if (strncmp(current_namespace, name, len) == 0) { + if (strncmp(current_namespace, name, len) == 0 && + name[len] == ':' && name[len+1] == ':') { char *ret = name + len + 2; return ret; |