1: #include "uucp.h"
2:
3: /***
4: * xcp(f1, f2) copy f1 to f2
5: * char *f1, *f2;
6: *
7: * return - 0 ok | FAIL failed
8: */
9:
10: xcp(f1, f2)
11: char *f1, *f2;
12: {
13: char buf[BUFSIZ];
14: int len;
15: FILE *fp1, *fp2;
16:
17: if ((fp1 = fopen(f1, "r")) == NULL)
18: return(FAIL);
19: if ((fp2 = fopen(f2, "w")) == NULL) {
20: fclose(fp1);
21: return(FAIL);
22: }
23: while((len = fread(buf, sizeof (char), BUFSIZ, fp1)) > 0)
24: fwrite(buf, sizeof (char), len, fp2);
25: fclose(fp1);
26: fclose(fp2);
27: chmod(f2, 0666);
28: return(0);
29: }
30:
31:
32: /*
33: * xmv(f1, f2) move f1 to f2
34: * char * f1, *f2;
35: *
36: * return 0 ok | FAIL failed
37: */
38:
39: xmv(f1, f2)
40: char *f1, *f2;
41: {
42: int ret;
43:
44: if (link(f1, f2) < 0) {
45: /* copy file */
46: ret = xcp(f1, f2);
47: if (ret == 0)
48: unlink(f1);
49: return(ret);
50: }
51: unlink(f1);
52: return(0);
53: }
Defined functions
xcp
defined in line
10; used 4 times
xmv
defined in line
39; used 3 times