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

Diff for /src/usr.bin/tmux/Attic/cmd-string.c between version 1.5 and 1.6

version 1.5, 2009/08/03 14:10:54 version 1.6, 2009/08/08 21:52:43
Line 59 
Line 59 
 cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)  cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
 {  {
         size_t          p;          size_t          p;
         int             ch, argc, rval, have_arg;          int             ch, i, argc, rval, have_arg;
         char          **argv, *buf, *t, *u;          char          **argv, *buf, *t;
           const char     *whitespace, *equals;
         size_t          len;          size_t          len;
   
         if ((t = strchr(s, ' ')) == NULL && (t = strchr(s, '\t')) == NULL)  
                 t = strchr(s, '\0');  
         if ((u = strchr(s, '=')) != NULL && u < t) {  
                 if (putenv(xstrdup(s)) != 0) {  
                         xasprintf(cause, "assignment failed: %s", s);  
                         return (-1);  
                 }  
                 *cmdlist = NULL;  
                 return (0);  
         }  
   
         argv = NULL;          argv = NULL;
         argc = 0;          argc = 0;
   
Line 144 
Line 134 
   
                         if (ch != EOF)                          if (ch != EOF)
                                 break;                                  break;
                           if (argc == 0)
                                   goto out;
   
                           for (i = 0; i < argc; i++) {
                                   equals = strchr(argv[i], '=');
                                   whitespace = argv[i] + strcspn(argv[i], " \t");
                                   if (equals == NULL || equals > whitespace)
                                           break;
                                   environ_put(&global_environ, argv[i]);
                                   memmove(&argv[i], &argv[i + 1], argc - i - 1);
                                   argc--;
                           }
                         if (argc == 0)                          if (argc == 0)
                                 goto out;                                  goto out;
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6