[BACK]Return to args.c CVS log [TXT][DIR] Up to [local] / prex-old / usr / server / exec

Diff for /prex-old/usr/server/exec/args.c between version 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2008/06/03 10:38:51 version 1.1.1.1.2.1, 2008/08/13 17:12:43
Line 83 
Line 83 
                 return ENOMEM;                  return ENOMEM;
         memset((void *)mapped, 0, USTACK_SIZE);          memset((void *)mapped, 0, USTACK_SIZE);
   
         sp = mapped + USTACK_SIZE - sizeof(int);          sp = mapped + USTACK_SIZE - sizeof(int) * 3;
   
         /*          /*
          * Copy items           * Copy items
Line 117 
Line 117 
          * Build argument list           * Build argument list
          */           */
         argv[0] = (char *)((u_long)stack + (u_long)file - mapped);          argv[0] = (char *)((u_long)stack + (u_long)file - mapped);
           DPRINTF(("exec: argv[0] = %s\n", argv[0]));
   
         for (i = 1; i <= argc; i++) {          for (i = 1; i <= argc; i++) {
                 argv[i] = (char *)((u_long)stack + (arg_top - mapped));                  argv[i] = (char *)((u_long)stack + (arg_top - mapped));
                 while ((*(char *)arg_top)++ != '\0');                  while ((*(char *)arg_top++) != '\0');
                   DPRINTF(("exec: argv[%d] = %s\n", i, argv[i]));
         }          }
         argv[argc + 1] = NULL;          argv[argc + 1] = NULL;
   
         for (i = 0; i < envc; i++) {          for (i = 0; i < envc; i++) {
                 envp[i] = (char *)((u_long)stack + (arg_top - mapped));                  envp[i] = (char *)((u_long)stack + (arg_top - mapped));
                 while ((*(char *)arg_top)++ != '\0');                  while ((*(char *)arg_top++) != '\0');
         }          }
         envp[envc] = NULL;          envp[envc] = NULL;
   
         *new_sp = (void *)((u_long)stack + (sp - mapped));          *new_sp = (void *)((u_long)stack + (sp - mapped));
   
         vm_free(task_self(), (void *)mapped);          vm_free(task_self(), (void *)mapped);
   
         return 0;          return 0;

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1

CVSweb