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
main(int argc,char * argv[])13 main(int argc, char *argv[])
14 {
15 int i;
16 size_t 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 dummy = strchr(root,'\\');
26 if (dummy)
27 *++dummy = '\0';
28 if (GetVolumeInformation(root, volname, MAX_PATH,
29 &serial, &maxname, &flags, 0, 0)) {
30 downcase = !(flags & FS_CASE_IS_PRESERVED);
31 }
32 }
33
34 setmode(fileno(stdout), O_BINARY);
35 for (i = 1; i < argc; i++) {
36 len = strlen(argv[i]);
37 if (downcase)
38 strlwr(argv[i]);
39 if (i > 1) fwrite("\0", sizeof(char), 1, stdout);
40 fwrite(argv[i], sizeof(char), len, stdout);
41 }
42 return 0;
43 }
44
45