annotate osdep/glob-win.c @ 18715:30d7ddf08889

Fix window position when changing videos while in fullscreen and for window managers that modify position on Map. Oked by Alexander Strasser.
author reimar
date Thu, 15 Jun 2006 08:00:37 +0000
parents 08cac43f1e38
children 752d1c70aa67
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9983
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
1 #include <sys/types.h>
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
2 #include <stdio.h>
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
3
16985
08cac43f1e38 Unify include paths, -I.. is in CFLAGS.
diego
parents: 10272
diff changeset
4 #include "config.h"
9983
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
5
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
6 #ifndef HAVE_GLOB
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
7 #ifdef __MINGW32__
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
8 #include <windows.h>
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
9 #include "glob.h"
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
10
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
11 int glob(const char *pattern, int flags,
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
12 int (*errfunc)(const char *epath, int eerrno), glob_t *pglob)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
13 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
14 HANDLE searchhndl;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
15 WIN32_FIND_DATA found_file;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
16 if(errfunc)printf("glob():ERROR:Sorry errfunc not supported by this implementation\n");
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
17 if(flags)printf("glob():ERROR:Sorry no flags supported by this globimplementation\n");
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
18 //printf("PATTERN \"%s\"\n",pattern);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
19 pglob->gl_pathc = 0;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
20 searchhndl = FindFirstFile( pattern,&found_file);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
21 if(searchhndl == INVALID_HANDLE_VALUE)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
22 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
23 if(GetLastError() == ERROR_FILE_NOT_FOUND)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
24 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
25 pglob->gl_pathc = 0;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
26 //printf("could not find a file matching your search criteria\n");
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
27 return 1;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
28 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
29 else
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
30 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
31 //printf("glob():ERROR:FindFirstFile: %i\n",GetLastError());
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
32 return 1;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
33 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
34 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
35 pglob->gl_pathv = malloc(sizeof(char*));
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
36 pglob->gl_pathv[0] = strdup(found_file.cFileName);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
37 pglob->gl_pathc++;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
38 while(1)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
39 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
40 if(!FindNextFile(searchhndl,&found_file))
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
41 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
42 if(GetLastError()==ERROR_NO_MORE_FILES)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
43 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
44 //printf("glob(): no more files found\n");
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
45 break;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
46 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
47 else
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
48 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
49 //printf("glob():ERROR:FindNextFile:%i\n",GetLastError());
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
50 return 1;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
51 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
52 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
53 else
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
54 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
55 //printf("glob: found file %s\n",found_file.cFileName);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
56 pglob->gl_pathc++;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
57 pglob->gl_pathv = realloc(pglob->gl_pathv,pglob->gl_pathc * sizeof(char*));
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
58 pglob->gl_pathv[pglob->gl_pathc-1] = strdup(found_file.cFileName);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
59 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
60 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
61 FindClose(searchhndl);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
62 return 0;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
63 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
64
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
65 void globfree(glob_t *pglob)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
66 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
67 int i;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
68 for(i=0; i <pglob->gl_pathc ;i++)
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
69 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
70 free(pglob->gl_pathv[i]);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
71 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
72 free(pglob->gl_pathv);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
73 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
74 #endif /*__MINGW32__*/
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
75 #endif /*HAVE_GLOB*/
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
76
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
77 #if 0
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
78 int main(){
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
79 glob_t gg;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
80 printf("globtest\n");
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
81 glob( "*.jpeg",0,NULL,&gg );
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
82 {
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
83 int i;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
84 for(i=0;i<gg.gl_pathc;i++)printf("GLOBED:%i %s\n",i,gg.gl_pathv[i]);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
85 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
86 globfree(&gg);
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
87
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
88 return 0;
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
89 }
14c92818ab75 alternative timer and glob emulation code for mingw32 port
faust3
parents:
diff changeset
90 #endif