[BACK]Return to netbsd32_exec.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / compat / netbsd32

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

Diff for /src/sys/compat/netbsd32/netbsd32_exec.h between version 1.23 and 1.23.26.1

version 1.23, 2006/02/16 20:17:15 version 1.23.26.1, 2007/07/11 20:04:29
Line 88  netbsd32_copyargs(l, pack, arginfo, stac
Line 88  netbsd32_copyargs(l, pack, arginfo, stac
         void *argp;          void *argp;
 {  {
         u_int32_t *cpp = (u_int32_t *)*stackp;          u_int32_t *cpp = (u_int32_t *)*stackp;
         u_int32_t dp;          netbsd32_pointer_t dp;
         u_int32_t nullp = 0;          u_int32_t nullp = 0;
         char *sp;          char *sp;
         size_t len;          size_t len;
Line 99  netbsd32_copyargs(l, pack, arginfo, stac
Line 99  netbsd32_copyargs(l, pack, arginfo, stac
         if ((error = copyout(&argc, cpp++, sizeof(argc))) != 0)          if ((error = copyout(&argc, cpp++, sizeof(argc))) != 0)
                 return error;                  return error;
   
         dp = (u_long) (cpp + argc + envc + 2 + pack->ep_esch->es_arglen);          NETBSD32PTR32(dp, cpp + argc + envc + 2 + pack->ep_esch->es_arglen);
         sp = argp;          sp = argp;
   
         /* XXX don't copy them out, remap them! */          /* XXX don't copy them out, remap them! */
         /* remember location of argv for later */          /* remember location of argv for later */
         arginfo->ps_argvstr = (char **)(u_long)cpp;          arginfo->ps_argvstr = (char **)(u_long)cpp;
   
         for (; --argc >= 0; sp += len, dp += len) {          for (; --argc >= 0; sp += len, NETBSD32PTR32PLUS(dp, len)) {
                 if ((error = copyout(&dp, cpp++, sizeof(dp))) != 0 ||                  if ((error = copyout(&dp, cpp++, sizeof(dp))) != 0 ||
                     (error = copyoutstr(sp, (char *)NETBSD32PTR64(dp),                      (error = copyoutstr(sp, NETBSD32PTR64(dp),
                     ARG_MAX, &len)) != 0)                                          ARG_MAX, &len)) != 0)
                         return error;                          return error;
         }          }
         if ((error = copyout(&nullp, cpp++, sizeof(nullp))) != 0)          if ((error = copyout(&nullp, cpp++, sizeof(nullp))) != 0)
Line 118  netbsd32_copyargs(l, pack, arginfo, stac
Line 118  netbsd32_copyargs(l, pack, arginfo, stac
         /* remember location of envp for later */          /* remember location of envp for later */
         arginfo->ps_envstr = (char **)(u_long)cpp;          arginfo->ps_envstr = (char **)(u_long)cpp;
   
         for (; --envc >= 0; sp += len, dp += len) {          for (; --envc >= 0; sp += len, NETBSD32PTR32PLUS(dp, len)) {
                 if ((error = copyout(&dp, cpp++, sizeof(dp))) != 0 ||                  if ((error = copyout(&dp, cpp++, sizeof(dp))) != 0 ||
                     (error = copyoutstr(sp, (char *)NETBSD32PTR64(dp),                      (error = copyoutstr(sp, NETBSD32PTR64(dp),
                     ARG_MAX, &len)) != 0)                                          ARG_MAX, &len)) != 0)
                         return error;                          return error;
         }          }
         if ((error = copyout(&nullp, cpp++, sizeof(nullp))) != 0)          if ((error = copyout(&nullp, cpp++, sizeof(nullp))) != 0)

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.23.26.1

CVSweb <webmaster@jp.NetBSD.org>