From 06bed34f0e4a8903904cd26d74b237c8984fbfaa Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Tue, 16 Oct 2012 09:41:16 +0000 Subject: [PATCH] --- src/main.c | 27 +++++++++++++++------------ src/tw.c | 22 +++++++++++----------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/main.c b/src/main.c index 2b3516f..15b7014 100644 --- a/src/main.c +++ b/src/main.c @@ -45,20 +45,23 @@ static struct task *get_selected_task(GtkTreeView *treeview) if (path) { i = gtk_tree_path_get_indices(path); - - if (i) + + if (i) { printf("row selected: %d\n", *i); - task = tasks[*i]; + task = tasks[*i]; + } else { + task = NULL; + } gtk_tree_path_free(path); - - return task; + } else { + task = NULL; } printf("get_selected_task returns NULL\n"); - return NULL; + return task; } static void refresh() @@ -77,7 +80,7 @@ static void refresh() task = (*tasks_cur); gtk_list_store_append(GTK_LIST_STORE(model), &iter); - + if (task->project) gtk_list_store_set(GTK_LIST_STORE(model), &iter, @@ -102,7 +105,7 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) task = get_selected_task(GTK_TREE_VIEW(w_treeview)); - printf("tasksave_clicked_cbk %d\n", task->id); + printf("tasksave_clicked_cbk %d\n", task->id); if (task->note) { buf = gtk_text_view_get_buffer(w_note); @@ -126,11 +129,11 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) + strlen("\"") + 1); sprintf(opts, " %s modify \"%s\"", task->uuid, txt); - + task_exec(opts); free(txt); - + refresh(); return FALSE; @@ -184,7 +187,6 @@ int main(int argc, char **argv) PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "gtask.glade", NULL); window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); - printf("%p\n", window); w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "treeview")); @@ -196,7 +198,8 @@ int main(int argc, char **argv) refresh(); g_signal_connect(w_treeview, - "cursor-changed", (GCallback)cursor_changed_cbk, tasks); + "cursor-changed", (GCallback)cursor_changed_cbk, + tasks); btn = GTK_WIDGET(gtk_builder_get_object(builder, "tasksave")); g_signal_connect(btn, diff --git a/src/tw.c b/src/tw.c index 366a0dc..e2a7bca 100644 --- a/src/tw.c +++ b/src/tw.c @@ -21,18 +21,14 @@ #include #include -#include - -#include "tw.h" char *task_exec(char *opts) { FILE *f; - int ret, s; + int ret; + size_t s; char *str, *tmp, *cmd, buf[1024]; - str = NULL; - cmd = malloc(strlen("task rc.json.array=on ") + strlen(opts) + 1); strcpy(cmd, "task rc.json.array=on "); strcat(cmd, opts); @@ -43,13 +39,13 @@ char *task_exec(char *opts) if (!f) { perror("popen"); + str = NULL; goto exit_free; } - str = malloc(1); - str[0] = '\0'; + str = strdup(""); while ((s = fread(buf, 1, 1024, f))) { - tmp = malloc(strlen(str) + s + 1); + tmp = malloc(strlen(str) + s + (size_t)1); memcpy(tmp, str, strlen(str)); memcpy(tmp + strlen(str), buf, s); tmp[strlen(str) + s] = '\0'; @@ -70,6 +66,10 @@ char *task_exec(char *opts) return str; } +#include + +#include "tw.h" + static struct json_object *task_exec_json(char *opts) { struct json_object *o; @@ -143,8 +143,8 @@ char *escape(const char *txt) result = malloc(2*strlen(txt)+1); c = result; - while(*txt) { - switch(*txt) { + while (*txt) { + switch (*txt) { case '"': *c = '\\'; c++; *c = '"'; -- 2.7.4