Utility for copying and renaming files.

Utility for copying and renaming files.

Committer:
ollie8
Date:
Mon Dec 30 20:40:50 2013 +0000
Revision:
1:1f1e0c92b3f8
Parent:
0:4be393eec2a2
Child:
2:361360b2f1c5
Removed white space

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ollie8 0:4be393eec2a2 1
ollie8 0:4be393eec2a2 2 /** fcopy: Copies a file
ollie8 0:4be393eec2a2 3 * Checks to insure destination file was created.
ollie8 0:4be393eec2a2 4 * Returns -1 = error; 0 = success
ollie8 0:4be393eec2a2 5 */
ollie8 0:4be393eec2a2 6 int fcopy (const char *src, const char *dst) {
ollie8 0:4be393eec2a2 7 FILE *fpsrc = fopen(src, "r");
ollie8 0:4be393eec2a2 8 FILE *fpdst = fopen(dst, "w");
ollie8 0:4be393eec2a2 9 int ch = fgetc(fpsrc);
ollie8 0:4be393eec2a2 10 while (ch != EOF) {
ollie8 0:4be393eec2a2 11 fputc(ch, fpdst);
ollie8 0:4be393eec2a2 12 ch = fgetc(fpsrc);
ollie8 0:4be393eec2a2 13 }
ollie8 0:4be393eec2a2 14 fclose(fpsrc);
ollie8 1:1f1e0c92b3f8 15 fclose(fpdst);
ollie8 0:4be393eec2a2 16 int retval = 0;
ollie8 0:4be393eec2a2 17 fpdst = fopen(dst, "r");
ollie8 0:4be393eec2a2 18 if (fpdst == NULL) {
ollie8 0:4be393eec2a2 19 retval = -1;
ollie8 0:4be393eec2a2 20 } else {
ollie8 0:4be393eec2a2 21 fclose(fpdst);
ollie8 0:4be393eec2a2 22 retval = 0;
ollie8 0:4be393eec2a2 23 }
ollie8 0:4be393eec2a2 24 return retval;
ollie8 0:4be393eec2a2 25 }
ollie8 0:4be393eec2a2 26
ollie8 0:4be393eec2a2 27 /** frename: renames a file (via copy & delete).
ollie8 0:4be393eec2a2 28 * Moves data instead of adjusting the file name in the
ollie8 0:4be393eec2a2 29 * file directory. Checks to insure the file was renamed.
ollie8 0:4be393eec2a2 30 * Returns -1 = error; 0 = success
ollie8 0:4be393eec2a2 31 */
ollie8 0:4be393eec2a2 32 int frename(const char *oldfname, const char *newfname) {
ollie8 0:4be393eec2a2 33 int retval = 0;
ollie8 0:4be393eec2a2 34 if (fcopy(oldfname, newfname)) {
ollie8 0:4be393eec2a2 35 remove(oldfname);
ollie8 0:4be393eec2a2 36 }
ollie8 0:4be393eec2a2 37 return retval;
ollie8 0:4be393eec2a2 38 }