17 if(s==NULL || strlen(s)<1)
return;
19 cptr=strrchr(s,
'/');
if(cptr==NULL) cptr=strrchr(s,
'\\');
20 if(cptr==NULL)
return;
22 int i, n=strlen(cptr);
23 for(i=0; i<n; i++, cptr++) s[i]=*cptr;
38 if(s==NULL || strlen(s)<1)
return(0);
40 cptr=strrchr(s,
'.');
if(cptr==NULL)
return(0);
41 if(cptr[1]==
'/' || cptr[1]==
'\\')
return(0);
55 if(s==NULL || strlen(s)<1)
return;
72 if(fname==NULL || key==NULL)
return(0);
73 char *key_ptr=NULL, *fname_ptr=NULL;
75 while((*key)&&(*fname)) {
76 if((*key==
'?')||(*key==*fname)) {
78 }
else if(*key==
'*') {
79 if(*(key+1)==*fname) {key_ptr=(
char*)key++; fname_ptr=(
char*)fname+1;
82 if(*(key+1)==
'?') {key_ptr=(
char*)key++; fname_ptr=(
char*)fname;}
84 }
else if((key_ptr!=NULL) && (*fname_ptr)) {
85 return(
fnmatch(key_ptr, fname_ptr));
90 if((*fname)&&(key_ptr!=NULL)) {
return(
fnmatch(key_ptr, fname_ptr));}
91 else {
if(*key==
'*') key++;
return(*key==*fname);}
106 if(fname==NULL || key==NULL)
return(0);
107 char *key_ptr=NULL, *fname_ptr=NULL;
109 while((*key)&&(*fname)) {
110 if((*key==
'?')||(toupper((
int)*key)==toupper((
int)*fname))) {
112 }
else if(*key==
'*') {
113 if(toupper((
int)*(key+1))==toupper((
int)*fname)) {
114 key_ptr=(
char*)key++; fname_ptr=(
char*)fname+1;
117 if(*(key+1)==
'?') {key_ptr=(
char*)key++; fname_ptr=(
char*)fname;}
119 }
else if((key_ptr!=NULL) && (*fname_ptr)) {
120 return(
fnmatch(key_ptr, fname_ptr));
125 if((*fname)&&(key_ptr!=NULL)) {
return(
fnmatch(key_ptr, fname_ptr));}
126 else {
if(*key==
'*') key++;
return(toupper((
int)*key)==toupper((
int)*fname));}
143 if(s==NULL || strlen(s)<1)
return((
char*)NULL);
145 char *pptr=strrchr(s,
'/');
if(pptr==NULL) pptr=strrchr(s,
'\\');
146 if(pptr==NULL) pptr=s;
else pptr++;
148 char *cptr=strrchr(pptr,
'.');
if(cptr==NULL)
return(cptr);
150 if(strlen(pptr)==strlen(cptr))
return((
char*)NULL);
168 if(s==NULL || strlen(s)<1)
return((
char*)NULL);
170 char *pptr=strrchr(s,
'/');
if(pptr==NULL) pptr=strrchr(s,
'\\');
171 if(pptr==NULL) pptr=s;
else pptr++;
174 char *cptr=strchr(pptr+1,
'.');
char * filenameGetExtension(char *s)
Get the last extension of a filename.
void filenameRmPath(char *s)
void filenameRmExtensions(char *s)
int filenameRmExtension(char *s)
char * filenameGetExtensions(char *s)
Get all extensions of a filename.
int fnmatch(const char *fname, const char *key)
int fncasematch(const char *fname, const char *key)
Header file for libtpcmisc.