aboutsummaryrefslogtreecommitdiff
path: root/src/fileManager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fileManager.c')
-rw-r--r--src/fileManager.c27
1 files changed, 24 insertions, 3 deletions
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) {