Annotation of os2sdk/demos/examples/move/move.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Program to demonstrate DOSFINDFIRST and DOSMOVE.
        !             3:  *
        !             4:  * Compile as: cl -AL -G2 -Lp move.c
        !             5:  */
        !             6: 
        !             7: #include <doscalls.h>
        !             8: #include <stdio.h>
        !             9: #include <string.h>
        !            10: 
        !            11: #define BYTE   unsigned char
        !            12: #define        WORD    unsigned int
        !            13: #define DWORD  unsigned long
        !            14: 
        !            15: main (argc, argv)
        !            16:        int     argc ;
        !            17:        char    *argv [] ;
        !            18:        {
        !            19:        struct  FileFindBuf     findbuf ;
        !            20:        WORD    handle = 0xFFFF ;
        !            21:        WORD    count  = 1 ;
        !            22:        char    oldpath [81], newpath [81], oldspec [81], newspec [81] ;
        !            23:        WORD    code ;
        !            24:        char    *ptr ;
        !            25: 
        !            26:        if (argc < 3) {
        !            27:                printf ("Syntax: MOVE filespec directory") ;
        !            28:                exit (1) ;
        !            29:        }
        !            30: 
        !            31:        strcpy (oldpath, strlwr (argv [1])) ;
        !            32: 
        !            33:        if (NULL != (ptr = strrchr (oldpath, '\\')) ||
        !            34:                        NULL != (ptr = strrchr (oldpath, ':')))
        !            35:                *(ptr + 1) = '\0' ;
        !            36:        else
        !            37:                *oldpath = '\0' ;
        !            38: 
        !            39:        strcpy (newpath, strlwr (argv [2])) ;
        !            40: 
        !            41:        if (newpath [strlen (newpath) - 1] != '\\')
        !            42:                strcat (newpath, "\\") ;
        !            43: 
        !            44:        DOSFINDFIRST (argv [1], &handle, 7, &findbuf,
        !            45:                        sizeof (findbuf), &count, 0L) ;
        !            46: 
        !            47:        while(count) {
        !            48:                strcpy (oldspec, oldpath) ;
        !            49:                strcat (oldspec, findbuf.file_name) ;
        !            50: 
        !            51:                strcpy (newspec, newpath) ;
        !            52:                strcat (newspec, findbuf.file_name) ;
        !            53: 
        !            54:                code = DOSMOVE (oldspec, newspec, 0L) ;
        !            55: 
        !            56:                printf ("%s --> %s %s\n", oldspec, newspec,
        !            57:                                code ? "FAILED" : "") ;
        !            58: 
        !            59:                DOSFINDNEXT (handle, &findbuf, sizeof (findbuf), &count) ;
        !            60:        }
        !            61: 
        !            62:        DOSFINDCLOSE (handle) ;
        !            63: }

unix.superglobalmegacorp.com

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