]> git.huck.website - odot.git/commitdiff
automatic backup
authorHuck Boles <huboles@protonmail.com>
Thu, 3 Nov 2022 00:00:02 +0000 (19:00 -0500)
committerHuck Boles <huboles@protonmail.com>
Thu, 3 Nov 2022 00:00:02 +0000 (19:00 -0500)
28 files changed:
.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob
.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob
.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob
.ccls-cache/@home@huck@.repos@odot/file.c
.ccls-cache/@home@huck@.repos@odot/file.c.blob
.ccls-cache/@home@huck@.repos@odot/func.c
.ccls-cache/@home@huck@.repos@odot/func.c.blob
.ccls-cache/@home@huck@.repos@odot/input.c
.ccls-cache/@home@huck@.repos@odot/input.c.blob
.ccls-cache/@home@huck@.repos@odot/main.c
.ccls-cache/@home@huck@.repos@odot/main.c.blob
.ccls-cache/@home@huck@.repos@odot/odot.h
.ccls-cache/@home@huck@.repos@odot/odot.h.blob
.ccls-cache/@home@huck@.repos@odot/structure.c
.ccls-cache/@home@huck@.repos@odot/structure.c.blob
file.c
func.c
input.c
main.c
odot.h
structure.c

index 17abd5fc969584c584f03fdae3cf38861ada6399..78e4a2591fdfa78d86407f1433a16e201df19d8a 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob differ
index 5f7cb3a28199ab9b8a4f7d6de86620088d840c68..deb361ac11e069dcd4252a8b1ac9ea7415747f17 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob differ
index 81754144e5a0515f6d5a3007892719a8d5cdc998..469004ae98d3bc00cc51f6526cf97923eb9c0e61 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob differ
index 0df941655ed7ed6200408a581fb7b787f4d15f9a..1cb7b380dd73bf9e598ca185ed8ac3a6d2e48ed1 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob differ
index 9338a5f824597e978c061b0975a23654419ac701..866759eaacb0a35c25e2ad7ad099e948d0c23cba 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob differ
index 0df69ffac7037391e2132dd909cdcd124eb18a04..926a83b8b87f165bf26ea31590289ebaf5d625c0 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob differ
index e007067ed1981e18e0885f314fb746493173ea9b..16815621d88176d668c96b158df61182e64e7891 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob differ
index 0256b2db848efaa0f8bcb3f16384f2b99efd79fc..2d0ccd922e068b3b06b7e4ede34406dc8152d75c 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob differ
index ae8a81b14499ab0a543cb33280c56da6b36f50aa..176afb76b189c61ba0a7ca74def5922161d73a82 100644 (file)
Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob and b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob differ
index 394b920a1173e16ff3c5b973d8ace6aca06cc14a..3b44d931ffd526300a29738ae1aed47538cc9e22 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob and b/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob differ
index ddf96f1c98dca7a67691755a7986a3ee1cedb4ce..d4fcd1d6a80fd0bb786449f1ad3370739d1edba4 100644 (file)
@@ -7,12 +7,30 @@ extern FILE *fp;
 enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
 
 
