From abca2f10b599d714932002d13847b9aa502c27a6 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 14 Feb 2013 11:49:15 +0100 Subject: ui-todo.c: Refactor ui_todo_chg_priority() Add the new item *before* deleting the old one and get rid of temporary buffers for the item message and note. Signed-off-by: Lukas Fleischer --- src/ui-todo.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/ui-todo.c b/src/ui-todo.c index 145d911..d034881 100644 --- a/src/ui-todo.c +++ b/src/ui-todo.c @@ -294,26 +294,17 @@ void ui_todo_update_panel(int which_pan) } /* Change an item priority by pressing '+' or '-' inside TODO panel. */ -void ui_todo_chg_priority(struct todo *backup, int diff) +void ui_todo_chg_priority(struct todo *todo, int diff) { - char backup_mesg[BUFSIZ]; - int backup_id; - char backup_note[MAX_NOTESIZ + 1]; - - strncpy(backup_mesg, backup->mesg, strlen(backup->mesg) + 1); - backup_id = backup->id; - if (backup->note) - strncpy(backup_note, backup->note, MAX_NOTESIZ + 1); - else - backup_note[0] = '\0'; + int id = todo->id + diff; + struct todo *todo_new; - backup_id += diff; - if (backup_id < 1) - backup_id = 1; - else if (backup_id > 9) - backup_id = 9; + if (id < 1) + id = 1; + else if (id > 9) + id = 9; - todo_delete(todo_get_item(hilt)); - backup = todo_add(backup_mesg, backup_id, backup_note); - hilt = todo_get_position(backup); + todo_new = todo_add(todo->mesg, id, todo->note); + todo_delete(todo); + hilt = todo_get_position(todo_new); } -- cgit v1.2.3-54-g00ecf