Changed bb_regcomp to xregcomp and #if 0'ed out destroy_cmd_strs in sed.c
[oweals/busybox.git] / utility.c
index ef52ce2f7142f23a8e08a68783e29aa58eece441..61f67618d80cad705bd1a84636b2b613b3bb0b26 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -94,6 +94,7 @@ extern void errorMsg(const char *s, ...)
 
        va_start(p, s);
        fflush(stdout);
+       fprintf(stderr, "%s: ", applet_name);
        vfprintf(stderr, s, p);
        va_end(p);
        fflush(stderr);
@@ -105,6 +106,7 @@ extern void fatalError(const char *s, ...)
 
        va_start(p, s);
        fflush(stdout);
+       fprintf(stderr, "%s: ", applet_name);
        vfprintf(stderr, s, p);
        va_end(p);
        fflush(stderr);
@@ -133,12 +135,10 @@ extern int get_kernel_revision(void)
 
 
 #if defined BB_FREE || defined BB_INIT || defined BB_UNAME || defined BB_UPTIME
-#include <sys/syscall.h>
 _syscall1(int, sysinfo, struct sysinfo *, info);
 #endif                                                 /* BB_INIT */
 
 #if defined BB_MOUNT || defined BB_UMOUNT
-#include <sys/syscall.h>
 
 #ifndef __NR_umount2
 #define __NR_umount2           52
@@ -1362,7 +1362,7 @@ extern pid_t* findPidByName( char* pidName)
                                && (strlen(pidName) == strlen(info.command_line))) {
                        pidList=realloc( pidList, sizeof(pid_t) * (j+2));
                        if (pidList==NULL)
-                               fatalError(memory_exhausted, "");
+                               fatalError(memory_exhausted);
                        pidList[j++]=info.pid;
                }
        }
@@ -1435,7 +1435,7 @@ extern pid_t* findPidByName( char* pidName)
                                && (strlen(pidName) == strlen(p))) {
                        pidList=realloc( pidList, sizeof(pid_t) * (i+2));
                        if (pidList==NULL)
-                               fatalError(memory_exhausted, "");
+                               fatalError(memory_exhausted);
                        pidList[i++]=strtol(next->d_name, NULL, 0);
                }
        }
@@ -1452,10 +1452,40 @@ extern void *xmalloc(size_t size)
        void *cp = malloc(size);
 
        if (cp == NULL)
-               fatalError(memory_exhausted, "");
+               fatalError(memory_exhausted);
        return cp;
 }
 
+#if defined BB_FEATURE_NFSMOUNT
+extern char * xstrdup (const char *s) {
+       char *t;
+
+       if (s == NULL)
+               return NULL;
+
+       t = strdup (s);
+
+       if (t == NULL)
+               fatalError(memory_exhausted);
+
+       return t;
+}
+
+extern char * xstrndup (const char *s, int n) {
+       char *t;
+
+       if (s == NULL)
+               fatalError("xstrndup bug");
+
+       t = xmalloc(n+1);
+       strncpy(t,s,n);
+       t[n] = 0;
+
+       return t;
+}
+#endif
+
+
 #if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
 extern int vdprintf(int d, const char *format, va_list ap)
 {
@@ -1691,6 +1721,19 @@ char *get_last_path_component(char *path)
 }
 #endif
 
+#if defined BB_GREP || defined BB_SED
+void xregcomp(regex_t *preg, const char *regex, int cflags)
+{
+       int ret;
+       if ((ret = regcomp(preg, regex, cflags)) != 0) {
+               int errmsgsz = regerror(ret, preg, NULL, 0);
+               char *errmsg = xmalloc(errmsgsz);
+               regerror(ret, preg, errmsg, errmsgsz);
+               fatalError("bb_regcomp: %s\n", errmsg);
+       }
+}
+#endif
+
 /* END CODE */
 /*
 Local Variables: