[BACK]Return to main.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / usr.bin / make

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/usr.bin/make/main.c between version 1.150 and 1.151

version 1.150, 2008/07/21 14:19:24 version 1.151, 2008/10/06 22:09:21
Line 423  rearg: 
Line 423  rearg: 
                         break;                          break;
                 case 'T':                  case 'T':
                         if (argvalue == NULL) goto noarg;                          if (argvalue == NULL) goto noarg;
                         tracefile = estrdup(argvalue);                          tracefile = bmake_strdup(argvalue);
                         Var_Append(MAKEFLAGS, "-T", VAR_GLOBAL);                          Var_Append(MAKEFLAGS, "-T", VAR_GLOBAL);
                         Var_Append(MAKEFLAGS, argvalue, VAR_GLOBAL);                          Var_Append(MAKEFLAGS, argvalue, VAR_GLOBAL);
                         break;                          break;
Line 543  rearg: 
Line 543  rearg: 
                                 Punt("illegal (null) argument.");                                  Punt("illegal (null) argument.");
                         if (*argv[1] == '-' && !dashDash)                          if (*argv[1] == '-' && !dashDash)
                                 goto rearg;                                  goto rearg;
                         (void)Lst_AtEnd(create, estrdup(argv[1]));                          (void)Lst_AtEnd(create, bmake_strdup(argv[1]));
                 }                  }
   
         return;          return;
Line 588  Main_ParseArgLine(char *line)
Line 588  Main_ParseArgLine(char *line)
         if (!*line)          if (!*line)
                 return;                  return;
   
         buf = emalloc(len = strlen(line) + strlen(argv0) + 2);          buf = bmake_malloc(len = strlen(line) + strlen(argv0) + 2);
         (void)snprintf(buf, len, "%s %s", argv0, line);          (void)snprintf(buf, len, "%s %s", argv0, line);
         if (p1)          if (p1)
                 free(p1);                  free(p1);
