1: #ifndef lint
   2: static char sccsid[] = "@(#)cpmv.c	5.1 (Berkeley) 7/2/83";
   3: #endif
   4: 
   5: #include "uucp.h"
   6: #include <sys/types.h>
   7: #include <sys/stat.h>
   8: 
   9: 
  10: /***
  11:  *	xcp(f1, f2)	copy f1 to f2
  12:  *	char *f1, *f2;
  13:  *
  14:  *	return - 0 ok  |  FAIL failed
  15:  */
  16: 
  17: xcp(f1, f2)
  18: char *f1, *f2;
  19: {
  20:     char buf[BUFSIZ];
  21:     register int len;
  22:     register FILE *fp1, *fp2;
  23:     char *lastpart();
  24:     char full[100];
  25:     struct stat s;
  26: 
  27:     if ((fp1 = fopen(subfile(f1), "r")) == NULL)
  28:         return(FAIL);
  29:     strcpy(full, f2);
  30:     if (stat(subfile(f2), &s) == 0) {
  31:         /* check for directory */
  32:         if ((s.st_mode & S_IFMT) == S_IFDIR) {
  33:             strcat(full, "/");
  34:             strcat(full, lastpart(f1));
  35:         }
  36:     }
  37:     DEBUG(4, "full %s\n", full);
  38:     if ((fp2 = fopen(subfile(full), "w")) == NULL) {
  39:         fclose(fp1);
  40:         return(FAIL);
  41:     }
  42:     while((len = fread(buf, sizeof (char), BUFSIZ, fp1)) > 0)
  43:         fwrite(buf, sizeof (char), len, fp2);
  44:     fclose(fp1);
  45:     fclose(fp2);
  46:     return(0);
  47: }
  48: 
  49: 
  50: /*
  51:  *	xmv(f1, f2)	move f1 to f2
  52:  *	char * f1, *f2;
  53:  *
  54:  *	return  0 ok  |  FAIL failed
  55:  */
  56: 
  57: xmv(f1, f2)
  58: register char *f1, *f2;
  59: {
  60:     register int ret;
  61: 
  62:     if (link(subfile(f1), subfile(f2)) < 0) {
  63:         /*  copy file  */
  64:         ret = xcp(f1, f2);
  65:         if (ret == 0)
  66:             unlink(subfile(f1));
  67:         return(ret);
  68:     }
  69:     unlink(subfile(f1));
  70:     return(0);
  71: }

Defined functions

xcp defined in line 17; used 4 times
xmv defined in line 57; used 7 times

Defined variables

sccsid defined in line 2; never used
Last modified: 1983-07-27
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 705
Valid CSS Valid XHTML 1.0 Strict