-void add(void){
-    fp = fopen(TODOLIST, "a");
-    if (fp != NULL){
-        fputs(strcat(note,"\n"),fp);
-        fclose(fp);
+void add(struct task t, int size){
+    int l,m,h,i;
+
+    h = linecount();
+    m = h / 2;
+    l = 0;
+
+    while (h != m  && m != l){
+        i = strcmp(t.task,gettask().task);
+
+        if (i < 0) {
+            h = m;
+        } else if (i > 0) {
+            l = m;
+        } else { 
+            dialogue("Task already on list",t.task, BLUE);
+            return;
+        }
+
+        m = (h + l)/2;
     }
+
+    puttask(t);
+    return;
 }
 
 void rem(void){
@@ -50,19 +68,3 @@ void show(void){
     free(c);
 }
 
-int listcheck(void){
-    char *s;
-
-    fp = fopen(TODOLIST, "r");
-    s = (char *) malloc(MAXLINE * sizeof(char));
-
-    while (fgets(s, MAXLINE, fp) != NULL){
-        s[strlen(s) - 1] = 0;
-        if (strcmp(note, s) == 0){
-            free(s);
-            return 1;
-        }
-    }
-    free(s);
-    return 0;
-}
index 06ba4f6dd24f6f3d16846e3349eac4bafccd20ed..1421e3e8dd6d3e112aa9569e7a6f264e784e2ebd 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/file.c.blob and b/.ccls-cache/@home@huck@.repos@odot/file.c.blob differ
index 06fe2684963475577f3a8b15002a14f6875cdaa6..f5db53d9ed8e55d7d7e1581a8d9f8f164fc45cc9 100644 (file)
@@ -1,6 +1,7 @@
 #include "odot.h"
 
 enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
+extern FILE *fp;
 
 
 int listcheck(struct task t){
@@ -26,7 +27,7 @@ char *gettime(void){
     return NULL;
 }
 
-int linecount(FILE *fp){
+int linecount(void){
     int i = 0;
     char c;
     while ((c = fgetc(fp)) != EOF){
index fbb01542509103c54d7d87fd219002672ed05d05..c849efdb44ddba85bb396d3d95d5b1ded238151e 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/func.c.blob and b/.ccls-cache/@home@huck@.repos@odot/func.c.blob differ
index 20cf7bba0171533ad7849808ecb06c698a730aee..a8846d3badae5fb5061646943da7fd33409180df 100644 (file)
@@ -34,8 +34,5 @@ void getopt(int n, char *arg[]){
 
         free(c);
     }
-
-    if (strlen(o) == 0)
-        o = (listcheck() == 0) ? "n" : "d";
 }
 
index 8f364817c81b6315a4b42eccbd54985d6097d3ea..0338a569a4846675ed62909ea2b64ad189c8409b 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/input.c.blob and b/.ccls-cache/@home@huck@.repos@odot/input.c.blob differ
index 6ec8b6435d2b84d2ab1bdc761ed03a82d96d6f7c..a1134e29feb5eb56a0b7b122a6baf3fc2287abec 100644 (file)
@@ -4,43 +4,7 @@ extern char *note, *o;
 extern int urgency;
 
 int main(int argc, char *argv[]){
-    char op;
-    int length,i;
-    struct task t;
-    note = (char *) malloc(MAXLINE * sizeof(char));
-    o = (char *) malloc (3 * sizeof(char));
 
-    t = maketask(argc, argv);
-    getopt(argc, argv);
-    
-    for (i = 0; i < strlen(o); i++)
-        switch (o[i]) {
-            case 'n':
-                if (listcheck(t) == 0){
-                    add();
-                    printf("\033[32mAdded to list\033[0m: %s\n", note);
-                } else {
-                    printf("\033[33mAlready on list\033[0m: %s\nRemove from list? (y/\033[1mn\033[0m): ", note);
-                    if (getchar() == 'y') 
-                        rem();
-                }
-                break;
-            case 'd':
-                if (listcheck(t) == 1) {
-                    rem();
-                    printf("\033[36mRemoved from list\033[0m: %s\n", note);
-                } else {
-                    printf("\033[31mNot on list\033[0m: %s\nAdd to list? (y/\033[1mn\033[0m): ", note);
-                    if (getchar() == 'y') 
-                        add();
-                }
-                break;
-            case 's':
-                printf("\n\tTODO LIST:\n");
-                show();
-                break;
-        }
-    free(note); 
     return 0;
 }
 
index ca1a5167a231dfae28496bf10bb300151c741f61..f86f036a14cfa53f06ac571ab277b8bfd1dfce97 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/main.c.blob and b/.ccls-cache/@home@huck@.repos@odot/main.c.blob differ
index 897570b7ad14d0965afc539c1f4ab48786c8a523..c206b4f242984108f6e0358409a072d3f3a68695 100644 (file)
@@ -17,7 +17,7 @@ struct task {
 char *getnote(int, char *[]);
 void getopt(int, char *[]);
 
-void add(void);
+void add(struct task, int);
 void rem(void);
 void show(void);
 
@@ -27,7 +27,10 @@ char *gettime(void);
 
 void error(char);
 
-struct task maketask(int n, char **arg);
+int linecount(void);
+void dialogue(char *, char *, int);
+
+struct task maketask(char *, char *);
 void puttask(struct task n);
 struct task gettask(void);
 
index 519e307eab40e65ec045b25968ea1b114eef77bf..a50c03a18115e62cff62d35c47afb00f94ce04d1 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob and b/.ccls-cache/@home@huck@.repos@odot/odot.h.blob differ
index 3f75b1003f92aca4a6a37a5097c2f4048f89d39a..cf3c428150d08eb30ade4b71594c3b66456562a1 100644 (file)
@@ -4,26 +4,24 @@ extern int urgency;
 extern FILE *fp;
 
 
-struct task maketask(int n, char **arg){
-    struct task temp;
+struct task maketask(char *task, char *group){
+    struct task tmp;
 
-    temp.task = getnote(n,arg);
-    temp.length = strlen(temp.task);
-    temp.date = gettime();
-    temp.due = 0;
-    temp.urgency = urgency;
+    tmp.task = task;
+    tmp.date = 0;
+    tmp.group = group;
 
-    return temp;
+    return tmp;
 }
 
 void puttask(struct task n){
-    fprintf(fp, "%i\t%s\t%s\t%s\t%i\n",n.length,n.task,n.date,n.due,n.urgency);
+    fprintf(fp, "%s\t%i\t%s\n",n.task,n.date,n.group);
 }
 
 struct task gettask(void){
     struct task tmp;
     
-    fscanf(fp,"%i\t%s\t%s\t%s\t%i\n",&tmp.length,tmp.task,tmp.date,tmp.due,&tmp.urgency);
+    fscanf(fp,"%s\t%i\t%s\n",tmp.task,&tmp.date,tmp.group);
 
     return tmp;
 }
index 690b7521f9bfe7492e1a9316498612b0b7e53f41..c4d3cc0a0fc6912dcd7284adcd5a20028ed5d876 100644 (file)
Binary files a/.ccls-cache/@home@huck@.repos@odot/structure.c.blob and b/.ccls-cache/@home@huck@.repos@odot/structure.c.blob differ
diff --git a/file.c b/file.c
index ddf96f1c98dca7a67691755a7986a3ee1cedb4ce..d4fcd1d6a80fd0bb786449f1ad3370739d1edba4 100644 (file)
--- a/file.c
+++ b/file.c
@@ -7,12 +7,30 @@ extern FILE *fp;
 enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
 
 
-void add(void){
-    fp = fopen(TODOLIST, "a");
-    if (fp != NULL){
-        fputs(strcat(note,"\n"),fp);
-        fclose(fp);
+void add(struct task t, int size){
+    int l,m,h,i;
+
+    h = linecount();
+    m = h / 2;
+    l = 0;
+
+    while (h != m  && m != l){
+        i = strcmp(t.task,gettask().task);
+
+        if (i < 0) {
+            h = m;
+        } else if (i > 0) {
+            l = m;
+        } else { 
+            dialogue("Task already on list",t.task, BLUE);
+            return;
+        }
+
+        m = (h + l)/2;
     }
+
+    puttask(t);
+    return;
 }
 
 void rem(void){
@@ -50,19 +68,3 @@ void show(void){
     free(c);
 }
 
-int listcheck(void){
-    char *s;
-
-    fp = fopen(TODOLIST, "r");
-    s = (char *) malloc(MAXLINE * sizeof(char));
-
-    while (fgets(s, MAXLINE, fp) != NULL){
-        s[strlen(s) - 1] = 0;
-        if (strcmp(note, s) == 0){
-            free(s);
-            return 1;
-        }
-    }
-    free(s);
-    return 0;
-}
diff --git a/func.c b/func.c
index 06fe2684963475577f3a8b15002a14f6875cdaa6..f5db53d9ed8e55d7d7e1581a8d9f8f164fc45cc9 100644 (file)
--- a/func.c
+++ b/func.c
@@ -1,6 +1,7 @@
 #include "odot.h"
 
 enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
+extern FILE *fp;
 
 
 int listcheck(struct task t){
@@ -26,7 +27,7 @@ char *gettime(void){
     return NULL;
 }
 
-int linecount(FILE *fp){
+int linecount(void){
     int i = 0;
     char c;
     while ((c = fgetc(fp)) != EOF){
diff --git a/input.c b/input.c
index 20cf7bba0171533ad7849808ecb06c698a730aee..a8846d3badae5fb5061646943da7fd33409180df 100644 (file)
--- a/input.c
+++ b/input.c
@@ -34,8 +34,5 @@ void getopt(int n, char *arg[]){
 
         free(c);
     }
-
-    if (strlen(o) == 0)
-        o = (listcheck() == 0) ? "n" : "d";
 }
 
diff --git a/main.c b/main.c
index 6ec8b6435d2b84d2ab1bdc761ed03a82d96d6f7c..a1134e29feb5eb56a0b7b122a6baf3fc2287abec 100644 (file)
--- a/main.c
+++ b/main.c
@@ -4,43 +4,7 @@ extern char *note, *o;
 extern int urgency;
 
 int main(int argc, char *argv[]){
-    char op;
-    int length,i;
-    struct task t;
-    note = (char *) malloc(MAXLINE * sizeof(char));
-    o = (char *) malloc (3 * sizeof(char));
 
-    t = maketask(argc, argv);
-    getopt(argc, argv);
-    
-    for (i = 0; i < strlen(o); i++)
-        switch (o[i]) {
-            case 'n':
-                if (listcheck(t) == 0){
-                    add();
-                    printf("\033[32mAdded to list\033[0m: %s\n", note);
-                } else {
-                    printf("\033[33mAlready on list\033[0m: %s\nRemove from list? (y/\033[1mn\033[0m): ", note);
-                    if (getchar() == 'y') 
-                        rem();
-                }
-                break;
-            case 'd':
-                if (listcheck(t) == 1) {
-                    rem();
-                    printf("\033[36mRemoved from list\033[0m: %s\n", note);
-                } else {
-                    printf("\033[31mNot on list\033[0m: %s\nAdd to list? (y/\033[1mn\033[0m): ", note);
-                    if (getchar() == 'y') 
-                        add();
-                }
-                break;
-            case 's':
-                printf("\n\tTODO LIST:\n");
-                show();
-                break;
-        }
-    free(note); 
     return 0;
 }
 
diff --git a/odot.h b/odot.h
index 897570b7ad14d0965afc539c1f4ab48786c8a523..c206b4f242984108f6e0358409a072d3f3a68695 100644 (file)
--- a/odot.h
+++ b/odot.h
@@ -17,7 +17,7 @@ struct task {
 char *getnote(int, char *[]);
 void getopt(int, char *[]);
 
-void add(void);
+void add(struct task, int);
 void rem(void);
 void show(void);
 
@@ -27,7 +27,10 @@ char *gettime(void);
 
 void error(char);
 
-struct task maketask(int n, char **arg);
+int linecount(void);
+void dialogue(char *, char *, int);
+
+struct task maketask(char *, char *);
 void puttask(struct task n);
 struct task gettask(void);
 
index 3f75b1003f92aca4a6a37a5097c2f4048f89d39a..cf3c428150d08eb30ade4b71594c3b66456562a1 100644 (file)
@@ -4,26 +4,24 @@ extern int urgency;
 extern FILE *fp;
 
 
-struct task maketask(int n, char **arg){
-    struct task temp;
+struct task maketask(char *task, char *group){
+    struct task tmp;
 
-    temp.task = getnote(n,arg);
-    temp.length = strlen(temp.task);
-    temp.date = gettime();
-    temp.due = 0;
-    temp.urgency = urgency;
+    tmp.task = task;
+    tmp.date = 0;
+    tmp.group = group;
 
-    return temp;
+    return tmp;
 }
 
 void puttask(struct task n){
-    fprintf(fp, "%i\t%s\t%s\t%s\t%i\n",n.length,n.task,n.date,n.due,n.urgency);
+    fprintf(fp, "%s\t%i\t%s\n",n.task,n.date,n.group);
 }
 
 struct task gettask(void){
     struct task tmp;
     
-    fscanf(fp,"%i\t%s\t%s\t%s\t%i\n",&tmp.length,tmp.task,tmp.date,tmp.due,&tmp.urgency);
+    fscanf(fp,"%s\t%i\t%s\n",tmp.task,&tmp.date,tmp.group);
 
     return tmp;
 }