[BACK]Return to cmd.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd.c between version 1.93 and 1.94

version 1.93, 2014/05/09 09:11:24 version 1.94, 2014/05/13 08:08:32
Line 187 
Line 187 
   
         if (argc == 0)          if (argc == 0)
                 return (NULL);                  return (NULL);
         new_argv = xcalloc(argc, sizeof *new_argv);          new_argv = xcalloc(argc + 1, sizeof *new_argv);
         for (i = 0; i < argc; i++) {          for (i = 0; i < argc; i++) {
                 if (argv[i] != NULL)                  if (argv[i] != NULL)
                         new_argv[i] = xstrdup(argv[i]);                          new_argv[i] = xstrdup(argv[i]);
Line 205 
Line 205 
         for (i = 0; i < argc; i++)          for (i = 0; i < argc; i++)
                 free(argv[i]);                  free(argv[i]);
         free(argv);          free(argv);
   }
   
   char *
   cmd_stringify_argv(int argc, char **argv)
   {
           char    *buf;
           int      i;
           size_t   len;
   
           if (argc == 0)
                   return (xstrdup(""));
   
           len = 0;
           buf = NULL;
   
           for (i = 0; i < argc; i++) {
                   len += strlen(argv[i]) + 1;
                   buf = xrealloc(buf, 1, len);
   
                   if (i == 0)
                           *buf = '\0';
                   else
                           strlcat(buf, " ", len);
                   strlcat(buf, argv[i], len);
           }
           return (buf);
 }  }
   
 struct cmd *  struct cmd *

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.94