looks good to me, any other ok?
null is serious poo and really needs to go as well
On Thu, Sep 10, 2015 at 10:45:46AM -0400, Michael McConville wrote:
> 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);
>
>