Does this look good? I'm not sure why these globals existed.
It looks like it's going to take a little more than search-and-replace
to remove null.
Index: c_ksh.c
===================================================================
RCS file: /cvs/src/bin/ksh/c_ksh.c,v
retrieving revision 1.36
diff -u -p -r1.36 c_ksh.c
--- c_ksh.c 8 Sep 2015 11:35:57 -0000 1.36
+++ c_ksh.c 10 Sep 2015 14:37:54 -0000
@@ -515,7 +515,7 @@ c_whence(char **wp)
break;
}
if (vflag || !ret)
- shprintf(newline);
+ shprintf("\n");
}
return ret;
}
@@ -816,7 +816,7 @@ c_typeset(char **wp)
else
print_value_quoted(s);
}
- shprintf(newline);
+ shprintf("\n");
}
/* Only report first `element' of an
array with
* no set elements.
@@ -906,7 +906,7 @@ c_alias(char **wp)
shf_putc('=', shl_stdout);
print_value_quoted(ap->val.s);
}
- shprintf(newline);
+ shprintf("\n");
}
}
@@ -930,7 +930,7 @@ c_alias(char **wp)
shf_putc('=', shl_stdout);
print_value_quoted(ap->val.s);
}
- shprintf(newline);
+ shprintf("\n");
} else {
shprintf("%s alias not found\n", alias);
rv = 1;
@@ -1184,10 +1184,10 @@ c_kill(char **wp)
}
} else if (Flag(FPOSIX)) {
p = null;
- for (i = 1; i < NSIG; i++, p = space)
+ for (i = 1; i < NSIG; i++, p = " ")
if (sigtraps[i].name)
shprintf("%s%s", p, sigtraps[i].name);
- shprintf(newline);
+ shprintf("\n");
} else {
int w, i;
int mess_width;
Index: emacs.c
===================================================================
RCS file: /cvs/src/bin/ksh/emacs.c,v
retrieving revision 1.51
diff -u -p -r1.51 emacs.c
--- emacs.c 1 Sep 2015 13:12:31 -0000 1.51
+++ emacs.c 10 Sep 2015 14:37:54 -0000
@@ -1758,7 +1758,7 @@ x_expand(int c)
x_delete(end - start, false);
for (i = 0; i < nwords;) {
if (x_escape(words[i], strlen(words[i]), x_emacs_putbuf) < 0 ||
- (++i < nwords && x_ins(space) < 0)) {
+ (++i < nwords && x_ins(" ") < 0)) {
x_e_putc(BEL);
return KSTD;
}
@@ -1806,7 +1806,7 @@ do_complete(int flags, /* XCF_{COMMAND,F
}
/* add space if single non-dir match */
if (nwords == 1 && words[0][nlen - 1] != '/') {
- x_ins(space);
+ x_ins(" ");
completed = 1;
}
@@ -1914,7 +1914,7 @@ x_debug_info(int c)
shellf("\txbp == 0x%lx,\txbuf == 0x%lx\n", (long) xbp, (long) xbuf);
shellf("\txlp == 0x%lx\n", (long) xlp);
shellf("\txlp == 0x%lx\n", (long) x_lastcp());
- shellf(newline);
+ shellf("\n");
x_redraw(-1);
return 0;
}
Index: exec.c
===================================================================
RCS file: /cvs/src/bin/ksh/exec.c,v
retrieving revision 1.51
diff -u -p -r1.51 exec.c
--- exec.c 18 Apr 2015 18:28:36 -0000 1.51
+++ exec.c 10 Sep 2015 14:37:54 -0000
@@ -83,7 +83,7 @@ execute(struct op *volatile t,
PS4_SUBSTITUTE(str_val(global("PS4"))));
for (i = 0; ap[i]; i++)
shf_fprintf(shl_out, "%s%s", ap[i],
- ap[i + 1] ? space : newline);
+ ap[i + 1] ? " " : "\n");
shf_flush(shl_out);
}
if (ap[0])
@@ -499,7 +499,7 @@ comexec(struct op *t, struct tbl *volati
shf_fprintf(shl_out, "%s",
PS4_SUBSTITUTE(str_val(global("PS4"))));
shf_fprintf(shl_out, "%s%s", cp,
- t->vars[i + 1] ? space : newline);
+ t->vars[i + 1] ? " " : "\n");
if (!t->vars[i + 1])
shf_flush(shl_out);
}
Index: jobs.c
===================================================================
RCS file: /cvs/src/bin/ksh/jobs.c,v
retrieving revision 1.42
diff -u -p -r1.42 jobs.c
--- jobs.c 10 Sep 2015 13:04:52 -0000 1.42
+++ jobs.c 10 Sep 2015 14:37:54 -0000
@@ -741,7 +741,7 @@ j_resume(const char *cp, int bg)
}
shprintf("%s%s", p->command, p->next ? "| " : null);
}
- shprintf(newline);
+ shprintf("\n");
shf_flush(shl_stdout);
if (running)
j->state = PRUNNING;
@@ -1409,7 +1409,7 @@ j_print(Job *j, int how, struct shf *shf
while (p && p->state == state && p->status == status) {
if (how == JP_LONG)
shf_fprintf(shf, "%s%5d %-20s %s%s", filler,
p->pid,
- space, p->command, p->next ? "|" : null);
+ " ", p->command, p->next ? "|" : null);
else if (how == JP_MEDIUM)
shf_fprintf(shf, " %s%s", p->command,
p->next ? "|" : null);
@@ -1417,7 +1417,7 @@ j_print(Job *j, int how, struct shf *shf
}
}
if (output)
- shf_fprintf(shf, newline);
+ shf_fprintf(shf, "\n");
}
/* Convert % sequence to job
Index: lex.c
===================================================================
RCS file: /cvs/src/bin/ksh/lex.c,v
retrieving revision 1.50
diff -u -p -r1.50 lex.c
--- lex.c 30 Jul 2015 14:59:12 -0000 1.50
+++ lex.c 10 Sep 2015 14:37:54 -0000
@@ -971,10 +971,10 @@ getsc__(void)
case SWORDSEP:
if (*s->u.strv == NULL) {
- s->start = s->str = newline;
+ s->start = s->str = "\n";
s->type = SEOF;
} else {
- s->start = s->str = space;
+ s->start = s->str = " ";
s->type = SWORDS;
}
break;
Index: main.c
===================================================================
RCS file: /cvs/src/bin/ksh/main.c,v
retrieving revision 1.56
diff -u -p -r1.56 main.c
--- main.c 1 Sep 2015 17:46:31 -0000 1.56
+++ main.c 10 Sep 2015 14:37:54 -0000
@@ -510,7 +510,7 @@ shell(Source *volatile s, volatile int t
case LSHELL:
if (interactive) {
if (i == LINTR)
- shellf(newline);
+ shellf("\n");
/* Reset any eof that was read as part of a
* multiline command.
*/
Index: misc.c
===================================================================
RCS file: /cvs/src/bin/ksh/misc.c,v
retrieving revision 1.40
diff -u -p -r1.40 misc.c
--- misc.c 18 Mar 2015 15:12:36 -0000 1.40
+++ misc.c 10 Sep 2015 14:37:54 -0000
@@ -236,7 +236,7 @@ printoptions(int verbose)
for (i = 0; i < NELEM(options); i++)
if (Flag(i) && options[i].name)
shprintf(" -o %s", options[i].name);
- shprintf(newline);
+ shprintf("\n");
}
}
Index: sh.h
===================================================================
RCS file: /cvs/src/bin/ksh/sh.h,v
retrieving revision 1.34
diff -u -p -r1.34 sh.h
--- sh.h 10 Sep 2015 13:04:52 -0000 1.34
+++ sh.h 10 Sep 2015 14:37:54 -0000
@@ -212,8 +212,6 @@ enum sh_flag {
EXTERN char shell_flags [FNFLAGS];
EXTERN char null [] I__(""); /* null value for variable */
-EXTERN char space [] I__(" ");
-EXTERN char newline [] I__("\n");
enum temp_type {
TT_HEREDOC_EXP, /* expanded heredoc */
Index: vi.c
===================================================================
RCS file: /cvs/src/bin/ksh/vi.c,v
retrieving revision 1.29
diff -u -p -r1.29 vi.c
--- vi.c 1 Sep 2015 13:12:31 -0000 1.29
+++ vi.c 10 Sep 2015 14:37:54 -0000
@@ -1067,7 +1067,7 @@ vi_cmd(int argcnt, const char *cmd)
argcnt++;
p++;
}
- if (putbuf(space, 1, 0) != 0)
+ if (putbuf(" ", 1, 0) != 0)
argcnt = -1;
else if (putbuf(sp, argcnt, 0) != 0)
argcnt = -1;
@@ -1930,7 +1930,7 @@ expand_word(int command)
rval = -1;
break;
}
- if (++i < nwords && putbuf(space, 1, 0) != 0) {
+ if (++i < nwords && putbuf(" ", 1, 0) != 0) {
rval = -1;
break;
}
@@ -2038,7 +2038,7 @@ complete_word(int command, int count)
/* If not a directory, add a space to the end... */
if (match_len > 0 && match[match_len - 1] != '/')
- rval = putbuf(space, 1, 0);
+ rval = putbuf(" ", 1, 0);
}
x_free_words(nwords, words);