[svn-upgrade] Integrating new upstream version, bti (020)
[debian/bti.git] / bti.c
diff --git a/bti.c b/bti.c
index 6fffef5..749e0a1 100644 (file)
--- a/bti.c
+++ b/bti.c
@@ -16,6 +16,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#define _GNU_SOURCE
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <stddef.h>
@@ -35,7 +37,6 @@
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 #include <pcre.h>
-#include "bti_version.h"
 
 
 #define zalloc(size)   calloc(size, 1)
@@ -43,7 +44,8 @@
 #define dbg(format, arg...)                                            \
        do {                                                            \
                if (debug)                                              \
-                       printf("%s: " format , __func__ , ## arg);      \
+                       fprintf(stdout, "bti: %s: " format , __func__ , \
+                               ## arg);                                \
        } while (0)
 
 
@@ -89,7 +91,7 @@ struct bti_curl_buffer {
 static void display_help(void)
 {
        fprintf(stdout, "bti - send tweet to twitter or identi.ca\n");
-       fprintf(stdout, "Version: " BTI_VERSION "\n");
+       fprintf(stdout, "Version: " VERSION "\n");
        fprintf(stdout, "Usage:\n");
        fprintf(stdout, "  bti [options]\n");
        fprintf(stdout, "options are:\n");
@@ -106,13 +108,14 @@ static void display_help(void)
        fprintf(stdout, "  --page PAGENUMBER\n");
        fprintf(stdout, "  --bash\n");
        fprintf(stdout, "  --debug\n");
+       fprintf(stdout, "  --dry-run\n");
        fprintf(stdout, "  --version\n");
        fprintf(stdout, "  --help\n");
 }
 
 static void display_version(void)
 {
-       fprintf(stdout, "bti - version %s\n", BTI_VERSION);
+       fprintf(stdout, "bti - version %s\n", VERSION);
 }
 
 static struct session *session_alloc(void)
@@ -194,7 +197,7 @@ static CURL *curl_init(void)
        return curl;
 }
 
-void parse_statuses(xmlDocPtr doc, xmlNodePtr current)
+static void parse_statuses(xmlDocPtr doc, xmlNodePtr current)
 {
        xmlChar *text = NULL;
        xmlChar *user = NULL;
@@ -264,7 +267,8 @@ static void parse_timeline(char *document)
        return;
 }
 
-size_t curl_callback(void *buffer, size_t size, size_t nmemb, void *userp)
+static size_t curl_callback(void *buffer, size_t size, size_t nmemb,
+                           void *userp)
 {
        struct bti_curl_buffer *curl_buf = userp;
        size_t buffer_size = size * nmemb;
@@ -965,7 +969,7 @@ int main(int argc, char *argv[], char *envp[])
        parse_configfile(session);
 
        while (1) {
-               option = getopt_long_only(argc, argv, "dqe:p:P:H:a:A:u:hg:",
+               option = getopt_long_only(argc, argv, "dqe:p:P:H:a:A:u:hg:sn",
                                          options, NULL);
                if (option == -1)
                        break;
@@ -1051,6 +1055,13 @@ int main(int argc, char *argv[], char *envp[])
                }
        }
 
+       /*
+        * Show the version to make it easier to determine what
+        * is going on here
+        */
+       if (debug)
+               display_version();
+
        if (session->action == ACTION_UNKNOWN) {
                fprintf(stderr, "Unknown action, valid actions are:\n");
                fprintf(stderr, "'update', 'friends', 'public', "
@@ -1083,7 +1094,7 @@ int main(int argc, char *argv[], char *envp[])
 
                session->tweet = zalloc(strlen(tweet) + 10);
                if (session->bash)
-                       sprintf(session->tweet, "$ %s", tweet);
+                       sprintf(session->tweet, "%c %s", getuid() ? '$' : '#', tweet);
                else
                        sprintf(session->tweet, "%s", tweet);