summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1990-10-19 13:31:07 +0000
committerLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1990-10-19 13:31:07 +0000
commite5d73d7778736a8bd9f7f44aad5289ad2c783a16 (patch)
tree756f3b46679d7ac7f679ae75de0329852e1155b2 /util.c
parent20188a906a3fc8fea4839293454a6ca32aa362cc (diff)
downloadperl-e5d73d7778736a8bd9f7f44aad5289ad2c783a16.tar.gz
perl 3.0 patch #37 (combined patch)
I tried to take the strlen of an integer on systems without wait4() or waitpid(). For some reason this didn't work too well... In hash.c there was a call to dbm_nextkey() which needed to be ifdefed on old dbm systems. A pattern such as /foo.*bar$/ was wrongly optimized to do tail matching on "foo". This was a longstanding bug that was unmasked by patch 36. Some systems have some SYS V IPC but not all of it. Configure now figures this out. Patch 36 put the user's PATH in front of Configures, but to make it work right I needed to change all calls of loc to ./loc in Configure. $cryptlib needed to be mentioned in the Makefile. Apollo 10.3 and Sun 3.5 have some compilation problems, so I mentioned them in README. Cray has weird restrictions on setjmp locations--you can't say if (result = setjmp(...)) Random typos and cleanup.
Diffstat (limited to 'util.c')
-rw-r--r--util.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/util.c b/util.c
index 74df0fdac4..c1c7d5a01a 100644
--- a/util.c
+++ b/util.c
@@ -1,4 +1,4 @@
-/* $Header: util.c,v 3.0.1.8 90/10/16 11:26:57 lwall Locked $
+/* $Header: util.c,v 3.0.1.9 90/10/20 02:21:01 lwall Locked $
*
* Copyright (c) 1989, Larry Wall
*
@@ -6,6 +6,10 @@
* as specified in the README file that comes with the perl 3.0 kit.
*
* $Log: util.c,v $
+ * Revision 3.0.1.9 90/10/20 02:21:01 lwall
+ * patch37: tried to take strlen of integer on systems without wait4 or waitpid
+ * patch37: unreachable return eliminated
+ *
* Revision 3.0.1.8 90/10/16 11:26:57 lwall
* patch29: added waitpid
* patch29: various portability fixes
@@ -1341,10 +1345,10 @@ int flags;
#else
if (pid > 0) {
sprintf(spid, "%d", pid);
- str = hfetch(pidstatus,spid,strlen(pid),FALSE);
+ str = hfetch(pidstatus,spid,strlen(spid),FALSE);
if (str != &str_undef) {
*statusp = (int)str->str_u.str_useful;
- hdelete(pidstatus,spid,strlen(pid));
+ hdelete(pidstatus,spid,strlen(spid));
return pid;
}
}
@@ -1357,7 +1361,7 @@ int flags;
str = hiterval(entry);
*statusp = (int)str->str_u.str_useful;
sprintf(spid, "%d", pid);
- hdelete(pidstatus,spid,strlen(pid));
+ hdelete(pidstatus,spid,strlen(spid));
return pid;
}
}
@@ -1373,9 +1377,9 @@ int flags;
if (result < 0)
*statusp = -1;
}
+ return result;
#endif
#endif
- return result;
}
#endif /* !MSDOS */
@@ -1389,7 +1393,7 @@ int status;
char spid[16];
sprintf(spid, "%d", pid);
- str = hfetch(pidstatus,pid,strlen(pid),TRUE);
+ str = hfetch(pidstatus,spid,strlen(spid),TRUE);
str->str_u.str_useful = status;
#endif
return;