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

Diff for /src/usr.bin/tmux/environ.c between version 1.7 and 1.8

version 1.7, 2015/01/25 16:53:46 version 1.8, 2015/05/07 07:35:31
Line 157 
Line 157 
 void  void
 environ_push(struct environ *env)  environ_push(struct environ *env)
 {  {
         ARRAY_DECL(, char *)    varlist;          struct environ_entry     *envent;
         struct environ_entry   *envent;          char                    **vp, *v;
         char                  **varp, *var;  
         u_int                   i;  
   
         ARRAY_INIT(&varlist);          for (vp = environ; *vp != NULL; vp++) {
         for (varp = environ; *varp != NULL; varp++) {                  v = xstrdup(*vp);
                 var = xstrdup(*varp);                  v[strcspn(v, "=")] = '\0';
                 var[strcspn(var, "=")] = '\0';  
                 ARRAY_ADD(&varlist, var);                  unsetenv(v);
                   free(v);
         }          }
         for (i = 0; i < ARRAY_LENGTH(&varlist); i++) {  
                 var = ARRAY_ITEM(&varlist, i);  
                 unsetenv(var);  
                 free(var);  
         }  
         ARRAY_FREE(&varlist);  
   
         RB_FOREACH(envent, environ, env) {          RB_FOREACH(envent, environ, env) {
                 if (envent->value != NULL)                  if (envent->value != NULL)

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8