diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2013-04-13 23:31:06 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2013-04-14 00:19:01 +0200 |
commit | 694d28eb78dfad98e2e7ea670d93a153d8efd368 (patch) | |
tree | 485dc11d3644d9dadb5fd4d67c5ef8103be79623 /src/note.c | |
parent | 9907069f442c56c90b67accb2d8fbd046dfce6db (diff) | |
download | calcurse-694d28eb78dfad98e2e7ea670d93a153d8efd368.zip |
Use tabs instead of spaces for indentation
This completes our switch to the Linux kernel coding style. Note that we
still use deeply nested constructs at some places which need to be fixed
up later.
Converted using the `Lindent` script from the Linux kernel code base,
along with some manual fixes.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/note.c')
-rw-r--r-- | src/note.c | 290 |
1 files changed, 146 insertions, 144 deletions
@@ -41,12 +41,13 @@ #include "sha1.h" struct note_gc_hash { - char *hash; - char buf[MAX_NOTESIZ + 1]; - HTABLE_ENTRY(note_gc_hash); + char *hash; + char buf[MAX_NOTESIZ + 1]; + HTABLE_ENTRY(note_gc_hash); }; -static void note_gc_extract_key(struct note_gc_hash *, const char **, int *); +static void note_gc_extract_key(struct note_gc_hash *, const char **, + int *); static int note_gc_cmp(struct note_gc_hash *, struct note_gc_hash *); HTABLE_HEAD(htp, NOTE_GC_HSIZE, note_gc_hash); @@ -57,179 +58,180 @@ HTABLE_PROTOTYPE(htp, note_gc_hash) * contains its name. */ char *generate_note(const char *str) { - char *sha1 = mem_malloc(SHA1_DIGESTLEN * 2 + 1); - char notepath[BUFSIZ]; - FILE *fp; - - sha1_digest(str, sha1); - snprintf(notepath, BUFSIZ, "%s%s", path_notes, sha1); - fp = fopen(notepath, "w"); - EXIT_IF(fp == NULL, _("Warning: could not open %s, Aborting..."), notepath); - fputs(str, fp); - file_close(fp, __FILE_POS__); - - return sha1; + char *sha1 = mem_malloc(SHA1_DIGESTLEN * 2 + 1); + char notepath[BUFSIZ]; + FILE *fp; + + sha1_digest(str, sha1); + snprintf(notepath, BUFSIZ, "%s%s", path_notes, sha1); + fp = fopen(notepath, "w"); + EXIT_IF(fp == NULL, _("Warning: could not open %s, Aborting..."), + notepath); + fputs(str, fp); + file_close(fp, __FILE_POS__); + + return sha1; } /* Edit a note with an external editor. */ void edit_note(char **note, const char *editor) { - char tmppath[BUFSIZ]; - char *tmpext; - char notepath[BUFSIZ]; - char *sha1 = mem_malloc(SHA1_DIGESTLEN * 2 + 1); - FILE *fp; - - strncpy(tmppath, get_tempdir(), BUFSIZ); - strncat(tmppath, "/calcurse-note.", BUFSIZ - strlen(tmppath) - 1); - if ((tmpext = new_tempfile(tmppath, TMPEXTSIZ)) == NULL) - return; - strncat(tmppath, tmpext, BUFSIZ - strlen(tmppath) - 1); - mem_free(tmpext); - - if (*note != NULL) { - snprintf(notepath, BUFSIZ, "%s%s", path_notes, *note); - io_file_cp(notepath, tmppath); - } - - wins_launch_external(tmppath, editor); - - if (io_file_is_empty(tmppath) > 0) { - erase_note(note); - } else if ((fp = fopen(tmppath, "r"))) { - sha1_stream(fp, sha1); - fclose(fp); - *note = sha1; - - snprintf(notepath, BUFSIZ, "%s%s", path_notes, *note); - io_file_cp(tmppath, notepath); - } - - unlink(tmppath); + char tmppath[BUFSIZ]; + char *tmpext; + char notepath[BUFSIZ]; + char *sha1 = mem_malloc(SHA1_DIGESTLEN * 2 + 1); + FILE *fp; + + strncpy(tmppath, get_tempdir(), BUFSIZ); + strncat(tmppath, "/calcurse-note.", BUFSIZ - strlen(tmppath) - 1); + if ((tmpext = new_tempfile(tmppath, TMPEXTSIZ)) == NULL) + return; + strncat(tmppath, tmpext, BUFSIZ - strlen(tmppath) - 1); + mem_free(tmpext); + + if (*note != NULL) { + snprintf(notepath, BUFSIZ, "%s%s", path_notes, *note); + io_file_cp(notepath, tmppath); + } + + wins_launch_external(tmppath, editor); + + if (io_file_is_empty(tmppath) > 0) { + erase_note(note); + } else if ((fp = fopen(tmppath, "r"))) { + sha1_stream(fp, sha1); + fclose(fp); + *note = sha1; + + snprintf(notepath, BUFSIZ, "%s%s", path_notes, *note); + io_file_cp(tmppath, notepath); + } + + unlink(tmppath); } /* View a note in an external pager. */ void view_note(const char *note, const char *pager) { - char fullname[BUFSIZ]; + char fullname[BUFSIZ]; - if (note == NULL) - return; - snprintf(fullname, BUFSIZ, "%s%s", path_notes, note); - wins_launch_external(fullname, pager); + if (note == NULL) + return; + snprintf(fullname, BUFSIZ, "%s%s", path_notes, note); + wins_launch_external(fullname, pager); } /* Erase a note previously attached to an item. */ void erase_note(char **note) { - if (*note == NULL) - return; - mem_free(*note); - *note = NULL; + if (*note == NULL) + return; + mem_free(*note); + *note = NULL; } /* Read a serialized note file name from a stream and deserialize it. */ void note_read(char *buffer, FILE * fp) { - int i; - - for (i = 0; i < MAX_NOTESIZ; i++) { - buffer[i] = getc(fp); - if (buffer[i] == ' ') { - buffer[i] = '\0'; - return; - } - } - - while (getc(fp) != ' ') ; - buffer[MAX_NOTESIZ] = '\0'; + int i; + + for (i = 0; i < MAX_NOTESIZ; i++) { + buffer[i] = getc(fp); + if (buffer[i] == ' ') { + buffer[i] = '\0'; + return; + } + } + + while (getc(fp) != ' ') ; + buffer[MAX_NOTESIZ] = '\0'; } static void note_gc_extract_key(struct note_gc_hash *data, const char **key, int *len) { - *key = data->hash; - *len = strlen(data->hash); + *key = data->hash; + *len = strlen(data->hash); } static int note_gc_cmp(struct note_gc_hash *a, struct note_gc_hash *b) { - return strcmp(a->hash, b->hash); + return strcmp(a->hash, b->hash); } /* Spot and unlink unused note files. */ void note_gc(void) { - struct htp gc_htable = HTABLE_INITIALIZER(&gc_htable); - struct note_gc_hash *hp; - DIR *dirp; - struct dirent *dp; - llist_item_t *i; - struct note_gc_hash tmph; - char notepath[BUFSIZ]; - - if (!(dirp = opendir(path_notes))) - return; - - /* Insert all note file names into a hash table. */ - do { - if ((dp = readdir(dirp)) && *(dp->d_name) != '.') { - hp = mem_malloc(sizeof(struct note_gc_hash)); - - strncpy(hp->buf, dp->d_name, MAX_NOTESIZ + 1); - hp->hash = hp->buf; - - HTABLE_INSERT(htp, &gc_htable, hp); - } - } - while (dp); - - closedir(dirp); - - /* Remove hashes that are actually in use. */ - LLIST_TS_FOREACH(&alist_p, i) { - struct apoint *apt = LLIST_GET_DATA(i); - if (apt->note) { - tmph.hash = apt->note; - free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); - } - } - - LLIST_FOREACH(&eventlist, i) { - struct event *ev = LLIST_GET_DATA(i); - if (ev->note) { - tmph.hash = ev->note; - free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); - } - } - - LLIST_TS_FOREACH(&recur_alist_p, i) { - struct recur_apoint *rapt = LLIST_GET_DATA(i); - if (rapt->note) { - tmph.hash = rapt->note; - free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); - } - } - - LLIST_FOREACH(&recur_elist, i) { - struct recur_event *rev = LLIST_GET_DATA(i); - if (rev->note) { - tmph.hash = rev->note; - free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); - } - } - - LLIST_FOREACH(&todolist, i) { - struct todo *todo = LLIST_GET_DATA(i); - if (todo->note) { - tmph.hash = todo->note; - free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); - } - } - - /* Unlink unused note files. */ - HTABLE_FOREACH(hp, htp, &gc_htable) { - snprintf(notepath, BUFSIZ, "%s%s", path_notes, hp->hash); - unlink(notepath); - } + struct htp gc_htable = HTABLE_INITIALIZER(&gc_htable); + struct note_gc_hash *hp; + DIR *dirp; + struct dirent *dp; + llist_item_t *i; + struct note_gc_hash tmph; + char notepath[BUFSIZ]; + + if (!(dirp = opendir(path_notes))) + return; + + /* Insert all note file names into a hash table. */ + do { + if ((dp = readdir(dirp)) && *(dp->d_name) != '.') { + hp = mem_malloc(sizeof(struct note_gc_hash)); + + strncpy(hp->buf, dp->d_name, MAX_NOTESIZ + 1); + hp->hash = hp->buf; + + HTABLE_INSERT(htp, &gc_htable, hp); + } + } + while (dp); + + closedir(dirp); + + /* Remove hashes that are actually in use. */ + LLIST_TS_FOREACH(&alist_p, i) { + struct apoint *apt = LLIST_GET_DATA(i); + if (apt->note) { + tmph.hash = apt->note; + free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); + } + } + + LLIST_FOREACH(&eventlist, i) { + struct event *ev = LLIST_GET_DATA(i); + if (ev->note) { + tmph.hash = ev->note; + free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); + } + } + + LLIST_TS_FOREACH(&recur_alist_p, i) { + struct recur_apoint *rapt = LLIST_GET_DATA(i); + if (rapt->note) { + tmph.hash = rapt->note; + free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); + } + } + + LLIST_FOREACH(&recur_elist, i) { + struct recur_event *rev = LLIST_GET_DATA(i); + if (rev->note) { + tmph.hash = rev->note; + free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); + } + } + + LLIST_FOREACH(&todolist, i) { + struct todo *todo = LLIST_GET_DATA(i); + if (todo->note) { + tmph.hash = todo->note; + free(HTABLE_REMOVE(htp, &gc_htable, &tmph)); + } + } + + /* Unlink unused note files. */ + HTABLE_FOREACH(hp, htp, &gc_htable) { + snprintf(notepath, BUFSIZ, "%s%s", path_notes, hp->hash); + unlink(notepath); + } } |