added trimSortingMeta for minui.elf

This commit is contained in:
Shaun Inman 2023-02-15 23:06:45 -05:00
parent ae3e1e5eba
commit 116e994fbe
2 changed files with 22 additions and 3 deletions

View file

@ -43,9 +43,12 @@ void getDisplayName(const char* in_name, char* out_name) {
tmp = strrchr(work_name, '/'); tmp = strrchr(work_name, '/');
if (tmp) strcpy(out_name, tmp+1); if (tmp) strcpy(out_name, tmp+1);
// remove extension // remove extension(s), eg. .p8.png
tmp = strrchr(out_name, '.'); while ((tmp = strrchr(out_name, '.'))!=NULL) {
if (tmp && strlen(tmp)<=4) tmp[0] = '\0'; // 3 letter extension plus dot int len = strlen(tmp);
if (len>2 && len<=4) tmp[0] = '\0'; // 3 letter extension plus dot
else break;
}
// remove trailing parens (round and square) // remove trailing parens (round and square)
strcpy(work_name, out_name); strcpy(work_name, out_name);
@ -99,6 +102,21 @@ void trimTrailingNewlines(char* line) {
len -= 1; len -= 1;
} }
} }
void trimSortingMeta(char** str) { // eg. `001) `
// TODO: this code is suss
char* safe = *str;
while(isdigit(**str)) *str += 1; // ignore leading numbers
if (*str[0]==')') { // then match a closing parenthesis
*str += 1;
}
else { // or bail, restoring the string to its original value
*str = safe;
return;
}
while(isblank(**str)) *str += 1; // ignore leading space
}
/////////////////////////////////////// ///////////////////////////////////////

View file

@ -13,6 +13,7 @@ void getEmuName(const char* in_name, char* out_name);
void normalizeNewline(char* line); void normalizeNewline(char* line);
void trimTrailingNewlines(char* line); void trimTrailingNewlines(char* line);
void trimSortingMeta(char** str);
int exists(char* path); int exists(char* path);
void touch(char* path); void touch(char* path);