Line 943  main(int argc, char **argv)
Line 943  main(int argc, char **argv)
         if (syspath == NULL || *syspath == '\0')          if (syspath == NULL || *syspath == '\0')
                 syspath = defsyspath;                  syspath = defsyspath;
         else          else
                 syspath = estrdup(syspath);                  syspath = bmake_strdup(syspath);
   
         for (start = syspath; *start != '\0'; start = cp) {          for (start = syspath; *start != '\0'; start = cp) {
                 for (cp = start; *cp != '\0' && *cp != ':'; cp++)                  for (cp = start; *cp != '\0' && *cp != ':'; cp++)
Line 1159  ReadMakefile(ClientData p, ClientData q 
Line 1159  ReadMakefile(ClientData p, ClientData q 
         char *fname = p;                /* makefile to read */          char *fname = p;                /* makefile to read */
         int fd;          int fd;
         size_t len = MAXPATHLEN;          size_t len = MAXPATHLEN;
         char *name, *path = emalloc(len);          char *name, *path = bmake_malloc(len);
         int setMAKEFILE;          int setMAKEFILE;
   
         if (!strcmp(fname, "-")) {          if (!strcmp(fname, "-")) {
Line 1172  ReadMakefile(ClientData p, ClientData q 
Line 1172  ReadMakefile(ClientData p, ClientData q 
                 if (strcmp(curdir, objdir) && *fname != '/') {                  if (strcmp(curdir, objdir) && *fname != '/') {
                         size_t plen = strlen(curdir) + strlen(fname) + 2;                          size_t plen = strlen(curdir) + strlen(fname) + 2;
                         if (len < plen)                          if (len < plen)
                                 path = erealloc(path, len = 2 * plen);                                  path = bmake_realloc(path, len = 2 * plen);
   
                         (void)snprintf(path, len, "%s/%s", curdir, fname);                          (void)snprintf(path, len, "%s/%s", curdir, fname);
                         fd = open(path, O_RDONLY);                          fd = open(path, O_RDONLY);
Line 1184  ReadMakefile(ClientData p, ClientData q 
Line 1184  ReadMakefile(ClientData p, ClientData q 
                         /* If curdir failed, try objdir (ala .depend) */                          /* If curdir failed, try objdir (ala .depend) */
                         plen = strlen(objdir) + strlen(fname) + 2;                          plen = strlen(objdir) + strlen(fname) + 2;
                         if (len < plen)                          if (len < plen)
                                 path = erealloc(path, len = 2 * plen);                                  path = bmake_realloc(path, len = 2 * plen);
                         (void)snprintf(path, len, "%s/%s", objdir, fname);                          (void)snprintf(path, len, "%s/%s", objdir, fname);
                         fd = open(path, O_RDONLY);                          fd = open(path, O_RDONLY);
                         if (fd != -1) {                          if (fd != -1) {
Line 1535  Cmd_Exec(const char *cmd, const char **e
Line 1535  Cmd_Exec(const char *cmd, const char **e
     }      }
     return res;      return res;
 bad:  bad:
     res = emalloc(1);      res = bmake_malloc(1);
     *res = '\0';      *res = '\0';
     return res;      return res;
 }  }
Line 1666  Finish(int errors)
Line 1666  Finish(int errors)
         Fatal("%d error%s", errors, errors == 1 ? "" : "s");          Fatal("%d error%s", errors, errors == 1 ? "" : "s");
 }  }
   
 #ifndef HAVE_EMALLOC  #ifndef USE_EMALLOC
 /*  /*
  * emalloc --   * enomem --
    *      die when out of memory.
    */
   static void
   enomem(void)
   {
           (void)fprintf(stderr, "%s: %s.\n", progname, strerror(errno));
           exit(2);
   }
   
   /*
    * bmake_malloc --
  *      malloc, but die on error.   *      malloc, but die on error.
  */   */
 void *  void *
 emalloc(size_t len)  bmake_malloc(size_t len)
 {  {
         void *p;          void *p;
   
Line 1682  emalloc(size_t len)
Line 1693  emalloc(size_t len)
 }  }
   
 /*  /*
  * estrdup --   * bmake_strdup --
  *      strdup, but die on error.   *      strdup, but die on error.
  */   */
 char *  char *
 estrdup(const char *str)  bmake_strdup(const char *str)
 {  {
           size_t len;
         char *p;          char *p;
   
         if ((p = strdup(str)) == NULL)          len = strlen(str) + 1;
           if ((p = malloc(len)) == NULL)
                 enomem();                  enomem();
         return(p);          return memcpy(p, str, len);
 }  }
   
 /*  /*
  * estrndup --   * bmake_strndup --
  *      strndup, but die on error.   *      strndup, but die on error.
  */   */
 char *  char *
 estrndup(const char *str, size_t len)  bmake_strndup(const char *str, size_t max_len)
 {  {
           size_t len;
         char *p;          char *p;
   
         if ((p = strndup(str, len)) == NULL)          if (str == NULL)
                 enomem();                  return NULL;
   
           len = strlen(str);
           if (len > max_len)
                   len = max_len;
           p = bmake_malloc(len + 1);
           memcpy(p, str, len);
           p[len] = '\0';
   
         return(p);          return(p);
 }  }
   
 /*  /*
  * erealloc --   * bmake_realloc --
  *      realloc, but die on error.   *      realloc, but die on error.
  */   */
 void *  void *
 erealloc(void *ptr, size_t size)  bmake_realloc(void *ptr, size_t size)
 {  {
         if ((ptr = realloc(ptr, size)) == NULL)          if ((ptr = realloc(ptr, size)) == NULL)
                 enomem();                  enomem();
         return(ptr);          return(ptr);
 }  }
   
 /*  
  * enomem --  
  *      die when out of memory.  
  */  
 void  
 enomem(void)  
 {  
         (void)fprintf(stderr, "%s: %s.\n", progname, strerror(errno));  
         exit(2);  
 }  
 #endif  #endif
   
 /*  /*

Legend:
Removed from v.1.150  
changed lines
  Added in v.1.151

CVSweb <webmaster@jp.NetBSD.org>