]> git.huck.website - odot.git/commitdiff
Sun Jan 8 12:00:08 AM CST 2023 automatic backup
authorHuck Boles <huck@huck.website>
Sun, 8 Jan 2023 06:00:08 +0000 (00:00 -0600)
committerHuck Boles <huck@huck.website>
Sun, 8 Jan 2023 06:00:08 +0000 (00:00 -0600)
actions.c
function.c
odot.c

index 2fc62548da99dd6c9849f9d1f06d0b834e0a6796..4a5e10b03aac48d13187f9726668d1519cef4f45 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -11,7 +11,8 @@ extern int  exists,
             showdone;
 
 void newtask(sqlite3 *db){
-    char *cmd = malloc(MAXLINE*sizeof(char));
+    int len = 45+strlen(group)+strlen(task);
+    char *cmd = malloc(len*sizeof(char));
 
     if (exists == 0){
         sprintf(cmd,"%s (%i, '%s', '%s', 0);",INSERT,hash,task,group);
index 0421ebbb4c7a1bab4a9bd15713fcb6d16e742622..30197007c74c8134dfec5d7e9f94f649f9f25a0a 100644 (file)
@@ -22,7 +22,7 @@ int genhash(char *str) {
 
 char *filepath(void){
     char *dir = getenv("XDG_DATA_HOME");
-    char *db = malloc(MAXLINE * sizeof(char));
+    char *database = malloc(MAXLINE * sizeof(char));
 
     /* set dir to $HOME/.local/share if XDG isn't set */
     if (!dir) {
@@ -42,9 +42,10 @@ char *filepath(void){
         if (err) error(DIRERR);
     }
 
-    sprintf(db,"%s/odot.db",dir);
+    sprintf(database,"%s/odot.db",dir);
+    free(dir);
 
-    return db;
+    return database;
 }
 
 void checksame(char *task,char *oldgroup){
diff --git a/odot.c b/odot.c
index df155bebe4cb7d5aed74f957098e1ca9d37aad2a..539f548d07a06d115d075a6527a42dfc15997301 100644 (file)
--- a/odot.c
+++ b/odot.c
@@ -19,8 +19,14 @@ int main(int argc, char *argv[]){
 
     int err = 0;
     sqlite3 *db;
-    err = sqlite3_open(filepath(),&db);
+
+    char *dbpath = malloc(MAXLINE*sizeof(char));
+    dbpath = filepath();
+    err = sqlite3_open(dbpath,&db);
+    free(dbpath);
+
     if (err < 0) sqlerror(db);
+
     sqlcmd(db,BUILDTABLE,'c');
 
     /* show all tasks if called alone */