repo2/firmware_5200/mww.c @ 189
179 | markw | #include "stdio.h"
|
|
//#include <string.h>
|
|||
//#define stricmp strncasecmp
|
|||
int strcmp(char const * a, char const * b);
|
|||
int stricmp(char const * a, char const * b);
|
|||
void strcpy(char * dest, char const * src);
|
|||
void stricpy(char * dest, char const * src);
|
|||
int strlen(char const * a);
|
|||
int strcmp(char const * a, char const * b)
|
|||
{
|
|||
while (*a || *b)
|
|||
{
|
|||
if (*a<*b)
|
|||
return -1;
|
|||
else if (*a>*b)
|
|||
return 1;
|
|||
++a;
|
|||
++b;
|
|||
}
|
|||
return 0;
|
|||
}
|
|||
int stricmp(char const * a, char const * b)
|
|||
{
|
|||
char buffer[128];
|
|||
char buffer2[128];
|
|||
stricpy(&buffer[0],a);
|
|||
stricpy(&buffer2[0],b);
|
|||
return strcmp(&buffer[0],&buffer2[0]);
|
|||
}
|
|||
void strcpy(char * dest, char const * src)
|
|||
{
|
|||
while (*dest++=*src++);
|
|||
}
|
|||
void stricpy(char * dest, char const * src)
|
|||
{
|
|||
while (*src)
|
|||
{
|
|||
char val = *src++;
|
|||
if (val>='A' && val<='Z') val+=-'A'+'a';
|
|||
*dest++ = val;
|
|||
}
|
|||
*dest = '\0';
|
|||
}
|
|||
int strlen(char const * a)
|
|||
{
|
|||
int count;
|
|||
for (count=0; *a; ++a,++count);
|
|||
return count;
|
|||
}
|
|||
int compare_ext(char const * filename, char const * ext)
|
|||
{
|
|||
int dot = 0;
|
|||
//printf("WTFA:%s %s\n",filenamein, extin);
|
|||
//printf("WTFB:%s %s\n",filename, ext);
|
|||
char const * end = strlen(filename) + filename;
|
|||
while (--end != filename)
|
|||
{
|
|||
if (*end == '.')
|
|||
break;
|
|||
}
|
|||
if (0==stricmp(end+1,ext)) return 1;
|
|||
return 0;
|
|||
}
|
|||
//int compare_ext(char const * filename, char const * ext)
|
|||
//{
|
|||
// int dot = 0;
|
|||
// //printf("WTFA:%s %s\n",filenamein, extin);
|
|||
// //printf("WTFB:%s %s\n",filename, ext);
|
|||
//
|
|||
// char const * end = strlen(filename) + filename;
|
|||
// while (--end != filename)
|
|||
// {
|
|||
// if (*end == '.')
|
|||
// break;
|
|||
// }
|
|||
// if (0==stricmp(end+1,ext,1000)) return 1;
|
|||
//
|
|||
// return 0;
|
|||
//}
|
|||
int main(void)
|
|||
{
|
|||
fprintf(stderr,"%d %d %d %d\n",
|
|||
compare_ext("Elektra Glide.ATR","atr"),
|
|||
compare_ext("Elektra Glide (1985)(English Software Company).xex","XEX"),
|
|||
compare_ext("International Karate.atr","atr"),
|
|||
compare_ext("World Karate Championship.atx","xex"));
|
|||
return 0;
|
|||
}
|