Added quick, easy file read function
This commit is contained in:
parent
ba3619ede2
commit
77b4091a66
12
build.bash
12
build.bash
|
@ -6,7 +6,7 @@ GCC_ARGUMENTS="-std=c11 -Wall"
|
||||||
|
|
||||||
MODULES=(
|
MODULES=(
|
||||||
"core"
|
"core"
|
||||||
"json"
|
"platform"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
@ -41,16 +41,12 @@ function compile_folder() {
|
||||||
done
|
done
|
||||||
|
|
||||||
ar -rvs $PROJECT_ROOT/.build/$PROJECT_NAME-$1.a $OBJECTS_FOLDER/*.o
|
ar -rvs $PROJECT_ROOT/.build/$PROJECT_NAME-$1.a $OBJECTS_FOLDER/*.o
|
||||||
|
cd $PROJECT_ROOT
|
||||||
}
|
}
|
||||||
|
|
||||||
function compile_all_modules() {
|
function compile_all_modules() {
|
||||||
for MODULE in $MODULES
|
compile_folder "core" "-I $PROJECT_ROOT/core/exports/"
|
||||||
do
|
compile_folder "platform" "-I $PROJECT_ROOT/core/exports/ -I $PROJECT_ROOT/platform/exports/"
|
||||||
echo "============ CURRENT MODULE: $MODULE ============"
|
|
||||||
compile_folder \
|
|
||||||
"$MODULE" \
|
|
||||||
"-I $PROJECT_ROOT/$MODULE/exports/"
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
#ifndef RR_FS_QUICK_H
|
||||||
|
#define RR_FS_QUICK_H
|
||||||
|
|
||||||
|
#include <librr/types.h>
|
||||||
|
|
||||||
|
usz_t rr_get_file_length(const char *path);
|
||||||
|
void * rr_load_whole_file(const char *path);
|
||||||
|
|
||||||
|
#endif // RR_FS_QUICK_H
|
|
@ -0,0 +1,36 @@
|
||||||
|
#include <librr/fs/quick.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
usz_t rr_get_file_length(const char *path)
|
||||||
|
{
|
||||||
|
FILE *file = fopen(path, "rb");
|
||||||
|
if(file == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
fseek(file, 0, SEEK_END);
|
||||||
|
usz_t length = ftell(file);
|
||||||
|
fclose(file);
|
||||||
|
|
||||||
|
return length;
|
||||||
|
}
|
||||||
|
|
||||||
|
void * rr_load_whole_file(const char *path)
|
||||||
|
{
|
||||||
|
FILE *file = fopen(path, "rb");
|
||||||
|
if(file == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
fseek(file, 0, SEEK_END);
|
||||||
|
usz_t length = ftell(file);
|
||||||
|
fseek(file, 0, SEEK_SET);
|
||||||
|
|
||||||
|
char *data = malloc(length+1);
|
||||||
|
usz_t read_length = fread(data, length, 1, file);
|
||||||
|
if(read_length < length)
|
||||||
|
data = realloc(data, read_length);
|
||||||
|
|
||||||
|
fclose(file);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
Loading…
Reference in New Issue