Fix C<require> in Getopt::Long to work with 5.003
[p5sagit/p5-mst-13.2.git] / win32 / perlglob.c
CommitLineData
0a753a76 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
12int
13main(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
25 if (GetFullPathName(".", MAX_PATH, root, &dummy)) {
26 if (dummy = strchr(root, '\\'))
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
68dc0745 34 _setmode(_fileno(stdout), _O_BINARY);
0a753a76 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}