Mercurial > mplayer.hg
view osdep/glob-win.c @ 14216:0d4589ab4d28
Adds support for LADSPA (Linux Audio Developer's Simple Plugin API) plugins.
Compilation is optional and can be controled by configure. You need to
have the LADSPA SDK installed in order to have it autodetected by configure.
Manual page is updated.
author | ivo |
---|---|
date | Thu, 23 Dec 2004 02:09:49 +0000 |
parents | 7b0bc557987b |
children | 08cac43f1e38 |
line wrap: on
line source
#include <sys/types.h> #include <stdio.h> #include "../config.h" #ifndef HAVE_GLOB #ifdef __MINGW32__ #include <windows.h> #include "glob.h" int glob(const char *pattern, int flags, int (*errfunc)(const char *epath, int eerrno), glob_t *pglob) { HANDLE searchhndl; WIN32_FIND_DATA found_file; if(errfunc)printf("glob():ERROR:Sorry errfunc not supported by this implementation\n"); if(flags)printf("glob():ERROR:Sorry no flags supported by this globimplementation\n"); //printf("PATTERN \"%s\"\n",pattern); pglob->gl_pathc = 0; searchhndl = FindFirstFile( pattern,&found_file); if(searchhndl == INVALID_HANDLE_VALUE) { if(GetLastError() == ERROR_FILE_NOT_FOUND) { pglob->gl_pathc = 0; //printf("could not find a file matching your search criteria\n"); return 1; } else { //printf("glob():ERROR:FindFirstFile: %i\n",GetLastError()); return 1; } } pglob->gl_pathv = malloc(sizeof(char*)); pglob->gl_pathv[0] = strdup(found_file.cFileName); pglob->gl_pathc++; while(1) { if(!FindNextFile(searchhndl,&found_file)) { if(GetLastError()==ERROR_NO_MORE_FILES) { //printf("glob(): no more files found\n"); break; } else { //printf("glob():ERROR:FindNextFile:%i\n",GetLastError()); return 1; } } else { //printf("glob: found file %s\n",found_file.cFileName); pglob->gl_pathc++; pglob->gl_pathv = realloc(pglob->gl_pathv,pglob->gl_pathc * sizeof(char*)); pglob->gl_pathv[pglob->gl_pathc-1] = strdup(found_file.cFileName); } } FindClose(searchhndl); return 0; } void globfree(glob_t *pglob) { int i; for(i=0; i <pglob->gl_pathc ;i++) { free(pglob->gl_pathv[i]); } free(pglob->gl_pathv); } #endif /*__MINGW32__*/ #endif /*HAVE_GLOB*/ #if 0 int main(){ glob_t gg; printf("globtest\n"); glob( "*.jpeg",0,NULL,&gg ); { int i; for(i=0;i<gg.gl_pathc;i++)printf("GLOBED:%i %s\n",i,gg.gl_pathv[i]); } globfree(&gg); return 0; } #endif