aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/env.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/env.c b/src/env.c
index d13642f..282bc8f 100644
--- a/src/env.c
+++ b/src/env.c
@@ -4,6 +4,16 @@ bool initialized_env = false;
4char *tabledir; 4char *tabledir;
5 5
6void 6void
7mymkdir(char *d, int m)
8{
9#ifdef _WIN32
10 mkdir(d);
11#else
12 mkdir(d, m);
13#endif
14}
15
16void
7init_env() 17init_env()
8{ 18{
9 char *nissydata = getenv("NISSYDATA"); 19 char *nissydata = getenv("NISSYDATA");
@@ -15,21 +25,24 @@ init_env()
15 return; 25 return;
16 26
17 if (nissydata != NULL) { 27 if (nissydata != NULL) {
18 tabledir = malloc(strlen(nissydata) * sizeof(char) + 20); 28 tabledir = malloc((strlen(nissydata) + 20) * sizeof(char));
19 strcpy(tabledir, nissydata); 29 strcpy(tabledir, nissydata);
20 } else if (localdata != NULL) { 30 } else if (localdata != NULL) {
21 tabledir = malloc(strlen(localdata) * sizeof(char) + 20); 31 tabledir = malloc((strlen(localdata) + 20) * sizeof(char));
22 strcpy(tabledir, localdata); 32 strcpy(tabledir, localdata);
23 strcat(tabledir, "/nissy"); 33 strcat(tabledir, "/nissy");
24 } else if (home != NULL) { 34 } else if (home != NULL) {
25 tabledir = malloc(strlen(home) * sizeof(char) + 20); 35 tabledir = malloc((strlen(home) + 20) * sizeof(char));
26 strcpy(tabledir, home); 36 strcpy(tabledir, home);
27 strcat(tabledir, "/.nissy"); 37 strcat(tabledir, "/.nissy");
38 } else {
39 tabledir = malloc(20 * sizeof(char));
40 strcpy(tabledir, ".");
28 } 41 }
29 42
30 mkdir(tabledir, 0777); 43 mymkdir(tabledir, 0777);
31 strcat(tabledir, "/tables"); 44 strcat(tabledir, "/tables");
32 mkdir(tabledir, 0777); 45 mymkdir(tabledir, 0777);
33 46
34 read = !access(tabledir, R_OK); 47 read = !access(tabledir, R_OK);
35 write = !access(tabledir, W_OK); 48 write = !access(tabledir, W_OK);

Generated with cgit - Back to sebastiano.tronto.net