Bei klingelton ohne Argument den aktuellen Status ausgeben.

Dies ist so dokumentiert und aus meiner Sicht auch sinnvoll. Damit die
Syntaxhilfe ausgegeben wird außerdem einige return 0; eingefügt.

Change-Id: I2b76442f698b31f51d9a5c8c1a2f5c3a63927db5
diff --git a/std/player/comm.c b/std/player/comm.c
index e6c8718..c8981f2 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -1175,9 +1175,39 @@
   return (flag & QueryProp(P_ALERT));
 }
 
+private string beep_status()
+{
+  int beep_interval=({int})QueryProp(P_MESSAGE_BEEP);
+  mapping text = ([
+    MB_SAY: "sage",
+    MB_TELL: "teile mit",
+    MB_CHANNEL: "Ebenenmeldungen",
+    MB_MENTION: "Erwaehnungen",
+    MB_SHOUT: "rufe",
+    MB_MISC: "sonstige",]);
+  string types = CountUp(map(filter(m_indices(text), #'_alert_filter_flags), text));
+  if(!sizeof(types))
+  {
+    types = "Keine";
+  }
+  return
+    "Gewaehlte Klingeltoene: " + types + "\n"
+    "Zeitabstand: "
+    + (beep_interval ? "maximal alle " + beep_interval + " Sekunden."
+                     : "keiner") + "\n"
+    + (QueryProp(P_ALERT) & AL_NO_SOUND ? " Allerdings sind Toene insgesamt "
+         "bei Dir abgeschaltet. (\'hilfe ton\')" : "");
+}
+
 static int _msg_beep(string str)
 {
-  int beep_interval;
+  if(!sizeof(str))
+  {
+    ReceiveNotify(
+      beep_status(),
+      query_verb());
+    return 1;
+  }
 
   notify_fail(
     "Syntax:\n"
@@ -1186,8 +1216,6 @@
     "- klingelton ein\n"
     "- klingelton <+/-><tm / sag / ebenen / ruf / erwaehnung / sonstige / alle / >\n");
 
-  if(!sizeof(str))
-    return 0;
   if (!regmatch(str,"^[[:digit:]]", RE_PCRE))
   {
     if (str=="aus")
@@ -1207,7 +1235,7 @@
         ]);
       foreach(string part : explode(str, " ") - ({""}))
       {
-        if(!(part[1..] in flags)) continue;
+        if(!(part[1..] in flags)) return 0;
         if(part[0] == '+')
         {
           SetProp(P_ALERT,
@@ -1218,6 +1246,10 @@
           SetProp(P_ALERT,
             QueryProp(P_ALERT) & ~ flags[part[1..]]);
         }
+        else
+        {
+          return 0;
+        }
       }
       // 0 hat leider historisch die Bedeutung von MB_MISC, daher muss hier
       // statt dessen auf AL_NO_SOUND gesetzt werden.
@@ -1229,32 +1261,19 @@
   }
   else
   {
-    beep_interval = to_int(str);
+    int beep_interval = to_int(str);
     if(beep_interval >= 0)
     {
-        SetProp(P_MESSAGE_BEEP, beep_interval);
+      SetProp(P_MESSAGE_BEEP, beep_interval);
+    }
+    else
+    {
+      return 0;
     }
   }
 
-  beep_interval=({int})QueryProp(P_MESSAGE_BEEP);
-  mapping text = ([
-    MB_SAY: "sage",
-    MB_TELL: "teile mit",
-    MB_CHANNEL: "Ebenenmeldungen",
-    MB_MENTION: "Erwaehnungen",
-    MB_SHOUT: "rufe",
-    MB_MISC: "sonstige",]);
-  string types = CountUp(map(filter(m_indices(text), #'_alert_filter_flags), text));
-  if(!sizeof(types))
-  {
-    types = "Keine";
-  }
   ReceiveNotify(
-    "Gewaehlte Klingeltoene: " + types + "\n"
-    "Zeitabstand: "
-    + (beep_interval ? "maximal alle " + beep_interval + " Sekunden." : "kein") + "\n"
-    + (QueryProp(P_ALERT) & AL_NO_SOUND ? " Allerdings sind Toene insgesamt "
-         "bei Dir abgeschaltet. (\'hilfe ton\')" : ""),
+    beep_status(),
     query_verb());
   return 1;
 }