projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix xfree() so it can be re-written as a macro
[unix-history]
/
usr
/
src
/
bin
/
csh
/
misc.c
diff --git
a/usr/src/bin/csh/misc.c
b/usr/src/bin/csh/misc.c
index
fdb2eaa
..
e8398f9
100644
(file)
--- a/
usr/src/bin/csh/misc.c
+++ b/
usr/src/bin/csh/misc.c
@@
-6,12
+6,22
@@
*/
#ifndef lint
*/
#ifndef lint
-static char sccsid[] = "@(#)misc.c 5.
8
(Berkeley) %G%";
+static char sccsid[] = "@(#)misc.c 5.
15
(Berkeley) %G%";
#endif /* not lint */
#endif /* not lint */
-#include "sh.h"
+#include <sys/param.h>
+#include <stdlib.h>
+#include <unistd.h>
+#if __STDC__
+# include <stdarg.h>
+#else
+# include <varargs.h>
+#endif
+
+#include "csh.h"
+#include "extern.h"
-static int
renum(
);
+static int
renum __P((int, int)
);
int
any(s, c)
int
any(s, c)
@@
-44,7
+54,7
@@
strsave(s)
char *n;
register char *p;
char *n;
register char *p;
- if (s ==
0
)
+ if (s ==
NULL
)
s = "";
for (p = s; *p++;);
n = p = (char *) xmalloc((size_t) ((p - s) * sizeof(char)));
s = "";
for (p = s; *p++;);
n = p = (char *) xmalloc((size_t) ((p - s) * sizeof(char)));
@@
-64,14
+74,15
@@
blkend(up)
void
void
-blkpr(av)
+blkpr(fp, av)
+ FILE *fp;
register Char **av;
{
for (; *av; av++) {
register Char **av;
{
for (; *av; av++) {
-
xprintf(
"%s", short2str(*av));
+
(void) fprintf(fp,
"%s", short2str(*av));
if (av[1])
if (av[1])
-
xprintf(
" ");
+
(void) fprintf(fp,
" ");
}
}
}
}
@@
-147,7
+158,7
@@
strstr(s, t)
return (s);
while (*ss++ == *tt++);
} while (*s++ != '\0');
return (s);
while (*ss++ == *tt++);
} while (*s++ != '\0');
- return (
(char *) 0
);
+ return (
NULL
);
}
#endif /* NOTUSED */
}
#endif /* NOTUSED */
@@
-210,7
+221,7
@@
closem()
register int f;
for (f = 0; f < NOFILE; f++)
register int f;
for (f = 0; f < NOFILE; f++)
- if (f != SHIN && f != SHOUT && f != SH
DIAG
&& f != OLDSTD &&
+ if (f != SHIN && f != SHOUT && f != SH
ERR
&& f != OLDSTD &&
f != FSHTTY)
(void) close(f);
}
f != FSHTTY)
(void) close(f);
}
@@
-218,10
+229,10
@@
closem()
void
donefds()
{
void
donefds()
{
-
(void) close(0);
(void) close(1);
(void) close(2);
(void) close(0);
(void) close(1);
(void) close(2);
+
didfds = 0;
}
didfds = 0;
}
@@
-239,6
+250,8
@@
dmove(i, j)
return (i);
if (j >= 0) {
(void) dup2(i, j);
return (i);
if (j >= 0) {
(void) dup2(i, j);
+ if (j != i)
+ (void) close(i);
return (j);
}
j = dcopy(i, j);
return (j);
}
j = dcopy(i, j);
@@
-290,10
+303,10
@@
lshift(v, c)
register Char **v;
register int c;
{
register Char **v;
register int c;
{
- register Char **u
= v
;
+ register Char **u;
-
while (*u && --c >= 0
)
- xfree((ptr_t) *
u++
);
+
for (u = v; *u && --c >= 0; u++
)
+ xfree((ptr_t) *
u
);
(void) blkcpy(v, u);
}
(void) blkcpy(v, u);
}