|
|
1.1 ! root 1: /* rename.c 1.10 85/03/24 */ ! 2: ! 3: #include <stdio.h> ! 4: #include "cpmio.h" ! 5: #include "cpmfio.h" ! 6: ! 7: /* ! 8: * Rename a cp/m file ! 9: * returns: 1 = failure, 0 = success ! 10: */ ! 11: ! 12: rename(cmdline) ! 13: char *cmdline; ! 14: ! 15: { ! 16: ! 17: C_FILE *cio; ! 18: char oldname[9], oldext[4], newname[9], newext[4]; ! 19: char *secarg, *index(), *fixname(); ! 20: ! 21: ! 22: if ((secarg = index(cmdline, ' ')) == NULL) { ! 23: printf("rename: too few arguments\n"); ! 24: return (1); ! 25: } ! 26: *secarg++ = '\0'; ! 27: if (!(namesep(cmdline, oldname, oldext))) ! 28: return (1); ! 29: if (!(namesep(secarg, newname, newext))) ! 30: return (1); ! 31: ! 32: if (searchdir(oldname, oldext) == -1) { ! 33: fprintf(stderr, "file not found: %s\n", ! 34: fixname(oldname, oldext)); ! 35: return (1); ! 36: } ! 37: if ((strncmp(oldname, newname, 8) == 0) && (strncmp(oldext, newext, 3) ! 38: == 0)) { ! 39: fprintf(stderr, "%s and %s are identical\n", ! 40: fixname(oldname, oldext), fixname(newname, newext)); ! 41: return (1); ! 42: } ! 43: cio = c_open(oldname, oldext, READ); ! 44: do { ! 45: strncpy(cio->c_dirp->name, newname, 8); ! 46: strncpy(cio->c_dirp->ext, newext, 3); ! 47: } while (getnext(cio) != NULL); ! 48: savedir(); ! 49: c_close(cio); ! 50: /* two calls to fprintf here because fixname is brain damaged */ ! 51: fprintf(stderr, "renamed %s to ", fixname(oldname, oldext)); ! 52: fprintf(stderr, "%s\n", fixname(newname, newext)); ! 53: return (0); ! 54: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.