From: Huck Boles Date: Thu, 3 Nov 2022 00:00:02 +0000 (-0500) Subject: automatic backup X-Git-Url: https://git.huck.website/?a=commitdiff_plain;h=41d3ed4406f33f9308cd9c45d4b7c9f4c1ccf2a9;p=odot.git automatic backup --- diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob index 17abd5f..78e4a25 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob index 5f7cb3a..deb361a 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob index 8175414..469004a 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob index 0df9416..1cb7b38 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob index 9338a5f..866759e 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob index 0df69ff..926a83b 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob index e007067..1681562 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob index 0256b2d..2d0ccd9 100644 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob index ae8a81b..176afb7 100644 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 diff --git a/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob b/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob index 394b920..3b44d93 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob and b/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/file.c b/.ccls-cache/@home@huck@.repos@odot/file.c index ddf96f1..d4fcd1d 100644 --- a/.ccls-cache/@home@huck@.repos@odot/file.c +++ b/.ccls-cache/@home@huck@.repos@odot/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/.ccls-cache/@home@huck@.repos@odot/file.c.blob b/.ccls-cache/@home@huck@.repos@odot/file.c.blob index 06ba4f6..1421e3e 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/file.c.blob and b/.ccls-cache/@home@huck@.repos@odot/file.c.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/func.c b/.ccls-cache/@home@huck@.repos@odot/func.c index 06fe268..f5db53d 100644 --- a/.ccls-cache/@home@huck@.repos@odot/func.c +++ b/.ccls-cache/@home@huck@.repos@odot/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/.ccls-cache/@home@huck@.repos@odot/func.c.blob b/.ccls-cache/@home@huck@.repos@odot/func.c.blob index fbb0154..c849efd 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/func.c.blob and b/.ccls-cache/@home@huck@.repos@odot/func.c.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/input.c b/.ccls-cache/@home@huck@.repos@odot/input.c index 20cf7bb..a8846d3 100644 --- a/.ccls-cache/@home@huck@.repos@odot/input.c +++ b/.ccls-cache/@home@huck@.repos@odot/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/.ccls-cache/@home@huck@.repos@odot/input.c.blob b/.ccls-cache/@home@huck@.repos@odot/input.c.blob index 8f36481..0338a56 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/input.c.blob and b/.ccls-cache/@home@huck@.repos@odot/input.c.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/main.c b/.ccls-cache/@home@huck@.repos@odot/main.c index 6ec8b64..a1134e2 100644 --- a/.ccls-cache/@home@huck@.repos@odot/main.c +++ b/.ccls-cache/@home@huck@.repos@odot/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/.ccls-cache/@home@huck@.repos@odot/main.c.blob b/.ccls-cache/@home@huck@.repos@odot/main.c.blob index ca1a516..f86f036 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/main.c.blob and b/.ccls-cache/@home@huck@.repos@odot/main.c.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h b/.ccls-cache/@home@huck@.repos@odot/odot.h index 897570b..c206b4f 100644 --- a/.ccls-cache/@home@huck@.repos@odot/odot.h +++ b/.ccls-cache/@home@huck@.repos@odot/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); diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob b/.ccls-cache/@home@huck@.repos@odot/odot.h.blob index 519e307..a50c03a 100644 Binary files a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob and b/.ccls-cache/@home@huck@.repos@odot/odot.h.blob differ diff --git a/.ccls-cache/@home@huck@.repos@odot/structure.c b/.ccls-cache/@home@huck@.repos@odot/structure.c index 3f75b10..cf3c428 100644 --- a/.ccls-cache/@home@huck@.repos@odot/structure.c +++ b/.ccls-cache/@home@huck@.repos@odot/structure.c @@ -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; } diff --git a/.ccls-cache/@home@huck@.repos@odot/structure.c.blob b/.ccls-cache/@home@huck@.repos@odot/structure.c.blob index 690b752..c4d3cc0 100644 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 ddf96f1..d4fcd1d 100644 --- 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 06fe268..f5db53d 100644 --- 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 20cf7bb..a8846d3 100644 --- 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 6ec8b64..a1134e2 100644 --- 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 897570b..c206b4f 100644 --- 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); diff --git a/structure.c b/structure.c index 3f75b10..cf3c428 100644 --- a/structure.c +++ b/structure.c @@ -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; }