Subversion Repositories SvarDOS

Rev

Rev 1730 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1730 Rev 1847
Line 283... Line 283...
283
/* update rmod's pointer to comspec */
283
/* update rmod's pointer to comspec */
284
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg) {
284
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg) {
285
  unsigned short far *comspecptr = MK_FP(rmod_seg, RMOD_OFFSET_COMSPECPTR);
285
  unsigned short far *comspecptr = MK_FP(rmod_seg, RMOD_OFFSET_COMSPECPTR);
286
  char far *comspecfp = env_lookup_val(env_seg, "COMSPEC");
286
  char far *comspecfp = env_lookup_val(env_seg, "COMSPEC");
287
  if (comspecfp != NULL) {
287
  if (comspecfp != NULL) {
-
 
288
    /* here I need to translate the comspecfp far pointer into an offset
-
 
289
     * relative to env_seg */
288
    *comspecptr = FP_OFF(comspecfp);
290
    *comspecptr = FP_OFF(comspecfp) + ((FP_SEG(comspecfp) - env_seg) * 16);
289
  } else {
291
  } else {
290
    *comspecptr = 0;
292
    *comspecptr = 0;
291
  }
293
  }
292
}
294
}
293
 
295