Annotation of os2sdk/demos/examples/move/move.c, revision 1.1.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.