diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2011-07-26 06:05:42 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2011-07-26 06:05:42 +0300 |
commit | 452f4efefd5511bc7dbe95b0167b10b403cdcf45 (patch) | |
tree | a0c957508537e36bb1449485d2d0881061750174 /main.c | |
parent | fc02808c31a55f1559143ad9d8ad50e2f71a512b (diff) | |
download | egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.gz egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.bz2 egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.zip |
Fix gsub and getline pass by reference. Add tests.
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1127,6 +1127,26 @@ is_std_var(const char *var) return FALSE; } + +/* get_spec_varname --- return the name of a special variable + with the given assign or update routine. +*/ + +const char * +get_spec_varname(Func_ptr fptr) +{ + const struct varinit *vp; + + if (! fptr) + return NULL; + for (vp = varinit; vp->name != NULL; vp++) { + if (vp->assign == fptr || vp->update == fptr) + return vp->name; + } + return NULL; +} + + /* arg_assign --- process a command-line assignment */ int |