diff options
Diffstat (limited to 'src/fcopy')
-rw-r--r-- | src/fcopy/main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/fcopy/main.c b/src/fcopy/main.c index 56d297c9a..e3a04a515 100644 --- a/src/fcopy/main.c +++ b/src/fcopy/main.c | |||
@@ -244,7 +244,7 @@ static void duplicate_file(const char *src, const char *dest, struct stat *s) { | |||
244 | } | 244 | } |
245 | 245 | ||
246 | static void duplicate_link(const char *src, const char *dest, struct stat *s) { | 246 | static void duplicate_link(const char *src, const char *dest, struct stat *s) { |
247 | char *rsrc = check(src); | 247 | char *rsrc = check(src); // we drop the result and use the original name |
248 | char *rdest = check(dest); | 248 | char *rdest = check(dest); |
249 | uid_t uid = s->st_uid; | 249 | uid_t uid = s->st_uid; |
250 | gid_t gid = s->st_gid; | 250 | gid_t gid = s->st_gid; |
@@ -252,7 +252,8 @@ static void duplicate_link(const char *src, const char *dest, struct stat *s) { | |||
252 | 252 | ||
253 | // build destination file name | 253 | // build destination file name |
254 | char *name; | 254 | char *name; |
255 | char *ptr = strrchr(rsrc, '/'); | 255 | // char *ptr = strrchr(rsrc, '/'); |
256 | char *ptr = strrchr(src, '/'); | ||
256 | ptr++; | 257 | ptr++; |
257 | if (asprintf(&name, "%s/%s", rdest, ptr) == -1) | 258 | if (asprintf(&name, "%s/%s", rdest, ptr) == -1) |
258 | errExit("asprintf"); | 259 | errExit("asprintf"); |
@@ -272,7 +273,7 @@ static void usage(void) { | |||
272 | } | 273 | } |
273 | 274 | ||
274 | int main(int argc, char **argv) { | 275 | int main(int argc, char **argv) { |
275 | //#if 0 | 276 | #if 0 |
276 | { | 277 | { |
277 | //system("cat /proc/self/status"); | 278 | //system("cat /proc/self/status"); |
278 | int i; | 279 | int i; |
@@ -280,7 +281,7 @@ for (i = 0; i < argc; i++) | |||
280 | printf("*%s* ", argv[i]); | 281 | printf("*%s* ", argv[i]); |
281 | printf("\n"); | 282 | printf("\n"); |
282 | } | 283 | } |
283 | //#endif | 284 | #endif |
284 | if (argc != 3) { | 285 | if (argc != 3) { |
285 | fprintf(stderr, "Error fcopy: files missing\n"); | 286 | fprintf(stderr, "Error fcopy: files missing\n"); |
286 | usage(); | 287 | usage(); |