source: trunk/third/perl/win32/perlglob.c @ 14545

Revision 14545, 959 bytes checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
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    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
Note: See TracBrowser for help on using the repository browser.