strsave() is hard-fail strdup() so simplify and rename to xstrdup().
authormiko <miko@openbsd.org>
Sat, 15 Sep 2018 12:15:32 +0000 (12:15 +0000)
committermiko <miko@openbsd.org>
Sat, 15 Sep 2018 12:15:32 +0000 (12:15 +0000)
with help from martijn@.

ok millert@ martijn@

bin/csh/error.c
bin/csh/extern.h
bin/csh/misc.c
bin/csh/str.c

index 723a621..6d8aa83 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: error.c,v 1.14 2018/09/08 01:28:39 miko Exp $ */
+/*     $OpenBSD: error.c,v 1.15 2018/09/15 12:15:32 miko Exp $ */
 /*     $NetBSD: err.c,v 1.6 1995/03/21 09:02:47 cgd Exp $      */
 
 /*-
@@ -289,7 +289,7 @@ seterror(int id, ...)
        vsnprintf(berr, sizeof(berr), errorlist[id], va);
        va_end(va);
 
-       seterr = strsave(berr);
+       seterr = xstrdup(berr);
     }
 }
 
index aba5f06..8cc6794 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: extern.h,v 1.26 2017/07/22 09:37:21 anton Exp $       */
+/*     $OpenBSD: extern.h,v 1.27 2018/09/15 12:15:32 miko Exp $        */
 /*     $NetBSD: extern.h,v 1.8 1996/10/31 23:50:54 christos Exp $      */
 
 /*-
@@ -201,7 +201,7 @@ int   prefix(Char *, Char *);
 Char   **saveblk(Char **);
 Char    *strip(Char *);
 Char    *quote(Char *);
-char    *strsave(char *);
+char    *xstrdup(const char *);
 char    *strspl(char *, char *);
 void     udvar(Char *);
 
index 5fc9e8d..f603076 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: misc.c,v 1.20 2017/06/20 16:44:06 anton Exp $ */
+/*     $OpenBSD: misc.c,v 1.21 2018/09/15 12:15:32 miko Exp $  */
 /*     $NetBSD: misc.c,v 1.6 1995/03/21 09:03:09 cgd Exp $     */
 
 /*-
@@ -34,6 +34,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdarg.h>
+#include <string.h>
 
 #include "csh.h"
 #include "extern.h"
@@ -53,18 +54,16 @@ any(char *s, int c)
 }
 
 char   *
-strsave(char *s)
+xstrdup(const char *s)
 {
-    char   *n;
-    char *p;
+    char *n;
 
     if (s == NULL)
        s = "";
-    for (p = s; *p++;)
-       continue;
-    n = p = xreallocarray(NULL, (p - s), sizeof(char));
-    while ((*p++ = *s++) != '\0')
-       continue;
+    if ((n = strdup(s)) == NULL) {
+       child++;
+       stderror(ERR_NOMEM);
+    }
     return (n);
 }
 
index edf45e3..2355bab 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: str.c,v 1.19 2015/10/26 16:31:09 naddy Exp $  */
+/*     $OpenBSD: str.c,v 1.20 2018/09/15 12:15:32 miko Exp $   */
 /*     $NetBSD: str.c,v 1.6 1995/03/21 09:03:24 cgd Exp $      */
 
 /*-
@@ -77,7 +77,7 @@ short2blk(Char **src)
     sdst = dst = xreallocarray(NULL, n + 1, sizeof(char *));
 
     for (; *src != NULL; src++)
-       *dst++ = strsave(short2str(*src));
+       *dst++ = xstrdup(short2str(*src));
     *dst = NULL;
     return (sdst);
 }