Fehlerbehandlung beim Senden von Tweets verbessert

Change-Id: I445ea5b9d3d7ab6b1bf2bbe7d97952250f43810e
diff --git a/secure/misc/twitter.c b/secure/misc/twitter.c
index b749072..af1145c 100644
--- a/secure/misc/twitter.c
+++ b/secure/misc/twitter.c
@@ -81,15 +81,18 @@
 /* Offizielle API funktion
  * xeval "/secure/misc/twitter"->twitter("@_zesstra_ welcome back")
  */
-void twitter(string msg) {
+int twitter(string msg) {
 	int err = 0;
 	if( !allowed() ) {
 		write( "Twitter ist ARCH+Berechtigte only.\n" );
-		return;
+		return 0;
 	}
 	msg = msg + "^" + sig(this_interactive()) + "\n";
-	if (sizeof(msg) > 279)
+	if (sizeof(msg) > 279) {
     write("Tweet ist zu lang.\n");
+    return 0;
+  }
+
   if(interactive(this_object())) {
 		tell_object(this_object(),msg);
 	} else {
@@ -97,8 +100,10 @@
 		caller = this_interactive();
 		if( (err=net_connect(HOST,PORT))!=0 ) {
 			write( "Konnte Tweet nicht senden. err="+err+"\n" );
+      return 0;
 		}
 	}
+  return 1;
 }
 
 // sonderfunktion fuer den fall, dass man die verbindung
diff --git a/secure/misc/twitter_tool.c b/secure/misc/twitter_tool.c
index 5b31e91..22b0b36 100644
--- a/secure/misc/twitter_tool.c
+++ b/secure/misc/twitter_tool.c
@@ -34,10 +34,13 @@
       str = PL->_unparsed_args(0);
       if(!sizeof(str))
         return 0;
-      "/secure/misc/twitter"->twitter(str);
-      this_interactive()->ReceiveMsg(
-        BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
-        MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
+
+      // Der Twitter-Relay gibt Fehlermeldungen selbst aus, d.h. nur bei
+      // Erfolg muessen wir selber etwas ausgeben.
+      if ("/secure/misc/twitter"->twitter(str))
+        this_interactive()->ReceiveMsg(
+          BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
+          MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
       return 1;
     });
 }