From 56213f42462dc91f4de5a509095dd8bfc4aeef84 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 7 Jan 2014 21:01:10 +0200 Subject: Make old extensions compile and work under Linux. --- ext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ext.c') diff --git a/ext.c b/ext.c index 9e17761a..60765e07 100644 --- a/ext.c +++ b/ext.c @@ -174,9 +174,9 @@ load_old_ext(SRCFILE *s, const char *init_func, const char *fini_func, NODE *obj fatal(_("`extension' is a gawk extension")); if (lib_name == NULL) - fatal(_("load_ext: received NULL lib_name")); + fatal(_("extension: received NULL lib_name")); - if ((dl = dlopen(s->fullpath, flags)) == NULL) + if ((dl = dlopen(lib_name, flags)) == NULL) fatal(_("extension: cannot open library `%s' (%s)"), lib_name, dlerror()); -- cgit v1.2.3 From 6c09c80378028858d439158d923f94a72d30efc6 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 12 Jan 2014 20:22:55 +0200 Subject: Minor improvements in a few files. --- ext.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'ext.c') diff --git a/ext.c b/ext.c index 60765e07..cae882ff 100644 --- a/ext.c +++ b/ext.c @@ -7,7 +7,7 @@ */ /* - * Copyright (C) 1995 - 2001, 2003-2013 the Free Software Foundation, Inc. + * Copyright (C) 1995 - 2001, 2003-2014 the Free Software Foundation, Inc. * * This file is part of GAWK, the GNU implementation of the * AWK Programming Language. @@ -223,9 +223,7 @@ make_builtin(const awk_ext_func_t *funcinfo) if (! is_letter(*sp)) return false; - sp++; - - while ((c = *sp++) != '\0') { + for (sp++; (c = *sp++) != '\0';) { if (! is_identifier_char(c)) return false; } @@ -277,9 +275,11 @@ make_old_builtin(const char *name, NODE *(*func)(int), int count) /* temporary * if (sp == NULL || *sp == '\0') fatal(_("extension: missing function name")); - while ((c = *sp++) != '\0') { - if ((sp == & name[1] && c != '_' && ! isalpha((unsigned char) c)) - || (sp > &name[1] && ! is_identifier_char((unsigned char) c))) + if (! is_letter(*sp)) + fatal(_("extension: illegal character `%c' in function name `%s'"), *sp, name); + + for (sp++; (c = *sp++) != '\0';) { + if (! is_identifier_char(c)) fatal(_("extension: illegal character `%c' in function name `%s'"), c, name); } @@ -312,6 +312,7 @@ make_old_builtin(const char *name, NODE *(*func)(int), int count) /* temporary * symbol = install_symbol(estrdup(name, strlen(name)), Node_old_ext_func); symbol->code_ptr = b; + track_ext_func(name); } -- cgit v1.2.3 From a76a789747458e3690e44ee81332099a3f80c156 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 5 Mar 2014 06:00:03 +0200 Subject: Continue to straighten out enum usage. --- ext.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ext.c') diff --git a/ext.c b/ext.c index cae882ff..09e10164 100644 --- a/ext.c +++ b/ext.c @@ -221,11 +221,11 @@ make_builtin(const awk_ext_func_t *funcinfo) fatal(_("make_builtin: missing function name")); if (! is_letter(*sp)) - return false; + return awk_false; for (sp++; (c = *sp++) != '\0';) { if (! is_identifier_char(c)) - return false; + return awk_false; } f = lookup(name); @@ -238,7 +238,7 @@ make_builtin(const awk_ext_func_t *funcinfo) /* multiple extension() calls etc. */ if (do_lint) lintwarn(_("make_builtin: function `%s' already defined"), name); - return false; + return awk_false; } else /* variable name etc. */ fatal(_("make_builtin: function name `%s' previously defined"), name); @@ -258,7 +258,7 @@ make_builtin(const awk_ext_func_t *funcinfo) symbol = install_symbol(estrdup(name, strlen(name)), Node_ext_func); symbol->code_ptr = b; track_ext_func(name); - return true; + return awk_true; } /* make_old_builtin --- register name to be called as func with a builtin body */ -- cgit v1.2.3