(anything *)0 -> NULL
This commit is contained in:
parent
cbeac44097
commit
d5ff21ea1d
40
c_ksh.c
40
c_ksh.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/c_ksh.c,v 2.4 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/c_ksh.c,v 2.5 2004/12/18 19:22:28 tg Exp $ */
|
||||
/* $OpenBSD: c_ksh.c,v 1.18 2004/02/10 13:03:36 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -13,7 +13,7 @@
|
|||
#include <sys/cygwin.h>
|
||||
#endif /* __CYGWIN__ */
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_ksh.c,v 2.4 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_ksh.c,v 2.5 2004/12/18 19:22:28 tg Exp $");
|
||||
|
||||
int
|
||||
c_cd(char **wp)
|
||||
|
@ -82,7 +82,7 @@ c_cd(char **wp)
|
|||
* we could try to find another substitution. For now
|
||||
* we don't
|
||||
*/
|
||||
if ((cp = strstr(current_wd, wp[0])) == (char *) 0) {
|
||||
if ((cp = strstr(current_wd, wp[0])) == NULL) {
|
||||
bi_errorf("bad substitution");
|
||||
return 1;
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ c_cd(char **wp)
|
|||
/* xp will have a bogus value after make_path() - set it to 0
|
||||
* so that if it's used, it will cause a dump
|
||||
*/
|
||||
xp = (char *) 0;
|
||||
xp = NULL;
|
||||
|
||||
cdpath = str_val(global("CDPATH"));
|
||||
do {
|
||||
|
@ -118,7 +118,7 @@ c_cd(char **wp)
|
|||
simplify_path(Xstring(xs, xp));
|
||||
rval = chdir(try = Xstring(xs, xp));
|
||||
}
|
||||
} while (rval < 0 && cdpath != (char *) 0);
|
||||
} while (rval < 0 && cdpath != NULL);
|
||||
|
||||
if (rval < 0) {
|
||||
if (cdnode)
|
||||
|
@ -139,7 +139,7 @@ c_cd(char **wp)
|
|||
setstr(oldpwd_s, current_wd, KSH_RETURN_ERROR);
|
||||
|
||||
if (!ISABSPATH(Xstring(xs, xp))) {
|
||||
pwd = (char *) 0;
|
||||
pwd = NULL;
|
||||
} else
|
||||
#ifdef S_ISLNK
|
||||
if (!physical || !(pwd = get_phys_path(Xstring(xs, xp))))
|
||||
|
@ -194,14 +194,14 @@ c_pwd(char **wp)
|
|||
}
|
||||
#ifdef S_ISLNK
|
||||
p = current_wd[0] ? (physical ? get_phys_path(current_wd) : current_wd)
|
||||
: (char *) 0;
|
||||
: NULL;
|
||||
#else /* S_ISLNK */
|
||||
p = current_wd[0] ? current_wd : (char *) 0;
|
||||
p = current_wd[0] ? current_wd : NULL;
|
||||
#endif /* S_ISLNK */
|
||||
if (p && eaccess(p, R_OK) < 0)
|
||||
p = (char *) 0;
|
||||
p = NULL;
|
||||
if (!p) {
|
||||
p = ksh_get_wd((char *) 0, 0);
|
||||
p = ksh_get_wd(NULL, 0);
|
||||
if (!p) {
|
||||
bi_errorf("can't get current directory - %s",
|
||||
strerror(errno));
|
||||
|
@ -563,7 +563,7 @@ c_typeset(char **wp)
|
|||
break;
|
||||
}
|
||||
|
||||
fieldstr = basestr = (char *) 0;
|
||||
fieldstr = basestr = NULL;
|
||||
builtin_opt.flags |= GF_PLUSOPT;
|
||||
/* at&t ksh seems to have 0-9 as options, which are multiplied
|
||||
* to get a number that is used with -L, -R, -Z or -i (eg, -1R2
|
||||
|
@ -879,7 +879,7 @@ c_alias(char **wp)
|
|||
/* "hash -r" means reset all the tracked aliases.. */
|
||||
if (rflag) {
|
||||
static const char *const args[] = {
|
||||
"unalias", "-ta", (const char *) 0
|
||||
"unalias", "-ta", NULL
|
||||
};
|
||||
|
||||
if (!tflag || *wp) {
|
||||
|
@ -944,7 +944,7 @@ c_alias(char **wp)
|
|||
afree((void*)ap->val.s, APERM);
|
||||
}
|
||||
/* ignore values for -t (at&t ksh does this) */
|
||||
newval = tflag ? search(alias, path, X_OK, (int *) 0)
|
||||
newval = tflag ? search(alias, path, X_OK, NULL)
|
||||
: val;
|
||||
if (newval) {
|
||||
ap->val.s = str_save(newval, APERM);
|
||||
|
@ -1022,7 +1022,7 @@ c_let(char **wp)
|
|||
int rv = 1;
|
||||
long val;
|
||||
|
||||
if (wp[1] == (char *) 0) /* at&t ksh does this */
|
||||
if (wp[1] == NULL) /* at&t ksh does this */
|
||||
bi_errorf("no arguments");
|
||||
else
|
||||
for (wp++; *wp; wp++)
|
||||
|
@ -1061,7 +1061,7 @@ c_jobs(char **wp)
|
|||
}
|
||||
wp += builtin_opt.optind;
|
||||
if (!*wp) {
|
||||
if (j_jobs((char *) 0, flag, nflag))
|
||||
if (j_jobs(NULL, flag, nflag))
|
||||
rv = 1;
|
||||
} else {
|
||||
for (; *wp; wp++)
|
||||
|
@ -1127,7 +1127,7 @@ kill_fmt_entry(void *arg, int i, char *buf, int buflen)
|
|||
int
|
||||
c_kill(char **wp)
|
||||
{
|
||||
Trap *t = (Trap *) 0;
|
||||
Trap *t = NULL;
|
||||
char *p;
|
||||
int lflag = 0;
|
||||
int i, n, rv, sig;
|
||||
|
@ -1274,12 +1274,12 @@ c_getopts(char **wp)
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (e->loc->next == (struct block *) 0) {
|
||||
if (e->loc->next == NULL) {
|
||||
internal_errorf(0, "c_getopts: no argv");
|
||||
return 1;
|
||||
}
|
||||
/* Which arguments are we parsing... */
|
||||
if (*wp == (char *) 0)
|
||||
if (*wp == NULL)
|
||||
wp = e->loc->next->argv;
|
||||
else
|
||||
*--wp = e->loc->next->argv[0];
|
||||
|
@ -1295,7 +1295,7 @@ c_getopts(char **wp)
|
|||
return 1;
|
||||
}
|
||||
|
||||
user_opt.optarg = (char *) 0;
|
||||
user_opt.optarg = NULL;
|
||||
optc = ksh_getopt(wp, &user_opt, options);
|
||||
|
||||
if (optc >= 0 && optc != '?' && (user_opt.info & GI_PLUS)) {
|
||||
|
@ -1323,7 +1323,7 @@ c_getopts(char **wp)
|
|||
/* Paranoia: ensure no bizarre results. */
|
||||
if (voptarg->flag & INTEGER)
|
||||
typeset("OPTARG", 0, INTEGER, 0, 0);
|
||||
if (user_opt.optarg == (char *) 0)
|
||||
if (user_opt.optarg == NULL)
|
||||
unset(voptarg, 0);
|
||||
else
|
||||
/* This can't fail (have cleared readonly/integer) */
|
||||
|
|
14
c_sh.c
14
c_sh.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/c_sh.c,v 2.4 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/c_sh.c,v 2.5 2004/12/18 19:22:28 tg Exp $ */
|
||||
/* $OpenBSD: c_sh.c,v 1.17 2003/03/13 09:03:07 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -10,7 +10,7 @@
|
|||
#include "ksh_time.h"
|
||||
#include "ksh_times.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_sh.c,v 2.4 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_sh.c,v 2.5 2004/12/18 19:22:28 tg Exp $");
|
||||
|
||||
static char *clocktos(clock_t t);
|
||||
|
||||
|
@ -200,7 +200,7 @@ c_dot(char **wp)
|
|||
;
|
||||
} else {
|
||||
argc = 0;
|
||||
argv = (char **) 0;
|
||||
argv = NULL;
|
||||
}
|
||||
i = include(file, argc, argv, 0);
|
||||
if (i < 0) { /* should not happen */
|
||||
|
@ -219,8 +219,8 @@ c_wait(char **wp)
|
|||
if (ksh_getopt(wp, &builtin_opt, null) == '?')
|
||||
return 1;
|
||||
wp += builtin_opt.optind;
|
||||
if (*wp == (char *) 0) {
|
||||
while (waitfor((char *) 0, &sig) >= 0)
|
||||
if (*wp == NULL) {
|
||||
while (waitfor(NULL, &sig) >= 0)
|
||||
;
|
||||
rv = sig;
|
||||
} else {
|
||||
|
@ -348,7 +348,7 @@ c_read(char **wp)
|
|||
/* set prompt in case this is
|
||||
* called from .profile or $ENV
|
||||
*/
|
||||
set_prompt(PS2, (Source *) 0);
|
||||
set_prompt(PS2, NULL);
|
||||
pprompt(prompt, 0);
|
||||
}
|
||||
} else if (c != EOF)
|
||||
|
@ -540,7 +540,7 @@ int
|
|||
c_brkcont(char **wp)
|
||||
{
|
||||
int n, quit;
|
||||
struct env *ep, *last_ep = (struct env *) 0;
|
||||
struct env *ep, *last_ep = NULL;
|
||||
char *arg;
|
||||
|
||||
if (ksh_getopt(wp, &builtin_opt, null) == '?')
|
||||
|
|
14
c_test.c
14
c_test.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/c_test.c,v 2.2 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/c_test.c,v 2.3 2004/12/18 19:22:28 tg Exp $ */
|
||||
/* $OpenBSD: c_test.c,v 1.10 2003/10/10 19:09:07 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -14,7 +14,7 @@
|
|||
#include "ksh_stat.h"
|
||||
#include "c_test.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_test.c,v 2.2 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/c_test.c,v 2.3 2004/12/18 19:22:28 tg Exp $");
|
||||
|
||||
/* test(1) accepts the following grammar:
|
||||
oexpr ::= aexpr | aexpr "-o" oexpr ;
|
||||
|
@ -164,7 +164,7 @@ c_test(char **wp)
|
|||
if (!Flag(FPOSIX) && strcmp(opnd1, "-t") == 0)
|
||||
break;
|
||||
res = (*te.eval)(&te, TO_STNZE, opnd1,
|
||||
(char *) 0, 1);
|
||||
NULL, 1);
|
||||
if (invert & 1)
|
||||
res = !res;
|
||||
return !res;
|
||||
|
@ -540,7 +540,7 @@ test_primary(Test_env *te, int do_eval)
|
|||
return 0;
|
||||
}
|
||||
|
||||
return (*te->eval)(te, op, opnd1, (const char *) 0, do_eval);
|
||||
return (*te->eval)(te, op, opnd1, NULL, do_eval);
|
||||
}
|
||||
opnd1 = (*te->getopnd)(te, TO_NONOP, do_eval);
|
||||
if (!opnd1) {
|
||||
|
@ -561,7 +561,7 @@ test_primary(Test_env *te, int do_eval)
|
|||
(*te->error)(te, -1, "missing expression operator");
|
||||
return 0;
|
||||
}
|
||||
return (*te->eval)(te, TO_STNZE, opnd1, (const char *) 0, do_eval);
|
||||
return (*te->eval)(te, TO_STNZE, opnd1, NULL, do_eval);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -602,7 +602,7 @@ static const char *
|
|||
ptest_getopnd(Test_env *te, Test_op op, int do_eval GCC_FUNC_ATTR(unused))
|
||||
{
|
||||
if (te->pos.wp >= te->wp_end)
|
||||
return op == TO_FILTT ? "1" : (const char *) 0;
|
||||
return op == TO_FILTT ? "1" : NULL;
|
||||
return *te->pos.wp++;
|
||||
}
|
||||
|
||||
|
@ -616,7 +616,7 @@ static void
|
|||
ptest_error(Test_env *te, int offset, const char *msg)
|
||||
{
|
||||
const char *op = te->pos.wp + offset >= te->wp_end ?
|
||||
(const char *) 0 : te->pos.wp[offset];
|
||||
NULL : te->pos.wp[offset];
|
||||
|
||||
te->flags |= TEF_ERROR;
|
||||
if (op)
|
||||
|
|
22
edit.c
22
edit.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/edit.c,v 2.3 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/edit.c,v 2.4 2004/12/18 19:22:28 tg Exp $ */
|
||||
/* $OpenBSD: edit.c,v 1.18 2003/08/22 18:17:10 fgsch Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -21,7 +21,7 @@
|
|||
#include <ctype.h>
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/edit.c,v 2.3 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/edit.c,v 2.4 2004/12/18 19:22:28 tg Exp $");
|
||||
|
||||
#if defined(TIOCGWINSZ)
|
||||
static RETSIGTYPE x_sigwinch(int sig);
|
||||
|
@ -439,10 +439,10 @@ x_print_expansions(int nwords, char *const *words, int is_command)
|
|||
|
||||
/* Special case for 1 match (prefix is whole word) */
|
||||
if (nwords == 1)
|
||||
prefix_len = x_basename(words[0], (char *) 0);
|
||||
prefix_len = x_basename(words[0], NULL);
|
||||
/* Any (non-trailing) slashes in non-common word suffixes? */
|
||||
for (i = 0; i < nwords; i++)
|
||||
if (x_basename(words[i] + prefix_len, (char *) 0)
|
||||
if (x_basename(words[i] + prefix_len, NULL)
|
||||
> prefix_len)
|
||||
break;
|
||||
/* All in same directory? */
|
||||
|
@ -454,7 +454,7 @@ x_print_expansions(int nwords, char *const *words, int is_command)
|
|||
XPinit(l, nwords + 1);
|
||||
for (i = 0; i < nwords; i++)
|
||||
XPput(l, words[i] + prefix_len);
|
||||
XPput(l, (char *) 0);
|
||||
XPput(l, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -545,7 +545,7 @@ x_file_glob(int flags GCC_FUNC_ATTR(unused), const char *str,
|
|||
}
|
||||
afree(toglob, ATEMP);
|
||||
|
||||
*wordsp = nwords ? words : (char **) 0;
|
||||
*wordsp = nwords ? words : NULL;
|
||||
|
||||
return nwords;
|
||||
}
|
||||
|
@ -605,7 +605,7 @@ x_command_glob(int flags, const char *str, int slen, char ***wordsp)
|
|||
nwords = XPsize(w);
|
||||
|
||||
if (!nwords) {
|
||||
*wordsp = (char **) 0;
|
||||
*wordsp = NULL;
|
||||
XPfree(w);
|
||||
return 0;
|
||||
}
|
||||
|
@ -623,7 +623,7 @@ x_command_glob(int flags, const char *str, int slen, char ***wordsp)
|
|||
alloc(sizeof(struct path_order_info) * nwords, ATEMP);
|
||||
for (i = 0; i < nwords; i++) {
|
||||
info[i].word = words[i];
|
||||
info[i].base = x_basename(words[i], (char *) 0);
|
||||
info[i].base = x_basename(words[i], NULL);
|
||||
if (!last_info || info[i].base != last_info->base
|
||||
|| FILENCMP(words[i],
|
||||
last_info->word, info[i].base) != 0)
|
||||
|
@ -738,7 +738,7 @@ x_cf_glob(int flags, const char *buf, int buflen, int pos, int *startp, int *end
|
|||
nwords = (is_command ? x_command_glob : x_file_glob)(flags,
|
||||
buf + *startp, len, &words);
|
||||
if (nwords == 0) {
|
||||
*wordsp = (char **) 0;
|
||||
*wordsp = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -761,7 +761,7 @@ add_glob(const char *str, int slen)
|
|||
bool_t saw_slash = FALSE;
|
||||
|
||||
if (slen < 0)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
|
||||
toglob = str_nsave(str, slen + 1, ATEMP); /* + 1 for "*" */
|
||||
toglob[slen] = '\0';
|
||||
|
@ -840,7 +840,7 @@ x_basename(const char *s, const char *se)
|
|||
{
|
||||
const char *p;
|
||||
|
||||
if (se == (char *) 0)
|
||||
if (se == NULL)
|
||||
se = s + strlen(s);
|
||||
if (s == se)
|
||||
return 0;
|
||||
|
|
12
emacs.c
12
emacs.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/emacs.c,v 2.4 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/emacs.c,v 2.5 2004/12/18 19:22:28 tg Exp $ */
|
||||
/* $OpenBSD: emacs.c,v 1.28 2003/10/22 07:40:38 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -18,7 +18,7 @@
|
|||
#include <locale.h>
|
||||
#include "edit.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/emacs.c,v 2.4 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/emacs.c,v 2.5 2004/12/18 19:22:28 tg Exp $");
|
||||
|
||||
static Area aedit;
|
||||
#define AEDIT &aedit /* area for kill ring and macro defns */
|
||||
|
@ -318,7 +318,7 @@ x_emacs(char *buf, size_t len)
|
|||
xlp_valid = TRUE;
|
||||
xmp = NULL;
|
||||
x_curprefix = 0;
|
||||
macroptr = (char *) 0;
|
||||
macroptr = NULL;
|
||||
x_histp = histptr + 1;
|
||||
x_last_command = XFUNC_error;
|
||||
|
||||
|
@ -404,7 +404,7 @@ x_ins_string(int c GCC_FUNC_ATTR(unused))
|
|||
macroptr = x_atab[c>>8][c & CHARMASK];
|
||||
if (macroptr && !*macroptr) {
|
||||
/* XXX bell? */
|
||||
macroptr = (char *) 0;
|
||||
macroptr = NULL;
|
||||
}
|
||||
return KSTD;
|
||||
}
|
||||
|
@ -1033,7 +1033,7 @@ x_redraw(int limit)
|
|||
if (xbp == xbuf)
|
||||
{
|
||||
pprompt(prompt + prompt_skip, 0);
|
||||
x_col = promptlen(prompt, (const char **) 0);
|
||||
x_col = promptlen(prompt, NULL);
|
||||
}
|
||||
x_displen = xx_cols - 2 - x_col;
|
||||
xlp_valid = FALSE;
|
||||
|
@ -1732,7 +1732,7 @@ x_e_getc(void)
|
|||
if (macroptr) {
|
||||
c = *macroptr++;
|
||||
if (!*macroptr)
|
||||
macroptr = (char *) 0;
|
||||
macroptr = NULL;
|
||||
} else
|
||||
c = x_getc();
|
||||
}
|
||||
|
|
20
eval.c
20
eval.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/eval.c,v 2.4 2004/12/14 15:54:23 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/eval.c,v 2.5 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: eval.c,v 1.18 2004/12/13 16:37:06 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -10,7 +10,7 @@
|
|||
#include "ksh_dir.h"
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/eval.c,v 2.4 2004/12/14 15:54:23 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/eval.c,v 2.5 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
/*
|
||||
* string expansion
|
||||
|
@ -198,7 +198,7 @@ expand(char *cp, XPtrV *wp, int f)
|
|||
doblank = 0;
|
||||
make_magic = 0;
|
||||
word = (f&DOBLANK) ? IFS_WS : IFS_WORD;
|
||||
st_head.next = (SubType *) 0;
|
||||
st_head.next = NULL;
|
||||
st = &st_head;
|
||||
|
||||
while (1) {
|
||||
|
@ -305,7 +305,7 @@ expand(char *cp, XPtrV *wp, int f)
|
|||
|
||||
newst = (SubType *) alloc(
|
||||
sizeof(SubType), ATEMP);
|
||||
newst->next = (SubType *) 0;
|
||||
newst->next = NULL;
|
||||
newst->prev = st;
|
||||
st->next = newst;
|
||||
}
|
||||
|
@ -713,7 +713,7 @@ varsub(Expand *xp, char *sp, char *word, int *stypep, int *slenp)
|
|||
if (sp[0] == '\0') /* Bad variable name */
|
||||
return -1;
|
||||
|
||||
xp->var = (struct tbl *) 0;
|
||||
xp->var = NULL;
|
||||
|
||||
/* ${#var}, string length or array size */
|
||||
if (sp[0] == '#' && (c = sp[1]) != '\0') {
|
||||
|
@ -871,7 +871,7 @@ comsub(Expand *xp, char *cp)
|
|||
|
||||
if ((io->flag&IOTYPE) != IOREAD)
|
||||
errorf("funny $() command: %s",
|
||||
snptreef((char *) 0, 32, "%R", io));
|
||||
snptreef(NULL, 32, "%R", io));
|
||||
shf = shf_open(name = evalstr(io->name, DOTILDE), O_RDONLY, 0,
|
||||
SHF_MAPHI|SHF_CLEXEC);
|
||||
if (shf == NULL)
|
||||
|
@ -880,7 +880,7 @@ comsub(Expand *xp, char *cp)
|
|||
} else {
|
||||
int ofd1, pv[2];
|
||||
openpipe(pv);
|
||||
shf = shf_fdopen(pv[0], SHF_RD, (struct shf *) 0);
|
||||
shf = shf_fdopen(pv[0], SHF_RD, NULL);
|
||||
ofd1 = savefd(1, 0); /* fd 1 may be closed... */
|
||||
if (pv[1] != 1) {
|
||||
ksh_dup2(pv[1], 1, FALSE);
|
||||
|
@ -1171,7 +1171,7 @@ maybe_expand_tilde(char *p, XString *dsp, char **dpp, int isassign)
|
|||
p += 2;
|
||||
}
|
||||
*tp = '\0';
|
||||
r = (p[0] == EOS || p[0] == CHAR || p[0] == CSUBST) ? tilde(Xstring(ts, tp)) : (char *) 0;
|
||||
r = (p[0] == EOS || p[0] == CHAR || p[0] == CSUBST) ? tilde(Xstring(ts, tp)) : NULL;
|
||||
Xfree(ts, tp);
|
||||
if (r) {
|
||||
while (*r) {
|
||||
|
@ -1207,7 +1207,7 @@ tilde(char *cp)
|
|||
dp = homedir(cp);
|
||||
/* If HOME, PWD or OLDPWD are not set, don't expand ~ */
|
||||
if (dp == null)
|
||||
dp = (char *) 0;
|
||||
dp = NULL;
|
||||
return dp;
|
||||
}
|
||||
|
||||
|
@ -1252,7 +1252,7 @@ alt_expand(XPtrV *wp, char *start, char *exp_start, char *end, int fdo)
|
|||
|
||||
/* find matching close brace, if any */
|
||||
if (p) {
|
||||
comma = (char *) 0;
|
||||
comma = NULL;
|
||||
count = 1;
|
||||
for (p += 2; *p && count; p++) {
|
||||
if (ISMAGIC(*p)) {
|
||||
|
|
40
exec.c
40
exec.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/exec.c,v 2.5 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/exec.c,v 2.6 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: exec.c,v 1.31 2003/12/15 05:25:52 otto Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -10,7 +10,7 @@
|
|||
#include <ctype.h>
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/exec.c,v 2.5 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/exec.c,v 2.6 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
static int comexec(struct op *t, struct tbl *volatile tp, char **ap,
|
||||
int volatile flags);
|
||||
|
@ -199,7 +199,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||
e->type = E_ERRH;
|
||||
i = ksh_sigsetjmp(e->jbuf, 0);
|
||||
if (i) {
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
quitenv(NULL);
|
||||
unwind(i);
|
||||
/*NOTREACHED*/
|
||||
|
@ -222,7 +222,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||
close(pv[0]);
|
||||
}
|
||||
coproc.write = pv[1];
|
||||
coproc.job = (void *) 0;
|
||||
coproc.job = NULL;
|
||||
|
||||
if (coproc.readw >= 0)
|
||||
ksh_dup2(coproc.readw, 1, FALSE);
|
||||
|
@ -236,7 +236,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||
++coproc.id;
|
||||
}
|
||||
# ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
e->type = E_EXEC; /* no more need for error handler */
|
||||
# endif /* JOB_SIGS */
|
||||
|
||||
|
@ -584,7 +584,7 @@ comexec(struct op *t, struct tbl *volatile tp, char **ap, volatile int flags)
|
|||
}
|
||||
break;
|
||||
}
|
||||
if (include(tp->u.fpath, 0, (char **) 0, 0) < 0) {
|
||||
if (include(tp->u.fpath, 0, NULL, 0) < 0) {
|
||||
warningf(TRUE,
|
||||
"%s: can't open function definition file %s - %s",
|
||||
cp, tp->u.fpath, strerror(errno));
|
||||
|
@ -727,7 +727,7 @@ scriptexec(struct op *tp, char **ap)
|
|||
|
||||
shell = str_val(global(EXECSHELL_STR));
|
||||
if (shell && *shell)
|
||||
shell = search(shell, path, X_OK, (int *) 0);
|
||||
shell = search(shell, path, X_OK, NULL);
|
||||
if (!shell || !*shell)
|
||||
shell = EXECSHELL;
|
||||
|
||||
|
@ -749,7 +749,7 @@ scriptexec(struct op *tp, char **ap)
|
|||
while (*cp && (*cp == ' ' || *cp == '\t'))
|
||||
cp++;
|
||||
if (*cp && *cp != '\n') {
|
||||
char *a0 = cp, *a1 = (char *) 0;
|
||||
char *a0 = cp, *a1 = NULL;
|
||||
|
||||
while (*cp && *cp != '\n' && *cp != ' '
|
||||
&& *cp != '\t')
|
||||
|
@ -803,7 +803,7 @@ struct tbl *
|
|||
findfunc(const char *name, unsigned int h, int create)
|
||||
{
|
||||
struct block *l;
|
||||
struct tbl *tp = (struct tbl *) 0;
|
||||
struct tbl *tp = NULL;
|
||||
|
||||
for (l = e->loc; l; l = l->next) {
|
||||
tp = tsearch(&l->funs, name, h);
|
||||
|
@ -813,7 +813,7 @@ findfunc(const char *name, unsigned int h, int create)
|
|||
tp = tenter(&l->funs, name, h);
|
||||
tp->flag = DEFINED;
|
||||
tp->type = CFUNC;
|
||||
tp->val.t = (struct op *) 0;
|
||||
tp->val.t = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -923,7 +923,7 @@ findcom(const char *name, int flags)
|
|||
tp = findfunc(name, h, FALSE);
|
||||
if (tp && !(tp->flag & ISSET)) {
|
||||
if ((fpath = str_val(global("FPATH"))) == null) {
|
||||
tp->u.fpath = (char *) 0;
|
||||
tp->u.fpath = NULL;
|
||||
tp->u2.errno_ = 0;
|
||||
} else
|
||||
tp->u.fpath = search(name, fpath, R_OK,
|
||||
|
@ -975,7 +975,7 @@ findcom(const char *name, int flags)
|
|||
} else if ((flags & FC_FUNC)
|
||||
&& (fpath = str_val(global("FPATH"))) != null
|
||||
&& (npath = search(name, fpath, R_OK,
|
||||
&tp->u2.errno_)) != (char *) 0)
|
||||
&tp->u2.errno_)) != NULL)
|
||||
{
|
||||
/* An undocumented feature of at&t ksh is that it
|
||||
* searches FPATH if a command is not found, even
|
||||
|
@ -1102,7 +1102,7 @@ call_builtin(struct tbl *tp, char **wp)
|
|||
shf_flush(shl_stdout);
|
||||
shl_stdout_ok = 0;
|
||||
builtin_flag = 0;
|
||||
builtin_argv0 = (char *) 0;
|
||||
builtin_argv0 = NULL;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -1124,13 +1124,13 @@ iosetup(struct ioword *iop, struct tbl *tp)
|
|||
|
||||
/* Used for tracing and error messages to print expanded cp */
|
||||
iotmp = *iop;
|
||||
iotmp.name = (iotype == IOHERE) ? (char *) 0 : cp;
|
||||
iotmp.name = (iotype == IOHERE) ? NULL : cp;
|
||||
iotmp.flag |= IONAMEXP;
|
||||
|
||||
if (Flag(FXTRACE))
|
||||
shellf("%s%s\n",
|
||||
substitute(str_val(global("PS4")), 0),
|
||||
snptreef((char *) 0, 32, "%R", &iotmp));
|
||||
snptreef(NULL, 32, "%R", &iotmp));
|
||||
|
||||
switch (iotype) {
|
||||
case IOREAD:
|
||||
|
@ -1175,7 +1175,7 @@ iosetup(struct ioword *iop, struct tbl *tp)
|
|||
&emsg)) < 0)
|
||||
{
|
||||
warningf(TRUE, "%s: %s",
|
||||
snptreef((char *) 0, 32, "%R", &iotmp), emsg);
|
||||
snptreef(NULL, 32, "%R", &iotmp), emsg);
|
||||
return -1;
|
||||
}
|
||||
if (u == iop->unit)
|
||||
|
@ -1220,7 +1220,7 @@ iosetup(struct ioword *iop, struct tbl *tp)
|
|||
if (ksh_dup2(u, iop->unit, TRUE) < 0) {
|
||||
warningf(TRUE,
|
||||
"could not finish (dup) redirection %s: %s",
|
||||
snptreef((char *) 0, 32, "%R", &iotmp),
|
||||
snptreef(NULL, 32, "%R", &iotmp),
|
||||
strerror(errno));
|
||||
if (iotype != IODUP)
|
||||
close(u);
|
||||
|
@ -1257,7 +1257,7 @@ herein(const char *content, int sub)
|
|||
int i;
|
||||
|
||||
/* ksh -c 'cat << EOF' can cause this... */
|
||||
if (content == (char *) 0) {
|
||||
if (content == NULL) {
|
||||
warningf(TRUE, "here document missing");
|
||||
return -2; /* special to iosetup(): don't print error */
|
||||
}
|
||||
|
@ -1332,7 +1332,7 @@ do_selectargs(char **ap, bool_t print_menu)
|
|||
pr_menu(ap);
|
||||
shellf("%s", str_val(global("PS3")));
|
||||
if (call_builtin(findcom("read", FC_BI), (char **) read_args))
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
s = str_val(global("REPLY"));
|
||||
if (*s) {
|
||||
i = atoi(s);
|
||||
|
@ -1486,7 +1486,7 @@ dbteste_getopnd(Test_env *te, Test_op op, int do_eval)
|
|||
char *s = *te->pos.wp;
|
||||
|
||||
if (!s)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
|
||||
te->pos.wp++;
|
||||
|
||||
|
|
12
expr.c
12
expr.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/expr.c,v 2.3 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/expr.c,v 2.4 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: expr.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
|||
#include "sh.h"
|
||||
#include <ctype.h>
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/expr.c,v 2.3 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/expr.c,v 2.4 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
/* The order of these enums is constrained by the order of opinfo[] */
|
||||
enum token {
|
||||
|
@ -168,7 +168,7 @@ v_evaluate(struct tbl *vp, const char *expr, volatile int error_ok)
|
|||
/* save state to allow recursive calls */
|
||||
curstate.expression = curstate.tokp = expr;
|
||||
curstate.noassign = 0;
|
||||
curstate.evaling = (struct tbl *) 0;
|
||||
curstate.evaling = NULL;
|
||||
|
||||
newenv(E_ERRH);
|
||||
i = ksh_sigsetjmp(e->jbuf, 0);
|
||||
|
@ -194,7 +194,7 @@ v_evaluate(struct tbl *vp, const char *expr, volatile int error_ok)
|
|||
v = intvar(es, evalexpr(es, MAX_PREC));
|
||||
|
||||
if (es->tok != END)
|
||||
evalerr(es, ET_UNEXPECTED, (char *) 0);
|
||||
evalerr(es, ET_UNEXPECTED, NULL);
|
||||
|
||||
if (vp->flag & INTEGER)
|
||||
setint_v(vp, v);
|
||||
|
@ -298,7 +298,7 @@ evalexpr(Expr_state *es, enum prec prec)
|
|||
vl = es->val;
|
||||
token(es);
|
||||
} else {
|
||||
evalerr(es, ET_UNEXPECTED, (char *) 0);
|
||||
evalerr(es, ET_UNEXPECTED, NULL);
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
if (es->tok == O_PLUSPLUS || es->tok == O_MINUSMINUS) {
|
||||
|
@ -574,7 +574,7 @@ intvar(Expr_state *es, struct tbl *vp)
|
|||
vp->flag |= EXPRINEVAL;
|
||||
v_evaluate(vq, str_val(vp), KSH_UNWIND_ERROR);
|
||||
vp->flag &= ~EXPRINEVAL;
|
||||
es->evaling = (struct tbl *) 0;
|
||||
es->evaling = NULL;
|
||||
}
|
||||
return vq;
|
||||
}
|
||||
|
|
26
history.c
26
history.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/history.c,v 2.5 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/history.c,v 2.6 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: history.c,v 1.24 2004/08/03 12:44:59 danh Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -21,7 +21,7 @@
|
|||
#include "sh.h"
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/history.c,v 2.5 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/history.c,v 2.6 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
#ifndef EASY_HISTORY
|
||||
/* Defines and includes for the complicated case */
|
||||
|
@ -71,10 +71,10 @@ c_fc(char **wp)
|
|||
{
|
||||
struct shf *shf;
|
||||
struct temp UNINITIALIZED(*tf);
|
||||
char *p, *editor = (char *) 0;
|
||||
char *p, *editor = NULL;
|
||||
int gflag = 0, lflag = 0, nflag = 0, sflag = 0, rflag = 0;
|
||||
int optc;
|
||||
char *first = (char *) 0, *last = (char *) 0;
|
||||
char *first = NULL, *last = NULL;
|
||||
char **hfirst, **hlast, **hp;
|
||||
|
||||
if (!Flag(FTALKING_I)) {
|
||||
|
@ -130,7 +130,7 @@ c_fc(char **wp)
|
|||
|
||||
/* Substitute and execute command */
|
||||
if (sflag) {
|
||||
char *pat = (char *) 0, *rep = (char *) 0;
|
||||
char *pat = NULL, *rep = NULL;
|
||||
|
||||
if (editor || lflag || nflag || rflag) {
|
||||
bi_errorf("can't use -e, -l, -n, -r with -s (-e -)");
|
||||
|
@ -296,7 +296,7 @@ hist_execute(char *cmd)
|
|||
if ((q = strchr(p, '\n'))) {
|
||||
*q++ = '\0'; /* kill the newline */
|
||||
if (!*q) /* ignore trailing newline */
|
||||
q = (char *) 0;
|
||||
q = NULL;
|
||||
}
|
||||
#ifdef EASY_HISTORY
|
||||
if (p != cmd)
|
||||
|
@ -371,7 +371,7 @@ hist_replace(char **hp, const char *pat, const char *rep, int global)
|
|||
static char **
|
||||
hist_get(const char *str, int approx, int allow_cur)
|
||||
{
|
||||
char **hp = (char **) 0;
|
||||
char **hp = NULL;
|
||||
int n;
|
||||
|
||||
if (getn(str, &n)) {
|
||||
|
@ -381,18 +381,18 @@ hist_get(const char *str, int approx, int allow_cur)
|
|||
hp = hist_get_oldest();
|
||||
else {
|
||||
bi_errorf("%s: not in history", str);
|
||||
hp = (char **) 0;
|
||||
hp = NULL;
|
||||
}
|
||||
} else if (hp > histptr) {
|
||||
if (approx)
|
||||
hp = hist_get_newest(allow_cur);
|
||||
else {
|
||||
bi_errorf("%s: not in history", str);
|
||||
hp = (char **) 0;
|
||||
hp = NULL;
|
||||
}
|
||||
} else if (!allow_cur && hp == histptr) {
|
||||
bi_errorf("%s: invalid range", str);
|
||||
hp = (char **) 0;
|
||||
hp = NULL;
|
||||
}
|
||||
} else {
|
||||
int anchored = *str == '?' ? (++str, 0) : 1;
|
||||
|
@ -401,7 +401,7 @@ hist_get(const char *str, int approx, int allow_cur)
|
|||
n = findhist(histptr - history - 1, 0, str, anchored);
|
||||
if (n < 0) {
|
||||
bi_errorf("%s: not in history", str);
|
||||
hp = (char **) 0;
|
||||
hp = NULL;
|
||||
} else
|
||||
hp = &history[n];
|
||||
}
|
||||
|
@ -414,7 +414,7 @@ hist_get_newest(int allow_cur)
|
|||
{
|
||||
if (histptr < history || (!allow_cur && histptr == history)) {
|
||||
bi_errorf("no history (yet)");
|
||||
return (char **) 0;
|
||||
return NULL;
|
||||
}
|
||||
if (allow_cur)
|
||||
return histptr;
|
||||
|
@ -427,7 +427,7 @@ hist_get_oldest(void)
|
|||
{
|
||||
if (histptr <= history) {
|
||||
bi_errorf("no history (yet)");
|
||||
return (char **) 0;
|
||||
return NULL;
|
||||
}
|
||||
return history;
|
||||
}
|
||||
|
|
10
io.c
10
io.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/io.c,v 2.3 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/io.c,v 2.4 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: io.c,v 1.13 2003/11/10 21:26:39 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -77,7 +77,7 @@ bi_errorf(const char *fmt, ...)
|
|||
if ((builtin_flag & SPEC_BI)
|
||||
|| (Flag(FPOSIX) && (builtin_flag & KEEPASN)))
|
||||
{
|
||||
builtin_argv0 = (char *) 0;
|
||||
builtin_argv0 = NULL;
|
||||
unwind(LERROR);
|
||||
}
|
||||
}
|
||||
|
@ -433,13 +433,13 @@ maketemp(Area *ap, Temp_type type, struct temp **tlist)
|
|||
len = strlen(dir) + 3 + 20 + 20 + 1;
|
||||
tp = (struct temp *) alloc(sizeof(struct temp) + len, ap);
|
||||
tp->name = path = (char *) &tp[1];
|
||||
tp->shf = (struct shf *) 0;
|
||||
tp->shf = NULL;
|
||||
tp->type = type;
|
||||
#ifdef HAVE_MKSTEMP
|
||||
shf_snprintf(path, len, "%s/shXXXXXXXX", dir);
|
||||
fd = mkstemp(path);
|
||||
if (fd >= 0)
|
||||
tp->shf = shf_fdopen(fd, SHF_WR, (struct shf *) 0);
|
||||
tp->shf = shf_fdopen(fd, SHF_WR, NULL);
|
||||
#else
|
||||
while (1) {
|
||||
/* Note that temp files need to fit 8.3 DOS limits */
|
||||
|
@ -450,7 +450,7 @@ maketemp(Area *ap, Temp_type type, struct temp **tlist)
|
|||
*/
|
||||
fd = open(path, O_RDWR|O_CREAT|O_EXCL|O_TRUNC, 0600);
|
||||
if (fd >= 0) {
|
||||
tp->shf = shf_fdopen(fd, SHF_WR, (struct shf *) 0);
|
||||
tp->shf = shf_fdopen(fd, SHF_WR, NULL);
|
||||
break;
|
||||
}
|
||||
if (errno != EINTR
|
||||
|
|
132
jobs.c
132
jobs.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/jobs.c,v 2.3 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/jobs.c,v 2.4 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: jobs.c,v 1.21 2003/11/10 21:26:39 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -31,7 +31,7 @@
|
|||
#include "ksh_times.h"
|
||||
#include "tty.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/jobs.c,v 2.3 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/jobs.c,v 2.4 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
/* Start of system configuration stuff */
|
||||
|
||||
|
@ -165,7 +165,7 @@ static const char *const lookup_msgs[] = {
|
|||
"no such job",
|
||||
"ambiguous",
|
||||
"argument must be %job or process id",
|
||||
(char *) 0
|
||||
NULL
|
||||
};
|
||||
clock_t j_systime, j_usrtime; /* user and system time of last j_waitjed job */
|
||||
|
||||
|
@ -229,7 +229,7 @@ j_init(int mflagset)
|
|||
|
||||
#ifdef JOB_SIGS
|
||||
sigemptyset(&sm_default);
|
||||
sigprocmask(SIG_SETMASK, &sm_default, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &sm_default, NULL);
|
||||
|
||||
sigemptyset(&sm_sigchld);
|
||||
sigaddset(&sm_sigchld, SIGCHLD);
|
||||
|
@ -248,7 +248,7 @@ j_init(int mflagset)
|
|||
/* shl_j is used to do asynchronous notification (used in
|
||||
* an interrupt handler, so need a distinct shf)
|
||||
*/
|
||||
shl_j = shf_fdopen(2, SHF_WR, (struct shf *) 0);
|
||||
shl_j = shf_fdopen(2, SHF_WR, NULL);
|
||||
|
||||
# ifdef TTY_PGRP
|
||||
if (Flag(FMONITOR) || Flag(FTALKING)) {
|
||||
|
@ -283,7 +283,7 @@ j_exit(void)
|
|||
Job *j;
|
||||
int killed = 0;
|
||||
|
||||
for (j = job_list; j != (Job *) 0; j = j->next) {
|
||||
for (j = job_list; j != NULL; j = j->next) {
|
||||
if (j->ppid == procpid
|
||||
&& (j->state == PSTOPPED
|
||||
|| (j->state == PRUNNING
|
||||
|
@ -458,7 +458,7 @@ exchild(struct op *t, int flags, int close_fd)
|
|||
#endif /* JOB_SIGS */
|
||||
|
||||
p = new_proc();
|
||||
p->next = (Proc *) 0;
|
||||
p->next = NULL;
|
||||
p->state = PRUNNING;
|
||||
WSTATUS(p->status) = 0;
|
||||
p->pid = 0;
|
||||
|
@ -520,7 +520,7 @@ exchild(struct op *t, int flags, int close_fd)
|
|||
}
|
||||
#endif /* NEED_PGRP_SYNC */
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
errorf("cannot fork - try again");
|
||||
}
|
||||
|
@ -597,7 +597,7 @@ exchild(struct op *t, int flags, int close_fd)
|
|||
if (flags & XCOPROC)
|
||||
coproc_cleanup(FALSE);
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
cleanup_parents_env();
|
||||
#ifdef TTY_PGRP
|
||||
|
@ -673,7 +673,7 @@ exchild(struct op *t, int flags, int close_fd)
|
|||
}
|
||||
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
return rv;
|
||||
|
@ -695,7 +695,7 @@ startlast(void)
|
|||
j_startjob(last_job);
|
||||
}
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
}
|
||||
|
||||
|
@ -718,7 +718,7 @@ waitlast(void)
|
|||
else
|
||||
internal_errorf(0, "waitlast: not started");
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
return 125; /* not so arbitrary, non-zero value */
|
||||
}
|
||||
|
@ -726,7 +726,7 @@ waitlast(void)
|
|||
rv = j_waitj(j, JW_NONE, "jw:waitlast");
|
||||
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
return rv;
|
||||
|
@ -748,7 +748,7 @@ waitfor(const char *cp, int *sigp)
|
|||
|
||||
*sigp = 0;
|
||||
|
||||
if (cp == (char *) 0) {
|
||||
if (cp == NULL) {
|
||||
/* wait for an unspecified job - always returns 0, so
|
||||
* don't have to worry about exited/signaled jobs
|
||||
*/
|
||||
|
@ -758,7 +758,7 @@ waitfor(const char *cp, int *sigp)
|
|||
break;
|
||||
if (!j) {
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
return -1;
|
||||
}
|
||||
|
@ -767,13 +767,13 @@ waitfor(const char *cp, int *sigp)
|
|||
flags &= ~JW_ASYNCNOTIFY;
|
||||
if (j->ppid != procpid) {
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
if (ecode != JL_NOSUCH)
|
||||
bi_errorf("%s: %s", cp, lookup_msgs[ecode]);
|
||||
|
@ -784,7 +784,7 @@ waitfor(const char *cp, int *sigp)
|
|||
rv = j_waitj(j, flags, "jw:waitfor");
|
||||
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
if (rv < 0) /* we were interrupted */
|
||||
|
@ -806,9 +806,9 @@ j_kill(const char *cp, int sig)
|
|||
sigprocmask(SIG_BLOCK, &sm_sigchld, &omask);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
if ((j = j_lookup(cp, &ecode)) == (Job *) 0) {
|
||||
if ((j = j_lookup(cp, &ecode)) == NULL) {
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
bi_errorf("%s: %s", cp, lookup_msgs[ecode]);
|
||||
return 1;
|
||||
|
@ -831,7 +831,7 @@ j_kill(const char *cp, int sig)
|
|||
}
|
||||
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
return rv;
|
||||
|
@ -851,14 +851,14 @@ j_resume(const char *cp, int bg)
|
|||
|
||||
sigprocmask(SIG_BLOCK, &sm_sigchld, &omask);
|
||||
|
||||
if ((j = j_lookup(cp, &ecode)) == (Job *) 0) {
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
if ((j = j_lookup(cp, &ecode)) == NULL) {
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
bi_errorf("%s: %s", cp, lookup_msgs[ecode]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (j->pgrp == 0) {
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
bi_errorf("job not job-controlled");
|
||||
return 1;
|
||||
}
|
||||
|
@ -867,7 +867,7 @@ j_resume(const char *cp, int bg)
|
|||
shprintf("[%d] ", j->job);
|
||||
|
||||
running = 0;
|
||||
for (p = j->proc_list; p != (Proc *) 0; p = p->next) {
|
||||
for (p = j->proc_list; p != NULL; p = p->next) {
|
||||
if (p->state == PSTOPPED) {
|
||||
p->state = PRUNNING;
|
||||
WSTATUS(p->status) = 0;
|
||||
|
@ -896,7 +896,7 @@ j_resume(const char *cp, int bg)
|
|||
set_tty(tty_fd, &tty_state, TF_NONE);
|
||||
}
|
||||
sigprocmask(SIG_SETMASK, &omask,
|
||||
(sigset_t *) 0);
|
||||
NULL);
|
||||
bi_errorf("1st tcsetpgrp(%d, %d) failed: %s",
|
||||
tty_fd, (int) ((j->flags & JF_SAVEDTTYPGRP) ? j->saved_ttypgrp : j->pgrp), strerror(errno));
|
||||
return 1;
|
||||
|
@ -906,7 +906,7 @@ j_resume(const char *cp, int bg)
|
|||
j->flags |= JF_FG;
|
||||
j->flags &= ~JF_KNOWN;
|
||||
if (j == async_job)
|
||||
async_job = (Job *) 0;
|
||||
async_job = NULL;
|
||||
}
|
||||
|
||||
if (j->state == PRUNNING && killpg(j->pgrp, SIGCONT) < 0) {
|
||||
|
@ -926,7 +926,7 @@ j_resume(const char *cp, int bg)
|
|||
}
|
||||
# endif /* TTY_PGRP */
|
||||
}
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
bi_errorf("cannot continue job %s: %s",
|
||||
cp, strerror(err));
|
||||
return 1;
|
||||
|
@ -939,7 +939,7 @@ j_resume(const char *cp, int bg)
|
|||
# endif /* TTY_PGRP */
|
||||
rv = j_waitj(j, JW_NONE, "jw:resume");
|
||||
}
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
return rv;
|
||||
}
|
||||
#endif /* JOBS */
|
||||
|
@ -951,7 +951,7 @@ j_stopped_running(void)
|
|||
Job *j;
|
||||
int which = 0;
|
||||
|
||||
for (j = job_list; j != (Job *) 0; j = j->next) {
|
||||
for (j = job_list; j != NULL; j = j->next) {
|
||||
#ifdef JOBS
|
||||
if (j->ppid == procpid && j->state == PSTOPPED)
|
||||
which |= 1;
|
||||
|
@ -994,9 +994,9 @@ j_jobs(const char *cp, int slp, int nflag)
|
|||
if (cp) {
|
||||
int ecode;
|
||||
|
||||
if ((j = j_lookup(cp, &ecode)) == (Job *) 0) {
|
||||
if ((j = j_lookup(cp, &ecode)) == NULL) {
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
bi_errorf("%s: %s", cp, lookup_msgs[ecode]);
|
||||
return 1;
|
||||
|
@ -1022,7 +1022,7 @@ j_jobs(const char *cp, int slp, int nflag)
|
|||
remove_job(j, "jobs");
|
||||
}
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
return 0;
|
||||
}
|
||||
|
@ -1055,7 +1055,7 @@ j_notify(void)
|
|||
}
|
||||
shf_flush(shl_out);
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
}
|
||||
|
||||
|
@ -1073,7 +1073,7 @@ j_async(void)
|
|||
async_job->flags |= JF_KNOWN;
|
||||
|
||||
#ifdef JOB_SIGS
|
||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||
sigprocmask(SIG_SETMASK, &omask, NULL);
|
||||
#endif /* JOB_SIGS */
|
||||
|
||||
return async_pid;
|
||||
|
@ -1097,7 +1097,7 @@ j_set_async(Job *j)
|
|||
async_job = j;
|
||||
async_pid = j->last_proc->pid;
|
||||
while (nzombie > child_max) {
|
||||
oldest = (Job *) 0;
|
||||
oldest = NULL;
|
||||
for (jl = job_list; jl; jl = jl->next)
|
||||
if (jl != async_job && (jl->flags & JF_ZOMBIE)
|
||||
&& (!oldest || jl->age < oldest->age))
|
||||
|
@ -1323,12 +1323,12 @@ j_sigchld(int sig GCC_FUNC_ATTR(unused))
|
|||
ksh_times(&t1);
|
||||
|
||||
/* find job and process structures for this pid */
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
for (p = j->proc_list; p != (Proc *) 0; p = p->next)
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
for (p = j->proc_list; p != NULL; p = p->next)
|
||||
if (p->pid == pid)
|
||||
goto found;
|
||||
found:
|
||||
if (j == (Job *) 0) {
|
||||
if (j == NULL) {
|
||||
/* Can occur if process has kids, then execs shell
|
||||
warningf(TRUE, "bad process waited for (pid = %d)",
|
||||
pid);
|
||||
|
@ -1386,7 +1386,7 @@ check_job(Job *j)
|
|||
}
|
||||
|
||||
jstate = PRUNNING;
|
||||
for (p=j->proc_list; p != (Proc *) 0; p = p->next) {
|
||||
for (p=j->proc_list; p != NULL; p = p->next) {
|
||||
if (p->state == PRUNNING)
|
||||
return; /* some processes still running */
|
||||
if (p->state > jstate)
|
||||
|
@ -1415,7 +1415,7 @@ check_job(Job *j)
|
|||
* (at least, this is what ksh93d thinks)
|
||||
*/
|
||||
if (coproc.job == j) {
|
||||
coproc.job = (void *) 0;
|
||||
coproc.job = NULL;
|
||||
/* XXX would be nice to get the closes out of here
|
||||
* so they aren't done in the signal handler.
|
||||
* Would mean a check in coproc_getfd() to
|
||||
|
@ -1506,7 +1506,7 @@ j_print(Job *j, int how, struct shf *shf)
|
|||
else if (j == job_list->next)
|
||||
jobchar = '-';
|
||||
|
||||
for (p = j->proc_list; p != (Proc *) 0;) {
|
||||
for (p = j->proc_list; p != NULL;) {
|
||||
coredumped = 0;
|
||||
switch (p->state) {
|
||||
case PRUNNING:
|
||||
|
@ -1597,54 +1597,54 @@ j_lookup(const char *cp, int *ecodep)
|
|||
if (digit(*cp)) {
|
||||
job = atoi(cp);
|
||||
/* Look for last_proc->pid (what $! returns) first... */
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
if (j->last_proc && j->last_proc->pid == job)
|
||||
return j;
|
||||
/* ...then look for process group (this is non-POSIX),
|
||||
* but should not break anything (so FPOSIX isn't used).
|
||||
*/
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
if (j->pgrp && j->pgrp == job)
|
||||
return j;
|
||||
if (ecodep)
|
||||
*ecodep = JL_NOSUCH;
|
||||
return (Job *) 0;
|
||||
return NULL;
|
||||
}
|
||||
if (*cp != '%') {
|
||||
if (ecodep)
|
||||
*ecodep = JL_INVALID;
|
||||
return (Job *) 0;
|
||||
return NULL;
|
||||
}
|
||||
switch (*++cp) {
|
||||
case '\0': /* non-standard */
|
||||
case '+':
|
||||
case '%':
|
||||
if (job_list != (Job *) 0)
|
||||
if (job_list != NULL)
|
||||
return job_list;
|
||||
break;
|
||||
|
||||
case '-':
|
||||
if (job_list != (Job *) 0 && job_list->next)
|
||||
if (job_list != NULL && job_list->next)
|
||||
return job_list->next;
|
||||
break;
|
||||
|
||||
case '0': case '1': case '2': case '3': case '4':
|
||||
case '5': case '6': case '7': case '8': case '9':
|
||||
job = atoi(cp);
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
if (j->job == job)
|
||||
return j;
|
||||
break;
|
||||
|
||||
case '?': /* %?string */
|
||||
last_match = (Job *) 0;
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
for (p = j->proc_list; p != (Proc *) 0; p = p->next)
|
||||
if (strstr(p->command, cp+1) != (char *) 0) {
|
||||
last_match = NULL;
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
for (p = j->proc_list; p != NULL; p = p->next)
|
||||
if (strstr(p->command, cp+1) != NULL) {
|
||||
if (last_match) {
|
||||
if (ecodep)
|
||||
*ecodep = JL_AMBIG;
|
||||
return (Job *) 0;
|
||||
return NULL;
|
||||
}
|
||||
last_match = j;
|
||||
}
|
||||
|
@ -1654,13 +1654,13 @@ j_lookup(const char *cp, int *ecodep)
|
|||
|
||||
default: /* %string */
|
||||
len = strlen(cp);
|
||||
last_match = (Job *) 0;
|
||||
for (j = job_list; j != (Job *) 0; j = j->next)
|
||||
last_match = NULL;
|
||||
for (j = job_list; j != NULL; j = j->next)
|
||||
if (strncmp(cp, j->proc_list->command, len) == 0) {
|
||||
if (last_match) {
|
||||
if (ecodep)
|
||||
*ecodep = JL_AMBIG;
|
||||
return (Job *) 0;
|
||||
return NULL;
|
||||
}
|
||||
last_match = j;
|
||||
}
|
||||
|
@ -1670,7 +1670,7 @@ j_lookup(const char *cp, int *ecodep)
|
|||
}
|
||||
if (ecodep)
|
||||
*ecodep = JL_NOSUCH;
|
||||
return (Job *) 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static Job *free_jobs;
|
||||
|
@ -1686,7 +1686,7 @@ new_job(void)
|
|||
int i;
|
||||
Job *newj, *j;
|
||||
|
||||
if (free_jobs != (Job *) 0) {
|
||||
if (free_jobs != NULL) {
|
||||
newj = free_jobs;
|
||||
free_jobs = free_jobs->next;
|
||||
} else
|
||||
|
@ -1696,7 +1696,7 @@ new_job(void)
|
|||
for (i = 1; ; i++) {
|
||||
for (j = job_list; j && j->job != i; j = j->next)
|
||||
;
|
||||
if (j == (Job *) 0)
|
||||
if (j == NULL)
|
||||
break;
|
||||
}
|
||||
newj->job = i;
|
||||
|
@ -1713,7 +1713,7 @@ new_proc(void)
|
|||
{
|
||||
Proc *p;
|
||||
|
||||
if (free_procs != (Proc *) 0) {
|
||||
if (free_procs != NULL) {
|
||||
p = free_procs;
|
||||
free_procs = free_procs->next;
|
||||
} else
|
||||
|
@ -1735,7 +1735,7 @@ remove_job(Job *j, const char *where)
|
|||
|
||||
prev = &job_list;
|
||||
curr = *prev;
|
||||
for (; curr != (Job *) 0 && curr != j; prev = &curr->next, curr = *prev)
|
||||
for (; curr != NULL && curr != j; prev = &curr->next, curr = *prev)
|
||||
;
|
||||
if (curr != j) {
|
||||
internal_errorf(0, "remove_job: job not found (%s)", where);
|
||||
|
@ -1744,7 +1744,7 @@ remove_job(Job *j, const char *where)
|
|||
*prev = curr->next;
|
||||
|
||||
/* free up proc structures */
|
||||
for (p = j->proc_list; p != (Proc *) 0; ) {
|
||||
for (p = j->proc_list; p != NULL; ) {
|
||||
tmp = p;
|
||||
p = p->next;
|
||||
tmp->next = free_procs;
|
||||
|
@ -1757,9 +1757,9 @@ remove_job(Job *j, const char *where)
|
|||
free_jobs = j;
|
||||
|
||||
if (j == last_job)
|
||||
last_job = (Job *) 0;
|
||||
last_job = NULL;
|
||||
if (j == async_job)
|
||||
async_job = (Job *) 0;
|
||||
async_job = NULL;
|
||||
}
|
||||
|
||||
/* put j in a particular location (taking it out job_list if it is there
|
||||
|
@ -1808,7 +1808,7 @@ kill_job(Job *j, int sig)
|
|||
Proc *p;
|
||||
int rval = 0;
|
||||
|
||||
for (p = j->proc_list; p != (Proc *) 0; p = p->next)
|
||||
for (p = j->proc_list; p != NULL; p = p->next)
|
||||
if (p->pid != 0)
|
||||
if (kill(p->pid, sig) < 0)
|
||||
rval = -1;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/ksh_wait.h,v 2.1 2004/12/10 18:09:41 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/ksh_wait.h,v 2.2 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: ksh_wait.h,v 1.3 1997/06/19 13:58:43 kstailey Exp $ */
|
||||
|
||||
#ifndef KSH_WAIT_H
|
||||
|
@ -49,7 +49,7 @@ typedef int WAIT_T;
|
|||
|
||||
#if !defined(HAVE_WAITPID) && defined(HAVE_WAIT3)
|
||||
/* always used with p == -1 */
|
||||
# define ksh_waitpid(p, s, o) wait3((s), (o), (struct rusage *) 0)
|
||||
# define ksh_waitpid(p, s, o) wait3((s), (o), NULL)
|
||||
#else /* !HAVE_WAITPID && HAVE_WAIT3 */
|
||||
# define ksh_waitpid(p, s, o) waitpid((p), (s), (o))
|
||||
#endif /* !HAVE_WAITPID && HAVE_WAIT3 */
|
||||
|
|
18
lex.c
18
lex.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/lex.c,v 2.5 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/lex.c,v 2.6 2004/12/18 19:22:29 tg Exp $ */
|
||||
/* $OpenBSD: lex.c,v 1.18 2003/08/06 21:08:05 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
|||
#include "sh.h"
|
||||
#include <ctype.h>
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/lex.c,v 2.5 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/lex.c,v 2.6 2004/12/18 19:22:29 tg Exp $");
|
||||
|
||||
/* Structure to keep track of the lexing state and the various pieces of info
|
||||
* needed for each particular state.
|
||||
|
@ -112,7 +112,7 @@ yylex(int cf)
|
|||
|
||||
Again:
|
||||
states[0].ls_state = -1;
|
||||
states[0].ls_info.base = (Lex_state *) 0;
|
||||
states[0].ls_info.base = NULL;
|
||||
statep = &states[1];
|
||||
state_info.base = states;
|
||||
state_info.end = &states[STATE_BSIZE];
|
||||
|
@ -651,9 +651,9 @@ Done:
|
|||
ungetsc(c2);
|
||||
}
|
||||
|
||||
iop->name = (char *) 0;
|
||||
iop->delim = (char *) 0;
|
||||
iop->heredoc = (char *) 0;
|
||||
iop->name = NULL;
|
||||
iop->delim = NULL;
|
||||
iop->heredoc = NULL;
|
||||
Xfree(ws, wp); /* free word */
|
||||
yylval.iop = iop;
|
||||
return REDIR;
|
||||
|
@ -1057,7 +1057,7 @@ getsc_line(Source *s)
|
|||
}
|
||||
}
|
||||
if (interactive)
|
||||
set_prompt(PS2, (Source *) 0);
|
||||
set_prompt(PS2, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1078,8 +1078,8 @@ set_prompt(int to, Source *s)
|
|||
Area *saved_atemp;
|
||||
|
||||
ps1 = str_val(global("PS1"));
|
||||
shf = shf_sopen((char *) 0, strlen(ps1) * 2,
|
||||
SHF_WR | SHF_DYNAMIC, (struct shf *) 0);
|
||||
shf = shf_sopen(NULL, strlen(ps1) * 2,
|
||||
SHF_WR | SHF_DYNAMIC, NULL);
|
||||
while (*ps1) {
|
||||
if (*ps1 != '!' || *++ps1 == '!')
|
||||
shf_putchar(*ps1++, shf);
|
||||
|
|
30
main.c
30
main.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/main.c,v 2.9 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/main.c,v 2.10 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: main.c,v 1.28 2004/08/23 14:56:32 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -15,7 +15,7 @@
|
|||
* shell version
|
||||
*/
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/main.c,v 2.9 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/main.c,v 2.10 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
const char ksh_version[] =
|
||||
"@(#)PD KSH v5.2.14 MirOS R20 in "
|
||||
|
@ -151,7 +151,7 @@ main(int argc, char *argv[])
|
|||
def_path = DEFAULT__PATH;
|
||||
#if defined(HAVE_CONFSTR) && defined(_CS_PATH)
|
||||
{
|
||||
size_t len = confstr(_CS_PATH, (char *) 0, 0);
|
||||
size_t len = confstr(_CS_PATH, NULL, 0);
|
||||
char *new;
|
||||
|
||||
if (len > 0) {
|
||||
|
@ -221,7 +221,7 @@ main(int argc, char *argv[])
|
|||
|| stat(pwd, &s_pwd) < 0 || stat(".", &s_dot) < 0
|
||||
|| s_pwd.st_dev != s_dot.st_dev
|
||||
|| s_pwd.st_ino != s_dot.st_ino)
|
||||
pwdx = (char *) 0;
|
||||
pwdx = NULL;
|
||||
set_current_wd(pwdx);
|
||||
if (current_wd[0])
|
||||
simplify_path(current_wd);
|
||||
|
@ -267,7 +267,7 @@ main(int argc, char *argv[])
|
|||
|
||||
/* this to note if monitor is set on command line (see below) */
|
||||
Flag(FMONITOR) = 127;
|
||||
argi = parse_args(argv, OF_CMDLINE, (int *) 0);
|
||||
argi = parse_args(argv, OF_CMDLINE, NULL);
|
||||
if (argi < 0)
|
||||
exit(1);
|
||||
|
||||
|
@ -291,13 +291,13 @@ main(int argc, char *argv[])
|
|||
s = pushs(SSTDIN, ATEMP);
|
||||
s->file = "<stdin>";
|
||||
s->u.shf = shf_fdopen(0, SHF_RD | can_seek(0),
|
||||
(struct shf *) 0);
|
||||
NULL);
|
||||
if (isatty(0) && isatty(2)) {
|
||||
Flag(FTALKING) = Flag(FTALKING_I) = 1;
|
||||
/* The following only if isatty(0) */
|
||||
s->flags |= SF_TTY;
|
||||
s->u.shf->flags |= SHF_INTERRUPT;
|
||||
s->file = (char *) 0;
|
||||
s->file = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -337,14 +337,14 @@ main(int argc, char *argv[])
|
|||
warningf(FALSE, "Cannot determine current working directory");
|
||||
|
||||
if (Flag(FLOGIN)) {
|
||||
include(KSH_SYSTEM_PROFILE, 0, (char **) 0, 1);
|
||||
include(KSH_SYSTEM_PROFILE, 0, NULL, 1);
|
||||
if (!Flag(FPRIVILEGED))
|
||||
include(substitute("$HOME/.profile", 0), 0,
|
||||
(char **) 0, 1);
|
||||
NULL, 1);
|
||||
}
|
||||
|
||||
if (Flag(FPRIVILEGED))
|
||||
include("/etc/suid_profile", 0, (char **) 0, 1);
|
||||
include("/etc/suid_profile", 0, NULL, 1);
|
||||
else {
|
||||
char *env_file;
|
||||
|
||||
|
@ -358,7 +358,7 @@ main(int argc, char *argv[])
|
|||
#endif /* DEFAULT_ENV */
|
||||
env_file = substitute(env_file, DOTILDE);
|
||||
if (*env_file != '\0')
|
||||
include(env_file, 0, (char **) 0, 1);
|
||||
include(env_file, 0, NULL, 1);
|
||||
}
|
||||
|
||||
if (is_restricted(argv[0]) || is_restricted(str_val(global("SHELL"))))
|
||||
|
@ -367,7 +367,7 @@ main(int argc, char *argv[])
|
|||
static const char *const restr_com[] = {
|
||||
"typeset", "-r", "PATH",
|
||||
"ENV", "SHELL",
|
||||
(char *) 0
|
||||
NULL
|
||||
};
|
||||
shcomexec((char **) restr_com);
|
||||
/* After typeset command... */
|
||||
|
@ -403,7 +403,7 @@ include(const char *name, int argc, char **argv, int intr_ok)
|
|||
old_argv = e->loc->argv;
|
||||
old_argc = e->loc->argc;
|
||||
} else {
|
||||
old_argv = (char **) 0;
|
||||
old_argv = NULL;
|
||||
old_argc = 0;
|
||||
}
|
||||
newenv(E_INCL);
|
||||
|
@ -698,10 +698,10 @@ cleanup_parents_env(void)
|
|||
if (ep->savefd[fd] > 0)
|
||||
close(ep->savefd[fd]);
|
||||
afree(ep->savefd, &ep->area);
|
||||
ep->savefd = (short *) 0;
|
||||
ep->savefd = NULL;
|
||||
}
|
||||
}
|
||||
e->oenv = (struct env *) 0;
|
||||
e->oenv = NULL;
|
||||
}
|
||||
|
||||
/* Called just before an execve cleanup stuff temporary files */
|
||||
|
|
32
misc.c
32
misc.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/misc.c,v 2.5 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/misc.c,v 2.6 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: misc.c,v 1.20 2003/10/22 07:40:38 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -13,7 +13,7 @@
|
|||
#include <sys/ioctl.h>
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/misc.c,v 2.5 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/misc.c,v 2.6 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
#ifndef UCHAR_MAX
|
||||
# define UCHAR_MAX 0xFF
|
||||
|
@ -132,7 +132,7 @@ const struct option options[] = {
|
|||
{ "braceexpand", 0, OF_ANY }, /* non-standard */
|
||||
#endif
|
||||
{ "bgnice", 0, OF_ANY },
|
||||
{ (char *) 0, 'c', OF_CMDLINE },
|
||||
{ NULL, 'c', OF_CMDLINE },
|
||||
{ "emacs", 0, OF_ANY },
|
||||
{ "emacs-usemeta", 0, OF_ANY }, /* non-standard */
|
||||
{ "errexit", 'e', OF_ANY },
|
||||
|
@ -145,7 +145,7 @@ const struct option options[] = {
|
|||
#ifdef JOBS
|
||||
{ "monitor", 'm', OF_ANY },
|
||||
#else /* JOBS */
|
||||
{ (char *) 0, 'm', 0 }, /* so FMONITOR not ifdef'd */
|
||||
{ NULL, 'm', 0 }, /* so FMONITOR not ifdef'd */
|
||||
#endif /* JOBS */
|
||||
{ "noclobber", 'C', OF_ANY },
|
||||
{ "noexec", 'n', OF_ANY },
|
||||
|
@ -173,7 +173,7 @@ const struct option options[] = {
|
|||
/* Anonymous flags: used internally by shell only
|
||||
* (not visible to user)
|
||||
*/
|
||||
{ (char *) 0, 0, OF_INTERNAL }, /* FTALKING_I */
|
||||
{ NULL, 0, OF_INTERNAL }, /* FTALKING_I */
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -316,7 +316,7 @@ parse_args(char **argv, int what, int *setargsp)
|
|||
static char cmd_opts[NELEM(options) + 5]; /* o:T:\0 */
|
||||
static char set_opts[NELEM(options) + 5]; /* Ao;s\0 */
|
||||
char *opts;
|
||||
char *array = (char *) 0;
|
||||
char *array = NULL;
|
||||
Getopt go;
|
||||
int i, optc, set, sortargs = 0, arrayset = 0;
|
||||
unsigned u;
|
||||
|
@ -378,7 +378,7 @@ parse_args(char **argv, int what, int *setargsp)
|
|||
case 'o':
|
||||
if (what == OF_FIRSTTIME)
|
||||
break;
|
||||
if (go.optarg == (char *) 0) {
|
||||
if (go.optarg == NULL) {
|
||||
/* lone -o: print options
|
||||
*
|
||||
* Note that on the command line, -o requires
|
||||
|
@ -785,7 +785,7 @@ pat_scan(const unsigned char *p, const unsigned char *pe, int match_sep)
|
|||
if ((*p & 0x80) && strchr("*+?@! ", *p & 0x7f))
|
||||
nest++;
|
||||
}
|
||||
return (const unsigned char *) 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@ -892,7 +892,7 @@ void
|
|||
ksh_getopt_reset(Getopt *go, int flags)
|
||||
{
|
||||
go->optind = 1;
|
||||
go->optarg = (char *) 0;
|
||||
go->optarg = NULL;
|
||||
go->p = 0;
|
||||
go->flags = flags;
|
||||
go->info = 0;
|
||||
|
@ -940,7 +940,7 @@ ksh_getopt(char **argv, Getopt *go, const char *options)
|
|||
go->info |= GI_MINUSMINUS;
|
||||
return EOF;
|
||||
}
|
||||
if (arg == (char *) 0
|
||||
if (arg == NULL
|
||||
|| ((flag != '-' ) /* neither a - nor a + (if + allowed) */
|
||||
&& (!(go->flags & GF_PLUSOPT) || flag != '+'))
|
||||
|| (c = arg[1]) == '\0')
|
||||
|
@ -979,7 +979,7 @@ ksh_getopt(char **argv, Getopt *go, const char *options)
|
|||
else if (argv[go->optind])
|
||||
go->optarg = argv[go->optind++];
|
||||
else if (*o == ';')
|
||||
go->optarg = (char *) 0;
|
||||
go->optarg = NULL;
|
||||
else {
|
||||
if (options[0] == ':') {
|
||||
go->buf[0] = c;
|
||||
|
@ -1008,13 +1008,13 @@ ksh_getopt(char **argv, Getopt *go, const char *options)
|
|||
go->optarg = argv[go->optind - 1] + go->p;
|
||||
go->p = 0;
|
||||
} else
|
||||
go->optarg = (char *) 0;
|
||||
go->optarg = NULL;
|
||||
} else {
|
||||
if (argv[go->optind] && digit(argv[go->optind][0])) {
|
||||
go->optarg = argv[go->optind++];
|
||||
go->p = 0;
|
||||
} else
|
||||
go->optarg = (char *) 0;
|
||||
go->optarg = NULL;
|
||||
}
|
||||
}
|
||||
return c;
|
||||
|
@ -1225,7 +1225,7 @@ reset_nonblock(int fd)
|
|||
{ \
|
||||
DIR *d = ksh_opendir("."); \
|
||||
if (!d) \
|
||||
return (char *) 0; \
|
||||
return NULL; \
|
||||
closedir(d); \
|
||||
}
|
||||
#else /* HPUX_GETWD_BUG */
|
||||
|
@ -1276,7 +1276,7 @@ ksh_get_wd(char *buf, int bsize)
|
|||
errno = EACCES;
|
||||
if (b != buf)
|
||||
afree(b, ATEMP);
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
}
|
||||
len = strlen(b) + 1;
|
||||
if (!buf)
|
||||
|
@ -1284,7 +1284,7 @@ ksh_get_wd(char *buf, int bsize)
|
|||
else if (buf != b) {
|
||||
if (len > bsize) {
|
||||
errno = ERANGE;
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
}
|
||||
memcpy(buf, b, len);
|
||||
afree(b, ATEMP);
|
||||
|
|
10
missing.c
10
missing.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/missing.c,v 2.3 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/missing.c,v 2.4 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: missing.c,v 1.5 2003/05/16 18:49:46 jsyn Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,7 @@
|
|||
#include "ksh_stat.h"
|
||||
#include "ksh_dir.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/missing.c,v 2.3 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/missing.c,v 2.4 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
#ifndef HAVE_MEMSET
|
||||
void *
|
||||
|
@ -222,7 +222,7 @@ ksh_times(tms)
|
|||
tms->tms_cstime = ru.ru_stime.tv_sec * CLK_TCK
|
||||
+ ru.ru_stime.tv_usec * CLK_TCK / 1000000;
|
||||
|
||||
gettimeofday(&tv, (struct timezone *) 0);
|
||||
gettimeofday(&tv, NULL);
|
||||
if (base_sec == 0)
|
||||
base_sec = tv.tv_sec;
|
||||
rv = (tv.tv_sec - base_sec) * CLK_TCK;
|
||||
|
@ -259,10 +259,10 @@ ksh_opendir(d)
|
|||
struct stat statb;
|
||||
|
||||
if (stat(d, &statb) != 0)
|
||||
return (DIR *) 0;
|
||||
return NULL;
|
||||
if (!S_ISDIR(statb.st_mode)) {
|
||||
errno = ENOTDIR;
|
||||
return (DIR *) 0;
|
||||
return NULL;
|
||||
}
|
||||
return opendir(d);
|
||||
}
|
||||
|
|
16
path.c
16
path.c
|
@ -1,10 +1,10 @@
|
|||
/** $MirBSD: src/bin/ksh/path.c,v 2.2 2004/12/13 19:05:09 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/path.c,v 2.3 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: path.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
||||
|
||||
#include "sh.h"
|
||||
#include "ksh_stat.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/path.c,v 2.2 2004/12/13 19:05:09 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/path.c,v 2.3 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
/*
|
||||
* Contains a routine to search a : separated list of
|
||||
|
@ -74,7 +74,7 @@ make_path(const char *cwd, const char *file, char **cdpathp, XString *xsp, int *
|
|||
for (pend = plist; *pend && *pend != PATHSEP; pend++)
|
||||
;
|
||||
plen = pend - plist;
|
||||
*cdpathp = *pend ? ++pend : (char *) 0;
|
||||
*cdpathp = *pend ? ++pend : NULL;
|
||||
}
|
||||
|
||||
if ((use_cdpath == 0 || !plen || ISRELPATH(plist))
|
||||
|
@ -103,7 +103,7 @@ make_path(const char *cwd, const char *file, char **cdpathp, XString *xsp, int *
|
|||
memcpy(xp, file, len);
|
||||
|
||||
if (!use_cdpath)
|
||||
*cdpathp = (char *) 0;
|
||||
*cdpathp = NULL;
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ set_current_wd(char *path)
|
|||
int len;
|
||||
char *p = path;
|
||||
|
||||
if (!p && !(p = ksh_get_wd((char *) 0, 0)))
|
||||
if (!p && !(p = ksh_get_wd(NULL, 0)))
|
||||
p = null;
|
||||
|
||||
len = strlen(p) + 1;
|
||||
|
@ -224,7 +224,7 @@ get_phys_path(const char *path)
|
|||
xp = do_phys_path(&xs, xp, path);
|
||||
|
||||
if (!xp)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
|
||||
if (Xlength(xs, xp) == 0)
|
||||
Xput(xs, xp, DIRSEP);
|
||||
|
@ -270,7 +270,7 @@ do_phys_path(XString *xsp, char *xp, const char *path)
|
|||
if (llen < 0) {
|
||||
/* EINVAL means it wasn't a symlink... */
|
||||
if (errno != EINVAL)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
continue;
|
||||
}
|
||||
lbuf[llen] = '\0';
|
||||
|
@ -279,7 +279,7 @@ do_phys_path(XString *xsp, char *xp, const char *path)
|
|||
xp = ISABSPATH(lbuf) ? Xstring(*xsp, xp)
|
||||
: Xrestpos(*xsp, xp, savepos);
|
||||
if (!(xp = do_phys_path(xsp, xp, lbuf)))
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
}
|
||||
return xp;
|
||||
}
|
||||
|
|
10
shf.c
10
shf.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/shf.c,v 2.2 2004/12/13 19:05:09 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/shf.c,v 2.3 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: shf.c,v 1.8 2003/02/28 09:45:09 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,7 @@
|
|||
#include "ksh_stat.h"
|
||||
#include "ksh_limval.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/shf.c,v 2.2 2004/12/13 19:05:09 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/shf.c,v 2.3 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
/* flags to shf_emptybuf() */
|
||||
#define EB_READSW 0x01 /* about to switch to reading */
|
||||
|
@ -96,7 +96,7 @@ shf_fdopen(int fd, int sflags, struct shf *shf)
|
|||
shf->buf = (unsigned char *) alloc(bsize, ATEMP);
|
||||
sflags |= SHF_ALLOCB;
|
||||
} else
|
||||
shf->buf = (unsigned char *) 0;
|
||||
shf->buf = NULL;
|
||||
} else {
|
||||
shf = (struct shf *) alloc(sizeof(struct shf) + bsize, ATEMP);
|
||||
shf->buf = (unsigned char *) &shf[1];
|
||||
|
@ -520,7 +520,7 @@ shf_getse(char *buf, int bsize, struct shf *shf)
|
|||
internal_errorf(1, "shf_getse: flags %x", shf->flags);
|
||||
|
||||
if (bsize <= 0)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
|
||||
--bsize; /* save room for null */
|
||||
do {
|
||||
|
@ -749,7 +749,7 @@ shf_smprintf(const char *fmt, ...)
|
|||
struct shf shf;
|
||||
va_list args;
|
||||
|
||||
shf_sopen((char *) 0, 0, SHF_WR|SHF_DYNAMIC, &shf);
|
||||
shf_sopen(NULL, 0, SHF_WR|SHF_DYNAMIC, &shf);
|
||||
SH_VA_START(args, fmt);
|
||||
shf_vfprintf(&shf, fmt, args);
|
||||
va_end(args);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
# $MirBSD: src/bin/ksh/siglist.sh,v 2.1 2004/12/10 18:09:42 tg Exp $
|
||||
# $MirBSD: src/bin/ksh/siglist.sh,v 2.2 2004/12/18 19:22:30 tg Exp $
|
||||
# $OpenBSD: siglist.sh,v 1.4 1997/06/19 13:58:47 kstailey Exp $
|
||||
#
|
||||
# Script to generate a sorted, complete list of signals, suitable
|
||||
|
@ -31,7 +31,7 @@ sed -n 's/{ QwErTy/{/p' < $out | awk '{print NR, $0}' | sort +2n +0n |
|
|||
n = $2;
|
||||
if (n > 0 && n != last) {
|
||||
while (++last < n) {
|
||||
printf "\t{ %d , (char *) 0, `Signal %d` } ,\n", last, last;
|
||||
printf "\t{ %d , NULL, `Signal %d` } ,\n", last, last;
|
||||
}
|
||||
print;
|
||||
}
|
||||
|
|
40
syn.c
40
syn.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/syn.c,v 2.3 2004/12/18 18:58:30 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/syn.c,v 2.4 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: syn.c,v 1.14 2003/10/22 07:40:38 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
|||
#include "sh.h"
|
||||
#include "c_test.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/syn.c,v 2.3 2004/12/18 18:58:30 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/syn.c,v 2.4 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
struct nesting_state {
|
||||
int start_token; /* token than began nesting (eg, FOR) */
|
||||
|
@ -72,7 +72,7 @@ yyparse(void)
|
|||
if (c == 0 && !outtree)
|
||||
outtree = newtp(TEOF);
|
||||
else if (c != '\n' && c != 0)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
}
|
||||
|
||||
static struct op *
|
||||
|
@ -84,7 +84,7 @@ pipeline(int cf)
|
|||
if (t != NULL) {
|
||||
while (token(0) == '|') {
|
||||
if ((p = get_command(CONTIN)) == NULL)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
if (tl == NULL)
|
||||
t = tl = block(TPIPE, t, p, NOWORDS);
|
||||
else
|
||||
|
@ -105,7 +105,7 @@ andor(void)
|
|||
if (t != NULL) {
|
||||
while ((c = token(0)) == LOGAND || c == LOGOR) {
|
||||
if ((p = pipeline(CONTIN)) == NULL)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
t = block(c == LOGAND? TAND: TOR, t, p, NOWORDS);
|
||||
}
|
||||
REJECT;
|
||||
|
@ -178,7 +178,7 @@ static void
|
|||
musthave(int c, int cf)
|
||||
{
|
||||
if ((token(cf)) != c)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
}
|
||||
|
||||
static struct op *
|
||||
|
@ -261,7 +261,7 @@ get_command(int cf)
|
|||
/* Must be a function */
|
||||
if (iopn != 0 || XPsize(args) != 1
|
||||
|| XPsize(vars) != 0)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
ACCEPT;
|
||||
/*(*/
|
||||
musthave(')', 0);
|
||||
|
@ -360,8 +360,8 @@ get_command(int cf)
|
|||
case BANG:
|
||||
syniocf &= ~(KEYWORD|ALIAS);
|
||||
t = pipeline(0);
|
||||
if (t == (struct op *) 0)
|
||||
syntaxerr((char *) 0);
|
||||
if (t == NULL)
|
||||
syntaxerr(NULL);
|
||||
t = block(TBANG, NOBLOCK, t, NOWORDS);
|
||||
break;
|
||||
|
||||
|
@ -423,7 +423,7 @@ dogroup(void)
|
|||
else if (c == '{')
|
||||
c = '}';
|
||||
else
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
list = c_list(TRUE);
|
||||
musthave(c, KEYWORD|ALIAS);
|
||||
return list;
|
||||
|
@ -438,7 +438,7 @@ thenpart(void)
|
|||
t = newtp(0);
|
||||
t->left = c_list(TRUE);
|
||||
if (t->left == NULL)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
t->right = elsepart();
|
||||
return (t);
|
||||
}
|
||||
|
@ -451,7 +451,7 @@ elsepart(void)
|
|||
switch (token(KEYWORD|ALIAS|VARASN)) {
|
||||
case ELSE:
|
||||
if ((t = c_list(TRUE)) == NULL)
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
return (t);
|
||||
|
||||
case ELIF:
|
||||
|
@ -479,7 +479,7 @@ caselist(void)
|
|||
else if (c == '{')
|
||||
c = '}';
|
||||
else
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
t = tl = NULL;
|
||||
while ((tpeek(CONTIN|KEYWORD|ESACONLY)) != c) { /* no ALIAS here */
|
||||
struct op *tc = casepart(c);
|
||||
|
@ -557,7 +557,7 @@ function_body(char *name, int ksh_func)
|
|||
|
||||
old_func_parse = e->flags & EF_FUNC_PARSE;
|
||||
e->flags |= EF_FUNC_PARSE;
|
||||
if ((t->left = get_command(CONTIN)) == (struct op *) 0) {
|
||||
if ((t->left = get_command(CONTIN)) == NULL) {
|
||||
/*
|
||||
* Probably something like foo() followed by eof or ;.
|
||||
* This is accepted by sh and ksh88.
|
||||
|
@ -570,9 +570,9 @@ function_body(char *name, int ksh_func)
|
|||
t->left->args[0][0] = CHAR;
|
||||
t->left->args[0][1] = ':';
|
||||
t->left->args[0][2] = EOS;
|
||||
t->left->args[1] = (char *) 0;
|
||||
t->left->args[1] = NULL;
|
||||
t->left->vars = (char **) alloc(sizeof(char *), ATEMP);
|
||||
t->left->vars[0] = (char *) 0;
|
||||
t->left->vars[0] = NULL;
|
||||
t->left->lineno = 1;
|
||||
}
|
||||
if (!old_func_parse)
|
||||
|
@ -597,7 +597,7 @@ wordlist(void)
|
|||
while ((c = token(0)) == LWORD)
|
||||
XPput(args, yylval.cp);
|
||||
if (c != '\n' && c != ';')
|
||||
syntaxerr((char *) 0);
|
||||
syntaxerr(NULL);
|
||||
if (XPsize(args) == 0) {
|
||||
XPfree(args);
|
||||
return NULL;
|
||||
|
@ -703,7 +703,7 @@ syntaxerr(const char *what)
|
|||
/*NOTREACHED*/
|
||||
|
||||
case LWORD:
|
||||
s = snptreef((char *) 0, 32, "%S", yylval.cp);
|
||||
s = snptreef(NULL, 32, "%S", yylval.cp);
|
||||
break;
|
||||
|
||||
case REDIR:
|
||||
|
@ -830,7 +830,7 @@ dbtestp_isa(Test_env *te, Test_meta meta)
|
|||
{
|
||||
int c = tpeek(ARRAYVAR | (meta == TM_BINOP ? 0 : CONTIN));
|
||||
int uqword = 0;
|
||||
char *save = (char *) 0;
|
||||
char *save = NULL;
|
||||
int ret = 0;
|
||||
|
||||
/* unquoted word? */
|
||||
|
@ -876,7 +876,7 @@ dbtestp_getopnd(Test_env *te, Test_op op GCC_FUNC_ATTR(unused),
|
|||
int c = tpeek(ARRAYVAR);
|
||||
|
||||
if (c != LWORD)
|
||||
return (const char *) 0;
|
||||
return NULL;
|
||||
|
||||
ACCEPT;
|
||||
XPput(*te->pos.av, yylval.cp);
|
||||
|
|
6
table.c
6
table.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/table.c,v 2.1 2004/12/10 18:09:42 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/table.c,v 2.2 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: table.c,v 1.5 1999/01/10 17:55:03 millert Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "sh.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/table.c,v 2.1 2004/12/10 18:09:42 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/table.c,v 2.2 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
#define INIT_TBLS 8 /* initial table size (power of 2) */
|
||||
|
||||
|
@ -124,7 +124,7 @@ tenter(struct table *tp, const char *n, unsigned int h)
|
|||
p->type = 0;
|
||||
p->areap = tp->areap;
|
||||
p->u2.field = 0;
|
||||
p->u.array = (struct tbl *)0;
|
||||
p->u.array = NULL;
|
||||
memcpy(p->name, n, len);
|
||||
|
||||
/* enter in tp->tbls */
|
||||
|
|
16
trap.c
16
trap.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/trap.c,v 2.2 2004/12/18 18:58:31 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/trap.c,v 2.3 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: trap.c,v 1.13 2003/02/28 09:45:09 jmc Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define FROM_TRAP_C
|
||||
#include "sh.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/trap.c,v 2.2 2004/12/18 18:58:31 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/trap.c,v 2.3 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
/* Table is indexed by signal number
|
||||
*
|
||||
|
@ -137,7 +137,7 @@ trapsig(int i)
|
|||
(*p->shtrap)(i);
|
||||
#ifdef V7_SIGNALS
|
||||
if (sigtraps[i].cursig == trapsig) /* this for SIGCHLD,SIGALRM */
|
||||
sigaction(i, &Sigact_trap, (struct sigaction *) 0);
|
||||
sigaction(i, &Sigact_trap, NULL);
|
||||
#endif /* V7_SIGNALS */
|
||||
errno = errno_;
|
||||
return RETSIGVAL;
|
||||
|
@ -215,7 +215,7 @@ runtraps(int flag)
|
|||
fatal_trap = 0;
|
||||
for (p = sigtraps, i = SIGNALS+1; --i >= 0; p++)
|
||||
if (p->set && (!flag
|
||||
|| ((p->flags & flag) && p->trap == (char *) 0)))
|
||||
|| ((p->flags & flag) && p->trap == NULL)))
|
||||
runtrap(p);
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ runtrap(Trap *p)
|
|||
int UNINITIALIZED(old_changed);
|
||||
|
||||
p->set = 0;
|
||||
if (trapstr == (char *) 0) { /* SIG_DFL */
|
||||
if (trapstr == NULL) { /* SIG_DFL */
|
||||
if (p->flags & TF_FATAL) {
|
||||
/* eg, SIGHUP */
|
||||
exstat = 128 + i;
|
||||
|
@ -246,7 +246,7 @@ runtrap(Trap *p)
|
|||
if (i == SIGEXIT_ || i == SIGERR_) { /* avoid recursion on these */
|
||||
old_changed = p->flags & TF_CHANGED;
|
||||
p->flags &= ~TF_CHANGED;
|
||||
p->trap = (char *) 0;
|
||||
p->trap = NULL;
|
||||
}
|
||||
oexstat = exstat;
|
||||
/* Note: trapstr is fully parsed before anything is executed, thus
|
||||
|
@ -277,7 +277,7 @@ cleartraps(void)
|
|||
for (i = SIGNALS+1, p = sigtraps; --i >= 0; p++) {
|
||||
p->set = 0;
|
||||
if ((p->flags & TF_USER_SET) && (p->trap && p->trap[0]))
|
||||
settrap(p, (char *) 0);
|
||||
settrap(p, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -403,7 +403,7 @@ setsig(Trap *p, handler_t f, int flags)
|
|||
sigemptyset(&sigact.sa_mask);
|
||||
sigact.sa_flags = KSH_SA_FLAGS;
|
||||
sigact.sa_handler = f;
|
||||
sigaction(p->signal, &sigact, (struct sigaction *) 0);
|
||||
sigaction(p->signal, &sigact, NULL);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
12
tree.c
12
tree.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/tree.c,v 2.2 2004/12/18 18:58:32 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/tree.c,v 2.3 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: tree.c,v 1.10 2002/02/27 19:37:09 dhartmei Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "sh.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/tree.c,v 2.2 2004/12/18 18:58:32 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/tree.c,v 2.3 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
#define INDENT 4
|
||||
|
||||
|
@ -553,7 +553,7 @@ wdstrip(const char *wp)
|
|||
struct shf shf;
|
||||
int c;
|
||||
|
||||
shf_sopen((char *) 0, 32, SHF_WR | SHF_DYNAMIC, &shf);
|
||||
shf_sopen(NULL, 32, SHF_WR | SHF_DYNAMIC, &shf);
|
||||
|
||||
/* problems:
|
||||
* `...` -> $(...)
|
||||
|
@ -629,11 +629,11 @@ iocopy(struct ioword **iow, Area *ap)
|
|||
q = (struct ioword *) alloc(sizeof(*p), ap);
|
||||
ior[i] = q;
|
||||
*q = *p;
|
||||
if (p->name != (char *) 0)
|
||||
if (p->name != NULL)
|
||||
q->name = wdcopy(p->name, ap);
|
||||
if (p->delim != (char *) 0)
|
||||
if (p->delim != NULL)
|
||||
q->delim = wdcopy(p->delim, ap);
|
||||
if (p->heredoc != (char *) 0)
|
||||
if (p->heredoc != NULL)
|
||||
q->heredoc = str_save(p->heredoc, ap);
|
||||
}
|
||||
ior[i] = NULL;
|
||||
|
|
22
var.c
22
var.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/var.c,v 2.4 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/var.c,v 2.5 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: var.c,v 1.17 2004/05/08 19:42:35 deraadt Exp $ */
|
||||
|
||||
#include "sh.h"
|
||||
|
@ -7,7 +7,7 @@
|
|||
#include "ksh_stat.h"
|
||||
#include <ctype.h>
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/var.c,v 2.4 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/var.c,v 2.5 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
/*
|
||||
* Variables
|
||||
|
@ -102,7 +102,7 @@ initvar(void)
|
|||
{ "SECONDS", V_SECONDS },
|
||||
{ "TMOUT", V_TMOUT },
|
||||
{ "LINENO", V_LINENO },
|
||||
{ (char *) 0, 0 }
|
||||
{ NULL, 0 }
|
||||
};
|
||||
int i;
|
||||
struct tbl *tp;
|
||||
|
@ -255,7 +255,7 @@ local(const char *n, bool_t copy)
|
|||
vp = tenter(&l->vars, n, h);
|
||||
if (copy && !(vp->flag & DEFINED)) {
|
||||
struct block *ll = l;
|
||||
struct tbl *vq = (struct tbl *) 0;
|
||||
struct tbl *vq = NULL;
|
||||
|
||||
while ((ll = ll->next) && !(vq = tsearch(&ll->vars, n, h)))
|
||||
;
|
||||
|
@ -645,11 +645,11 @@ typeset(const char *var, Tflag set, Tflag clr, int field, int base)
|
|||
if (fake_assign) {
|
||||
if (t->flag & INTEGER) {
|
||||
s = str_val(t);
|
||||
free_me = (char *) 0;
|
||||
free_me = NULL;
|
||||
} else {
|
||||
s = t->val.s + t->type;
|
||||
free_me = (t->flag & ALLOC) ? t->val.s
|
||||
: (char *) 0;
|
||||
: NULL;
|
||||
}
|
||||
t->flag &= ~ALLOC;
|
||||
}
|
||||
|
@ -729,7 +729,7 @@ unset(struct tbl *vp, int array_ref)
|
|||
afree((void *) tmp->val.s, tmp->areap);
|
||||
afree(tmp, tmp->areap);
|
||||
}
|
||||
vp->u.array = (struct tbl *) 0;
|
||||
vp->u.array = NULL;
|
||||
}
|
||||
/* If foo[0] is being unset, the remainder of the array is kept... */
|
||||
vp->flag &= SPECIAL | (array_ref ? ARRAY|DEFINED : 0);
|
||||
|
@ -894,7 +894,7 @@ getspec(struct tbl *vp)
|
|||
* (see initcoms[] in main.c).
|
||||
*/
|
||||
if (vp->flag & ISSET)
|
||||
setint(vp, (long) (time((time_t *)0) - seconds));
|
||||
setint(vp, (long) (time(NULL) - seconds));
|
||||
vp->flag |= SPECIAL;
|
||||
break;
|
||||
case V_RANDOM:
|
||||
|
@ -947,7 +947,7 @@ setspec(struct tbl *vp)
|
|||
case V_TMPDIR:
|
||||
if (tmpdir) {
|
||||
afree(tmpdir, APERM);
|
||||
tmpdir = (char *) 0;
|
||||
tmpdir = NULL;
|
||||
}
|
||||
/* Use tmpdir iff it is an absolute path, is writable and
|
||||
* searchable and is a directory...
|
||||
|
@ -986,7 +986,7 @@ setspec(struct tbl *vp)
|
|||
break;
|
||||
case V_SECONDS:
|
||||
vp->flag &= ~SPECIAL;
|
||||
seconds = time((time_t*) 0) - intval(vp);
|
||||
seconds = time(NULL) - intval(vp);
|
||||
vp->flag |= SPECIAL;
|
||||
break;
|
||||
case V_TMOUT:
|
||||
|
@ -1021,7 +1021,7 @@ unsetspec(struct tbl *vp)
|
|||
/* should not become unspecial */
|
||||
if (tmpdir) {
|
||||
afree(tmpdir, APERM);
|
||||
tmpdir = (char *) 0;
|
||||
tmpdir = NULL;
|
||||
}
|
||||
break;
|
||||
case V_LINENO:
|
||||
|
|
10
vi.c
10
vi.c
|
@ -1,4 +1,4 @@
|
|||
/** $MirBSD: src/bin/ksh/vi.c,v 2.3 2004/12/18 19:17:10 tg Exp $ */
|
||||
/** $MirBSD: src/bin/ksh/vi.c,v 2.4 2004/12/18 19:22:30 tg Exp $ */
|
||||
/* $OpenBSD: vi.c,v 1.13 2004/05/10 16:28:47 pvalchev Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -14,7 +14,7 @@
|
|||
#include "ksh_stat.h" /* completion */
|
||||
#include "edit.h"
|
||||
|
||||
__RCSID("$MirBSD: src/bin/ksh/vi.c,v 2.3 2004/12/18 19:17:10 tg Exp $");
|
||||
__RCSID("$MirBSD: src/bin/ksh/vi.c,v 2.4 2004/12/18 19:22:30 tg Exp $");
|
||||
|
||||
#define Ctrl(c) (c&0x1f)
|
||||
#define is_wordch(c) (letnum(c))
|
||||
|
@ -1901,7 +1901,7 @@ expand_word(int command)
|
|||
|
||||
nwords = x_cf_glob(XCF_COMMAND_FILE|XCF_FULLPATH,
|
||||
es->cbuf, es->linelen, es->cursor,
|
||||
&start, &end, &words, (int *) 0);
|
||||
&start, &end, &words, NULL);
|
||||
if (nwords == 0) {
|
||||
vi_error();
|
||||
return -1;
|
||||
|
@ -1987,12 +1987,12 @@ complete_word(int command, int count)
|
|||
*/
|
||||
if (is_command) {
|
||||
match = words[count]
|
||||
+ x_basename(words[count], (char *) 0);
|
||||
+ x_basename(words[count], NULL);
|
||||
/* If more than one possible match, use full path */
|
||||
for (i = 0; i < nwords; i++)
|
||||
if (i != count &&
|
||||
FILECMP(words[i]
|
||||
+ x_basename(words[i], (char *) 0),
|
||||
+ x_basename(words[i], NULL),
|
||||
match) == 0)
|
||||
{
|
||||
match = words[count];
|
||||
|
|
Loading…
Reference in New Issue