summaryrefslogtreecommitdiff
path: root/src/note.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2013-04-13 23:31:06 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2013-04-14 00:19:01 +0200
commit694d28eb78dfad98e2e7ea670d93a153d8efd368 (patch)
tree485dc11d3644d9dadb5fd4d67c5ef8103be79623 /src/note.c
parent9907069f442c56c90b67accb2d8fbd046dfce6db (diff)
downloadcalcurse-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.c290
1 files changed, 146 insertions, 144 deletions
diff --git a/src/note.c b/src/note.c
index e8c9fb0..a6e48d7 100644
--- a/src/note.c
+++ b/src/note.c
@@ -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);
+ }
}