home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / SMALL_C / RENAME.C < prev    next >
Text File  |  1987-10-04  |  768b  |  36 lines

  1. #define NOCCARGC  /* no argument count passing */
  2. #include stdio.h
  3. #include clib.def
  4. /*
  5. ** Rename a file.
  6. **  from = address of old filename.
  7. **    to = address of new filename.
  8. **  Returns NULL on success, else ERR.
  9. */
  10. rename(from,to) char *from, *to; {
  11. return(Urename(from,to));
  12. }
  13.  
  14. Urename(from, to) char *from, *to; {
  15. #asm
  16.   POP SI  ;Return address
  17.   POP DI  ;New name address
  18.   POP DX  ;Current name address
  19.   PUSH DX  ;Restore
  20.   PUSH DI
  21.   PUSH SI
  22.   MOV AX,DS
  23.   MOV ES,AX ;Set extra segment as our own
  24.   MOV AH,56H ;Rename
  25.   INT 21H
  26.   JNC URENAM1
  27.   MOV _ERRNO,AX
  28.   MOV AX,-2
  29. Urenam1:
  30.   MOV BX,AX
  31.   XOR CX,CX  ;Zero in CX
  32.   EXTRN _ERRNO:WORD
  33. #endasm
  34. }
  35.  
  36.