Merge branch 'fix-segfault-invalid-host' of https://github.com/agimenez/bti into...
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 23:47:29 +0000 (15:47 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 23:47:29 +0000 (15:47 -0800)
1  2 
bti.c

diff --combined bti.c
index 93b32a301bddadc15bbbd420060fba6753dc90ee,17a2a9396badba7f770002c67d99f842fa6e24c8..9fb5f5485c92be9ad52035800fd56840677a3d77
--- 1/bti.c
--- 2/bti.c
+++ b/bti.c
@@@ -284,8 -284,8 +284,8 @@@ static CURL *curl_init(void
  }
  
  /* The final place data is sent to the screen/pty/tty */
 -void bti_output_line(struct session *session, xmlChar *user, xmlChar *id,
 -                   xmlChar *created, xmlChar *text)
 +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);
@@@ -724,6 -724,11 +724,11 @@@ static int send_request(struct session 
                                free(req_url);
                }
  
+               if (!reply) {
+                       fprintf(stderr, "Error retrieving from URL (%s)\n", endpoint);
+                       return 1;
+               }
                if ((session->action != ACTION_UPDATE) &&
                                (session->action != ACTION_RETWEET))
                        parse_timeline(reply, session);
@@@ -1119,6 -1124,7 +1124,6 @@@ int main(int argc, char *argv[], char *
        struct session *session;
        pid_t child;
        char *tweet;
 -      char *retweet;
        static char password[80];
        int retval = 0;
        int option;
  
        while (1) {
                option = getopt_long_only(argc, argv,
 -                                        "dp:P:H:a:A:u:c:hg:G:sr:nVv",
 +                                        "dp:P:H:a:A:u:c:hg:G:sr:nVvw:",
                                          options, NULL);
                if (option == -1)
                        break;
        }
  
        if (session->action == ACTION_RETWEET) {
 -              fprintf(stdout, "Status ID to retweet: ");
 -              retweet = get_string_from_stdin();
 +              if (!session->retweet) {
 +                      char *rtid;
 +
 +                      fprintf(stdout, "Status ID to retweet: ");
 +                      rtid = get_string_from_stdin();
 +                      session->retweet = zalloc(strlen(rtid) + 10);
 +                      sprintf(session->retweet,"%s", rtid);
 +                      free(rtid);
 +              }
  
 -              if (!retweet || strlen(retweet) == 0) {
 +              if (!session->retweet || strlen(session->retweet) == 0) {
                        dbg("no retweet?\n");
                        return -1;
                }
  
 -              session->retweet = zalloc(strlen(retweet) + 10);
 -              sprintf(session->retweet,"%s", retweet);
 -              free(retweet);
                dbg("retweet ID = %s\n", session->retweet);
        }