5#include "tpcclibConfig.h"
24 if(s==NULL ||
strnlen(s, 1)<1)
return;
26 cptr=strrchr(s,
'/');
if(cptr==NULL) cptr=strrchr(s,
'\\');
27 if(cptr==NULL)
return;
29 int i, n=strlen(cptr);
30 for(i=0; i<n; i++, cptr++) s[i]=*cptr;
49 unsigned int len=
strnlen(s, FILENAME_MAX);
53 cptr=strrchr(s,
'/');
if(cptr==NULL) cptr=strrchr(s,
'\\');
56 if(strcmp(s,
"/")==0 || strcmp(s,
"\\")==0) s[0]=(char)0;
59 if(strcmp(s,
"..")==0)
return;
60 s[0]=
'.'; s[1]=(char)0;
75 if(s==NULL ||
strnlen(s, 1)<1)
return(0);
77 cptr=strrchr(s,
'.');
if(cptr==NULL)
return(0);
78 if(cptr[1]==
'/' || cptr[1]==
'\\')
return(0);
93 if(s==NULL ||
strnlen(s, 1)<1)
return;
110 if(fname==NULL || key==NULL)
return(0);
111 char *key_ptr=NULL, *fname_ptr=NULL;
113 while((*key)&&(*fname)) {
114 if((*key==
'?')||(*key==*fname)) {
116 }
else if(*key==
'*') {
117 if(*(key+1)==*fname) {key_ptr=(
char*)key++; fname_ptr=(
char*)fname+1;
120 if(*(key+1)==
'?') {key_ptr=(
char*)key++; fname_ptr=(
char*)fname;}
122 }
else if((key_ptr!=NULL) && (*fname_ptr)) {
123 return(
fnmatch(key_ptr, fname_ptr));
128 if((*fname)&&(key_ptr!=NULL)) {
return(
fnmatch(key_ptr, fname_ptr));}
129 else {
if(*key==
'*') key++;
return(*key==*fname);}
145 if(fname==NULL || key==NULL)
return(0);
146 char *key_ptr=NULL, *fname_ptr=NULL;
148 while((*key)&&(*fname)) {
149 if((*key==
'?')||(toupper((
int)*key)==toupper((
int)*fname))) {
151 }
else if(*key==
'*') {
152 if(toupper((
int)*(key+1))==toupper((
int)*fname)) {
153 key_ptr=(
char*)key++; fname_ptr=(
char*)fname+1;
156 if(*(key+1)==
'?') {key_ptr=(
char*)key++; fname_ptr=(
char*)fname;}
158 }
else if((key_ptr!=NULL) && (*fname_ptr)) {
159 return(
fnmatch(key_ptr, fname_ptr));
164 if((*fname)&&(key_ptr!=NULL)) {
return(
fnmatch(key_ptr, fname_ptr));}
165 else {
if(*key==
'*') key++;
return(toupper((
int)*key)==toupper((
int)*fname));}
182 if(s==NULL ||
strnlen(s, 1)<1)
return((
char*)NULL);
184 char *pptr=strrchr(s,
'/');
if(pptr==NULL) pptr=strrchr(s,
'\\');
185 if(pptr==NULL) pptr=(
char*)s;
else pptr++;
187 char *cptr=strrchr(pptr,
'.');
if(cptr==NULL)
return(cptr);
189 if(strlen(pptr)==strlen(cptr))
return((
char*)NULL);
207 if(s==NULL ||
strnlen(s, 1)<1)
return((
char*)NULL);
209 char *pptr=strrchr(s,
'/');
if(pptr==NULL) pptr=strrchr(s,
'\\');
210 if(pptr==NULL) pptr=(
char*)s;
else pptr++;
212 char *cptr=strchr(pptr+1,
'.');
void filenameRmFile(char *s)
char * filenameGetExtensions(const char *s)
Get all extensions of a file name.
char * filenameGetExtension(const char *s)
Get the last extension of a file name.
void filenameRmPath(char *s)
void filenameRmExtensions(char *s)
int filenameRmExtension(char *s)
int fnmatch(const char *fname, const char *key)
int fncasematch(const char *fname, const char *key)
size_t strnlen(const char *s, size_t n)
Header file for library libtpcextensions.