@@ -1,10 +1,10 @@ | |||
appname = housecat | |||
build: | |||
gcc -O3 -o $(appname) src/*.c -std=c99 | |||
gcc -O3 -o $(appname) src/*.c -std=c99 -D_XOPEN_SOURCE=700 | |||
debug: | |||
gcc -o $(appname) src/*.c -std=c99 -DDEBUG=1 | |||
gcc -o $(appname) src/*.c -std=c99 -DDEBUG=1 -D_XOPEN_SOURCE=700 | |||
install: | |||
mv $(appname) /usr/bin/$(appname) |
@@ -14,8 +14,9 @@ | |||
cms_err* cms_build_make_tree(cms_page* root, char* path, char* dirname) | |||
{ | |||
DIR* dp = opendir(path); | |||
if (dp == NULL) | |||
struct dirent** namelist; | |||
int n = scandir(path, &namelist, 0, alphasort); | |||
if (n == -1) | |||
return cms_err_from_std_err(errno); | |||
struct dirent* ep; | |||
@@ -24,8 +25,9 @@ cms_err* cms_build_make_tree(cms_page* root, char* path, char* dirname) | |||
if (st == NULL) | |||
return cms_err_create(CMS_ERR_ALLOC, NULL); | |||
while (ep = readdir(dp)) | |||
for (int i = 0; i < n; ++i) | |||
{ | |||
ep = namelist[i]; | |||
if (ep->d_name[0] == '.') | |||
continue; | |||
@@ -86,8 +88,8 @@ cms_err* cms_build_make_tree(cms_page* root, char* path, char* dirname) | |||
free(entpath); | |||
} | |||
closedir(dp); | |||
free(st); | |||
free(namelist); | |||
return cms_err_create(CMS_ERR_NONE, NULL); | |||
} |
@@ -8,6 +8,27 @@ | |||
#include "cms_page.h" | |||
#include "cms_build.h" | |||
//Temporary, for testing purposes | |||
static void print_page_tree(cms_page* page) | |||
{ | |||
printf("Page: %s\n", page->title); | |||
//Loop over posts | |||
size_t i; | |||
for (i = 0; i < page->numposts; ++i) | |||
{ | |||
printf("\tPost: %s\n", (page->posts[i]).title); | |||
} | |||
//Loop over subs | |||
for (i = 0; i < page->numsubs; ++i) | |||
{ | |||
print_page_tree(&page->subs[i]); | |||
} | |||
printf("---------\n"); | |||
} | |||
int main(int argc, char** argv) | |||
{ | |||
if (argc < 2) | |||
@@ -82,6 +103,8 @@ int main(int argc, char** argv) | |||
free(path); | |||
if (err) | |||
cms_err_panic(err); | |||
print_page_tree(root); | |||
} | |||
//Nothing, print usage |