/[debian]/bti/branches/upstream/current/bti.c
ViewVC logotype

Diff of /bti/branches/upstream/current/bti.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1529 by gregoa, Tue Jan 20 15:47:44 2009 UTC revision 1530 by gregoa, Sat Jan 24 16:34:39 2009 UTC
# Line 54  struct session { Line 54  struct session {
54          char *proxy;          char *proxy;
55          char *time;          char *time;
56          char *homedir;          char *homedir;
57            char *logfile;
58          int bash;          int bash;
59          enum host host;          enum host host;
60  };  };
# Line 74  static void display_help(void) Line 75  static void display_help(void)
75          fprintf(stdout, "  --password password\n");          fprintf(stdout, "  --password password\n");
76          fprintf(stdout, "  --proxy PROXY:PORT\n");          fprintf(stdout, "  --proxy PROXY:PORT\n");
77          fprintf(stdout, "  --host HOST\n");          fprintf(stdout, "  --host HOST\n");
78            fprintf(stdout, "  --logfile logfile\n");
79          fprintf(stdout, "  --bash\n");          fprintf(stdout, "  --bash\n");
80          fprintf(stdout, "  --debug\n");          fprintf(stdout, "  --debug\n");
81          fprintf(stdout, "  --version\n");          fprintf(stdout, "  --version\n");
# Line 222  static int send_tweet(struct session *se Line 224  static int send_tweet(struct session *se
224                       CURLFORM_COPYCONTENTS, session->tweet,                       CURLFORM_COPYCONTENTS, session->tweet,
225                       CURLFORM_END);                       CURLFORM_END);
226    
227            curl_formadd(&formpost, &lastptr,
228                         CURLFORM_COPYNAME, "source",
229                         CURLFORM_COPYCONTENTS, "bti",
230                         CURLFORM_END);
231    
232          curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);          curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
233    
234          switch (session->host) {          switch (session->host) {
# Line 273  static void parse_configfile(struct sess Line 280  static void parse_configfile(struct sess
280          char *password = NULL;          char *password = NULL;
281          char *host = NULL;          char *host = NULL;
282          char *proxy = NULL;          char *proxy = NULL;
283            char *logfile = NULL;
284          char *file;          char *file;
285    
286          /* config file is ~/.bti  */          /* config file is ~/.bti  */
# Line 324  static void parse_configfile(struct sess Line 332  static void parse_configfile(struct sess
332                          c += 6;                          c += 6;
333                          if (c[0] != '\0')                          if (c[0] != '\0')
334                                  proxy = strdup(c);                                  proxy = strdup(c);
335                    } else if (!strncasecmp(c, "logfile", 7) &&
336                               (c[7] == '=')) {
337                            c += 8;
338                            if (c[0] != '\0')
339                                    logfile = strdup(c);
340                  }                  }
341          } while (!feof(config_file));          } while (!feof(config_file));
342    
# Line 343  static void parse_configfile(struct sess Line 356  static void parse_configfile(struct sess
356                          free(session->proxy);                          free(session->proxy);
357                  session->proxy = proxy;                  session->proxy = proxy;
358          }          }
359            if (logfile)
360                    session->logfile = logfile;
361    
362          /* Free buffer and close file.  */          /* Free buffer and close file.  */
363          free(line);          free(line);
# Line 355  static void log_session(struct session * Line 370  static void log_session(struct session *
370          char *filename;          char *filename;
371          char *host;          char *host;
372    
373          /* logfile is ~/.bti.log  */          /* Only log something if we have a log file set */
374          filename = alloca(strlen(session->homedir) + 10);          if (!session->logfile)
375                    return;
376    
377            filename = alloca(strlen(session->homedir) +
378                              strlen(session->logfile) + 3);
379    
380          sprintf(filename, "%s/.bti.log", session->homedir);          sprintf(filename, "%s/%s", session->homedir, session->logfile);
381    
382          log_file = fopen(filename, "a+");          log_file = fopen(filename, "a+");
383          if (log_file == NULL)          if (log_file == NULL)
# Line 391  int main(int argc, char *argv[], char *e Line 410  int main(int argc, char *argv[], char *e
410                  { "password", 1, NULL, 'p' },                  { "password", 1, NULL, 'p' },
411                  { "host", 1, NULL, 'H' },                  { "host", 1, NULL, 'H' },
412                  { "proxy", 1, NULL, 'P' },                  { "proxy", 1, NULL, 'P' },
413                    { "logfile", 1, NULL, 'L' },
414                  { "help", 0, NULL, 'h' },                  { "help", 0, NULL, 'h' },
415                  { "bash", 0, NULL, 'b' },                  { "bash", 0, NULL, 'b' },
416                  { "version", 0, NULL, 'v' },                  { "version", 0, NULL, 'v' },
# Line 463  int main(int argc, char *argv[], char *e Line 483  int main(int argc, char *argv[], char *e
483                          session->proxy = strdup(optarg);                          session->proxy = strdup(optarg);
484                          dbg("proxy = %s\n", session->proxy);                          dbg("proxy = %s\n", session->proxy);
485                          break;                          break;
486                    case 'L':
487                            if (session->logfile)
488                                    free(session->logfile);
489                            session->logfile = strdup(optarg);
490                            dbg("logfile = %s\n", session->logfile);
491                            break;
492                  case 'H':                  case 'H':
493                          if (strcasecmp(optarg, "twitter") == 0)                          if (strcasecmp(optarg, "twitter") == 0)
494                                  session->host = HOST_TWITTER;                                  session->host = HOST_TWITTER;
# Line 544  int main(int argc, char *argv[], char *e Line 570  int main(int argc, char *argv[], char *e
570          if (retval && !session->bash)          if (retval && !session->bash)
571                  fprintf(stderr, "tweet failed\n");                  fprintf(stderr, "tweet failed\n");
572    
573  //      log_session(session, retval);          log_session(session, retval);
574  exit:  exit:
575          session_free(session);          session_free(session);
576          return retval;;          return retval;;

Legend:
Removed from v.1529  
changed lines
  Added in v.1530

  ViewVC Help
Powered by ViewVC 1.1.26