add simple detection of file based on extension ftc

This commit is contained in:
iceman1001 2021-02-11 15:36:56 +01:00
parent bd57430058
commit 6416aaa52b
2 changed files with 45 additions and 0 deletions

View file

@ -77,6 +77,44 @@ struct wave_info_t {
} PACKED audio_data;
} PACKED;
/**
* @brief detects if file is of a supported filetype based on extension
* @param filename
* @return o
*/
DumpFileType_t getfiletype(const char *filename) {
// assume unknown file is BINARY
DumpFileType_t o = BIN;
if (filename == NULL) {
return o;
}
size_t len = strlen(filename);
if (len > 4) {
// check if valid file extension and attempt to load data
char s[FILE_PATH_SIZE];
memset(s, 0, sizeof(s));
memcpy(s, filename, len);
str_lower(s);
if (str_endswith(s, "bin")) {
o = BIN;
} else if (str_endswith(s, "eml")) {
o = EML;
} else if (str_endswith(s, "json")) {
o = JSON;
} else if (str_endswith(s, "dic")) {
o = DICTIONARY;
} else {
// mfd, trc, trace is binary
o = BIN;
// log is text
// .pm3 is text values of signal data
}
}
return o;
}
/**
* @brief checks if a file exists
* @param filename

View file

@ -272,4 +272,11 @@ mfu_df_e detect_mfu_dump_format(uint8_t **dump, size_t *dumplen, bool verbose);
int searchAndList(const char *pm3dir, const char *ext);
int searchFile(char **foundpath, const char *pm3dir, const char *searchname, const char *suffix, bool silent);
/**
* @brief detects if file is of a supported filetype based on extension
* @param filename
* @return
*/
DumpFileType_t getfiletype(const char *filename);
#endif // FILEUTILS_H