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);
 

Reply via email to