mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-29 19:49:58 +02:00
[reader] Make improve coding style and added empty view message
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user