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/defaultCommands.c | 11 +++++++++++ src/fileManager.c | 27 ++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/defaultCommands.c b/src/defaultCommands.c index 74415da..533d399 100644 --- a/src/defaultCommands.c +++ b/src/defaultCommands.c @@ -1,6 +1,7 @@ #include "commandHandler.h" #include #include +#include void help(char *p_args) { printf("This is the help message"); @@ -18,6 +19,14 @@ void exitApp(char *p_args) { exit(EXIT_SUCCESS); } +void test(char *p_args) { + int i = 0; + while (p_args != NULL) { + printf("Argument %d: %s\n", i++, p_args); + p_args = strtok(NULL, " "); + } +} + extern void registerHandler(char *, P_EXECUTOR); void registerDefaultHandlers() { @@ -30,4 +39,6 @@ void registerDefaultHandlers() { registerHandler("v", &version); registerHandler("exit", &exitApp); registerHandler("e", &exitApp); + + registerHandler("t", &test); } 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