Annotation of 43BSDTahoe/new/cpm/src/rename.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.