X-Git-Url: https://git.toastfreeware.priv.at/gregoa/bti.git/blobdiff_plain/7bd46ac1510e64b3011ed7e1d4482b29cbced5f9..bfe6897366a85b1d76be9528e41b5ee8bb3a570c:/bti.c diff --git a/bti.c b/bti.c index b3dac6e..6f77ddc 100644 --- a/bti.c +++ b/bti.c @@ -75,6 +75,7 @@ static void display_help(void) " --retweet ID\n" " --shrink-urls\n" " --page PAGENUMBER\n" + " --column COLUMNWIDTH\n" " --bash\n" " --background\n" " --debug\n" @@ -99,8 +100,10 @@ static char *get_string(const char *name) exit(1); if (name != NULL) fprintf(stdout, "%s", name); - if (!fgets(string, 999, stdin)) + if (!fgets(string, 999, stdin)) { + free(string); return NULL; + } temp = strchr(string, '\n'); if (temp) *temp = '\0'; @@ -291,9 +294,10 @@ static void bti_output_line(struct session *session, xmlChar *user, xmlChar *id, xmlChar *created, xmlChar *text) { if (session->verbose) - printf("[%s] {%s} (%.16s) %s\n", user, id, created, text); + printf("[%*s] {%s} (%.16s) %s\n", -session->column_output, user, + id, created, text); else - printf("[%s] %s\n", user, text); + printf("[%*s] %s\n", -session->column_output, user, text); } static void parse_statuses(struct session *session, @@ -833,8 +837,10 @@ static char *get_string_from_stdin(void) if (!string) return NULL; - if (!fgets(string, 999, stdin)) + if (!fgets(string, 999, stdin)) { + free(string); return NULL; + } temp = strchr(string, '\n'); if (temp) *temp = '\0'; @@ -1148,6 +1154,7 @@ int main(int argc, char *argv[], char *envp[]) { "background", 0, NULL, 'B' }, { "dry-run", 0, NULL, 'n' }, { "page", 1, NULL, 'g' }, + { "column", 1, NULL, 'o' }, { "version", 0, NULL, 'v' }, { "config", 1, NULL, 'c' }, { "replyto", 1, NULL, 'r' }, @@ -1211,7 +1218,7 @@ int main(int argc, char *argv[], char *envp[]) while (1) { option = getopt_long_only(argc, argv, - "dp:P:H:a:A:u:c:hg:G:sr:nVvw:", + "dp:P:H:a:A:u:c:hg:o:G:sr:nVvw:", options, NULL); if (option == -1) break; @@ -1233,6 +1240,10 @@ int main(int argc, char *argv[], char *envp[]) dbg("page = %d\n", page_nr); session->page = page_nr; break; + case 'o': + session->column_output = atoi(optarg); + dbg("column_output = %d\n", session->column_output); + break; case 'r': session->replyto = strdup(optarg); dbg("in_reply_to_status_id = %s\n", session->replyto);