[reader] Make improve coding style and added empty view message

This commit is contained in:
Laury
2021-09-05 21:10:56 +02:00
parent 7f0b8170d4
commit 19ee32986f
21 changed files with 349 additions and 387 deletions

View File

@@ -8,109 +8,100 @@
#include <sys/stat.h>
#endif
namespace reader
namespace Reader
{
bool stringEndsWith(const char* str, const char* pattern)
{
int strLength = strlen(str);
int patternLength = strlen(pattern);
if (patternLength > strLength)
return false;
const char* strIter = str + strlen(str);
const char* patternIter = pattern + strlen(pattern);
while(*strIter == *patternIter)
{
if(patternIter == pattern)
return true;
strIter--;
patternIter--;
}
bool stringEndsWith(const char* str, const char* pattern) {
int strLength = strlen(str);
int patternLength = strlen(pattern);
if (patternLength > strLength) {
return false;
}
const char* strIter = str + strlen(str);
const char* patternIter = pattern + strlen(pattern);
while(*strIter == *patternIter) {
if(patternIter == pattern) {
return true;
}
strIter--;
patternIter--;
}
return false;
}
void stringNCopy(char* dest, int max, const char* src, int len)
{
while(len>0 && max >1 && *src)
{
*dest = *src;
dest++;
src++;
len--;
max--;
}
*dest=0;
void stringNCopy(char* dest, int max, const char* src, int len) {
while(len>0 && max >1 && *src)
{
*dest = *src;
dest++;
src++;
len--;
max--;
}
*dest=0;
}
#ifdef DEVICE
int filesWithExtension(const char* extension, External::Archive::File* files, int filesSize)
{
size_t nbTotalFiles = External::Archive::numberOfFiles();
int nbFiles = 0;
for(size_t i=0; i < nbTotalFiles; ++i)
int filesWithExtension(const char* extension, External::Archive::File* files, int filesSize) {
size_t nbTotalFiles = External::Archive::numberOfFiles();
int nbFiles = 0;
for(size_t i=0; i < nbTotalFiles; ++i)
{
External::Archive::File file;
External::Archive::fileAtIndex(i, file);
if(stringEndsWith(file.name, ".txt"))
{
External::Archive::File file;
External::Archive::fileAtIndex(i, file);
if(stringEndsWith(file.name, ".txt"))
{
files[nbFiles] = file;
nbFiles++;
if(nbFiles == filesSize)
break;
}
files[nbFiles] = file;
nbFiles++;
if(nbFiles == filesSize)
break;
}
return nbFiles;
}
return nbFiles;
}
#else
static void fillFileData(External::Archive::File& file)
{
file.data = nullptr;
file.dataLength = 0;
static void fillFileData(External::Archive::File& file) {
file.data = nullptr;
file.dataLength = 0;
struct stat info;
if (stat(file.name, &info) != 0)
{
return;
}
unsigned char* content = new unsigned char[info.st_size];
if (content == NULL)
{
return ;
}
FILE *fp = fopen(file.name, "rb");
if (fp == NULL)
{
return ;
}
fread(content, info.st_size, 1, fp);
fclose(fp);
file.data = content;
file.dataLength = info.st_size;
struct stat info;
if (stat(file.name, &info) != 0) {
return;
}
unsigned char* content = new unsigned char[info.st_size];
if (content == NULL) {
return;
}
FILE *fp = fopen(file.name, "rb");
if (fp == NULL) {
return ;
}
fread(content, info.st_size, 1, fp);
fclose(fp);
file.data = content;
file.dataLength = info.st_size;
}
int filesWithExtension(const char* extension, External::Archive::File* files, int filesSize)
{
int filesWithExtension(const char* extension, External::Archive::File* files, int filesSize) {
dirent *file;
DIR *d = opendir(".");
int nb = 0;
if (d)
{
while ((file = readdir(d)) != NULL)
{
if(stringEndsWith(file->d_name, extension))
{
if (d) {
while ((file = readdir(d)) != NULL) {
if(stringEndsWith(file->d_name, extension)) {
files[nb].name = strdup(file->d_name);//will probably leak
fillFileData(files[nb]);
nb++;
if(nb == filesSize)
break;
if(nb == filesSize) {
break;
}
}
}
closedir(d);