|
|
1.1 root 1: copyrigh.c
2: copyright.c
3: dos0.c
4: 36 a 37
5: > short isdir_keep;
6: dos1.c
7: dos2.c
8: 273 c 273
9: < if (s < &buf[11])
10: ---
11: > if (s <= &buf[11])
12: 324 a 325,326
13: > char *argsd[512], *argsf[512];
14: > short dnargs = 0, fnargs = 0;
15: 334,335 c 336,337
16: < else for (ap = args; nargs ; ap++, nargs--) {
17: < if ((mdp = find(*ap, root, &dp)) == NULL)
18: ---
19: > else {
20: > if ((mdp = find(args[0], root, &dp)) == NULL)
21: 338,343 c 340,362
22: < do {
23: < base = basehold;
24: < strcpy(base,*ap);
25: < if isdir(mdp)
26: < extractdir(dp);
27: < else
28: ---
29: > do {
30: > cohname(mdp->m_name, dp);
31: > if (isdir(mdp)) {
32: > if (!sflag) {
33: > argsd[dnargs] =
34: > malloc(strlen(cohfile)+1);
35: > strcpy(argsd[dnargs++],
36: > cohfile);
37: > }
38: > }
39: > else {
40: > argsf[fnargs] =
41: > malloc(strlen(cohfile) + 1);
42: > strcpy(argsf[fnargs++],cohfile);
43: > }
44: > } while (mdp = findnext(&dp));
45: > numargs = fnargs + (sflag ? 0 : dnargs);
46: > if (fnargs > 0) {
47: > for (ap = argsf; fnargs ; ap++, fnargs--) {
48: > isdir_keep = 0;
49: > mdp = find(*ap, root, &dp);
50: > base = basehold;
51: > strcpy(base,*ap);
52: 345 c 364,374
53: < } while (mdp = findnext(&dp));
54: ---
55: > }
56: > }
57: > if ((!sflag) && (dnargs > 0)) {
58: > for (ap = argsd; dnargs ; ap++, dnargs--) {
59: > isdir_keep = 1;
60: > mdp = find(*ap, root, &dp);
61: > base = basehold;
62: > strcpy(base,*ap);
63: > extractdir(dp);
64: > }
65: > }
66: dos3.c
67: 38 c 38
68: < lmatch(name, cohn(s))));
69: ---
70: > lmatch(tname, cohn(s))));
71: 89 a 90
72: > dbprintf(("findnext(%s)\n", sname));
73: 208 c 209
74: < if (s < &buf[11])
75: ---
76: > if (s < &buf[12])
77: 311 c 312,313
78: < if (c != 'y' && c != 'Y')
79: ---
80: > if (c != 'y' && c != 'Y') {
81: > rm_lock();
82: 312 a 315
83: > }
84: 506 a 510,511
85: > if (volume != NULL)
86: > deletefile(volume, root);
87: 511,512 d 515
88: < if (volume != NULL)
89: < deletefile(volume, root);
90: dos4.c
91: 278 c 278
92: < int done = 0;
93: ---
94: > short done = 0, rs;
95: 279 a 280
96: > short srcd, destd, deste;
97: 284 d 284
98: < }
99: 286,290 c 286,290
100: < if (cr) {
101: < if ((stat(base1, &s) == -1) || !(s.st_mode & S_IFDIR)) {
102: < done = 1;
103: < if (strcspn(base, "*?") != strlen(base))
104: < fatal("Cannot copy multiple sources to a file\n");
105: ---
106: > if (cr) {
107: > srcd = isdir_keep;
108: > rs = stat(base1, &s);
109: > deste = (rs == 0);
110: > destd = (s.st_mode & S_IFDIR);
111: 292,297 c 292,297
112: < }
113: < else {
114: < if (((mdp = find(base1, root, NULL)) == NULL) || !isdir(mdp)){
115: < done = 1;
116: < if (numargs > 1)
117: < fatal("Cannot copy multiple sources to a file\n");
118: ---
119: > else {
120: > mdp = find(base1,root,NULL);
121: > deste = (mdp != NULL);
122: > destd = isdir(mdp);
123: > stat(base, &s);
124: > srcd = (s.st_mode & S_IFDIR);
125: 299 d 298
126: < }
127: 300 a 300,321
128: > dbprintf(("numargs = %d, deste = %d, destd = %d, srcd = %d\n",numargs,deste,destd,srcd));
129: >
130: > if ((numargs > 1) && (deste) && !(destd))
131: > fatal("Error: <%s> is a file", base1);
132: >
133: > if (numargs == 1) {
134: > if (!deste) {
135: > if (!srcd)
136: > done = 1;
137: > }
138: > else {
139: > if (!destd) {
140: > if (srcd)
141: > fatal("Error: <%s> is a file"
142: > , base1);
143: > else
144: > done = 1;
145: > }
146: > }
147: > }
148: > }
149: >
150: 303 c 324,325
151: < *t++ = '/';
152: ---
153: > if (base1)
154: > *t++ = '/';
155: 310 c 332,333
156: < dbprintf(("base = <%s>, base1 = <%s>, tname = <%s>\n", base, base1, tname));
157: ---
158: >
159: > dbprintf(("base = <%s>, base1 = <%s>\n name = <%s>, tname = <%s>\n", base, base1, name, tname));
160: 317 c 340
161: < short basesize;
162: ---
163: > short basesize, nwsize;
164: 327,329 c 350,353
165: <
166: <
167: < if ((tmp = strrchr(base, '/')) != NULL)
168: ---
169: >
170: > tmp = strrchr(base + 1, '/');
171: >
172: > if (tmp != NULL)
173: 332 c 356
174: < basesize = 0;
175: ---
176: > basesize = strlen(base);
177: 334 c 358
178: < return strchr(name + basesize + 1, '/') + 1;
179: ---
180: > return name + basesize + 1;
181: dosdrives.c
182: dosdump.c
183: dosshrink.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.