diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-09-02 14:50:58 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-09-02 14:50:58 +0300 |
| commit | e1792163733780a15e0d5049cd6d2af4a5465cee (patch) | |
| tree | 8bc024b6e54cef104102e6cdb48e26a2680c9152 /src | |
| parent | e27a9d5f173f7626c576dbb2cd4c2f373edc847b (diff) | |
| download | you86-e1792163733780a15e0d5049cd6d2af4a5465cee.tar you86-e1792163733780a15e0d5049cd6d2af4a5465cee.tar.gz you86-e1792163733780a15e0d5049cd6d2af4a5465cee.zip | |
(2) Implemented dailystack daily folder. Added test command that shows number of command arguments.
Diffstat (limited to 'src')
| -rw-r--r-- | src/defaultCommands.c | 11 | ||||
| -rw-r--r-- | src/fileManager.c | 27 |
2 files changed, 35 insertions, 3 deletions
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 <stdio.h> #include <stdlib.h> +#include <string.h> 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 <errno.h> #include <stdio.h> #include <string.h> +#include <time.h> + +#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) { |
