perldoc under OS/2
[p5sagit/p5-mst-13.2.git] / win32 / perlglob.c
1 /*
2  * Globbing for NT.  Relies on the expansion done by the library
3  * startup code. 
4  */
5
6 #include <stdio.h>
7 #include <io.h>
8 #include <fcntl.h>
9 #include <string.h>
10 #include <windows.h>
11
12 int
13 main(int argc, char *argv[])
14 {
15     int i;
16     int len;
17     char root[MAX_PATH];
18     char *dummy;
19     char volname[MAX_PATH];
20     DWORD serial, maxname, flags;
21     BOOL downcase = TRUE;
22
23     /* check out the file system characteristics */
24     if (GetFullPathName(".", MAX_PATH, root, &dummy)) {
25         if (dummy = strchr(root, '\\'))
26             *++dummy = '\0';
27         if (GetVolumeInformation(root, volname, MAX_PATH, 
28                                  &serial, &maxname, &flags, 0, 0)) {
29             downcase = !(flags & FS_CASE_IS_PRESERVED);
30         }
31     }
32
33     setmode(fileno(stdout), O_BINARY);
34     for (i = 1; i < argc; i++) {
35         len = strlen(argv[i]);
36         if (downcase)
37             strlwr(argv[i]);
38         if (i > 1) fwrite("\0", sizeof(char), 1, stdout);
39         fwrite(argv[i], sizeof(char), len, stdout);
40     }
41     return 0;
42 }