From e1792163733780a15e0d5049cd6d2af4a5465cee Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 2 Sep 2021 14:50:58 +0300 Subject: (2) Implemented dailystack daily folder. Added test command that shows number of command arguments. --- src/fileManager.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'src/fileManager.c') diff --git a/src/fileManager.c b/src/fileManager.c index 56e52cc..f6c050f 100644 --- a/src/fileManager.c +++ b/src/fileManager.c @@ -6,7 +6,7 @@ * | L__ grocery_shopping.you86 * | * L__ DailyStack - * L__ 02.09.2021 + * L__ 02-09-2021 * L__ ParentProcedures.you86 * L__ result-1h_workout.png * L__ result-math_homework.docx @@ -17,17 +17,39 @@ #include #include #include +#include + +#define StrSize(str) (sizeof(str)/sizeof(str[0])) +#define StrCpyCat(dest, cpy, cat) ({\ + strcpy(dest, cpy);\ + strcat(dest, cat);\ + }) #define ROOT_DIR "/Documents/You86/" #define PROCEDURES_DIR ROOT_DIR"Procedures/" #define DAILY_STACK_DIR ROOT_DIR"DailyStack/" +char today[11]; + void createDir(char *); +void initTodayString() { + time_t t = time(NULL); + struct tm localTime = *localtime(&t); + snprintf(today, StrSize(today), "%02d-%02d-%d", localTime.tm_mday, localTime.tm_mon + 1, localTime.tm_year + 1900); +} + void initFiles() { createDir(ROOT_DIR); createDir(PROCEDURES_DIR); createDir(DAILY_STACK_DIR); + + initTodayString(); + + char todayPath[strlen(DAILY_STACK_DIR) + 11]; + StrCpyCat(todayPath, DAILY_STACK_DIR, today); + + createDir(todayPath); } void createDir(char *p_path) { @@ -35,8 +57,7 @@ void createDir(char *p_path) { int tildeLen = strlen(p_tilde), pathLen = strlen(p_path); char fullPath[tildeLen + pathLen]; - for (int i = 0; i < tildeLen + pathLen; i++) - fullPath[i] = (i < tildeLen) ? p_tilde[i] : p_path[i - tildeLen]; + StrCpyCat(fullPath, p_tilde, p_path); int ret = mkdir(fullPath, S_IRWXU); if (ret == -1) { -- cgit v1.2.3