diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:26 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:26 -0400 |
commit | aa23de50eb7c81a3e8f94769c5288aecfeb52b4c (patch) | |
tree | 948ac542b0ba014af663d8dc782ac8f0a8494211 | |
parent | d6d6a4ac9c6eb33a71595fd596b9a8f2db6444b7 (diff) | |
download | egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.tar.gz egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.tar.bz2 egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.zip |
Minor extension fixes.
-rw-r--r-- | extension/ChangeLog | 6 | ||||
-rw-r--r-- | extension/fork.c | 8 | ||||
-rw-r--r-- | extension/readfile.c | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index dc017d30..287ce309 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,9 @@ +2012-04-02 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * fork.c (do_fork): Test whether PROCINFO_node exists before updating + the pid values. And do so properly using make_number. + * readfile.c (do_readfile): Function should be static. + 2012-04-01 Andrew J. Schorr <aschorr@telemetry-investments.com> * filefuncs.c (do_chdir, do_stat): Replace update_ERRNO() with diff --git a/extension/fork.c b/extension/fork.c index 8b8558e6..7d6ab362 100644 --- a/extension/fork.c +++ b/extension/fork.c @@ -45,15 +45,17 @@ do_fork(int nargs) if (ret < 0) update_ERRNO_int(errno); - else if (ret == 0) { + else if (ret == 0 && PROCINFO_node != NULL) { /* update PROCINFO in the child */ aptr = assoc_lookup(PROCINFO_node, tmp = make_string("pid", 3)); - (*aptr)->numbr = (AWKNUM) getpid(); + unref(*aptr); + *aptr = make_number((AWKNUM) getpid()); unref(tmp); aptr = assoc_lookup(PROCINFO_node, tmp = make_string("ppid", 4)); - (*aptr)->numbr = (AWKNUM) getppid(); + unref(*aptr); + *aptr = make_number((AWKNUM) getppid()); unref(tmp); } diff --git a/extension/readfile.c b/extension/readfile.c index 9c18601d..57cf6cdd 100644 --- a/extension/readfile.c +++ b/extension/readfile.c @@ -41,7 +41,7 @@ int plugin_is_GPL_compatible; /* do_readfile --- read a file into memory */ -NODE * +static NODE * do_readfile(int nargs) { NODE *filename; |