dead code und unbenutzte Variablen entfernt

Change-Id: I18b5d6a8cdf221d3a376541c01e82a1c64f10508
diff --git a/items/boerse.c b/items/boerse.c
index 2863066..5fa54eb 100644
--- a/items/boerse.c
+++ b/items/boerse.c
@@ -67,7 +67,6 @@
     case 1:  return "Eine Geldboerse mit einer Muenze.\n";
     default: return "Eine Geldboerse mit "+i+" Muenzen.\n";
   }
-  return 0;
 }
 
 // Geld darf nur rein, wenn diese Boerse schon Geld enthaelt
diff --git a/items/kraeuter/virtual_compiler.c b/items/kraeuter/virtual_compiler.c
index c0c3a7f..bf31341 100644
--- a/items/kraeuter/virtual_compiler.c
+++ b/items/kraeuter/virtual_compiler.c
@@ -18,18 +18,22 @@
 // ([ "key": ({ ({eigenschaften}), ([raeume]) }) ])
 private mapping krautdaten;
 
+#if MUDNAME == "MorgenGrauen"
 // AN: enthaelt die Liste der gueltigen Kraeuter-Dateinamen ohne .c
 // am Ende. Ich vermute, dass es deswegen ein Mapping ist, damit in 
 // Validate() einfach member() drauf gemacht werden kann und man nur 0/1
 // als Rueckgabewerte pruefen muss, statt -1 bei nem member() auf ein Array.
 private mapping validfiles;
+#endif
 
 public void update(mapping data)
 {
   if (previous_object() == find_object(PLANTMASTER))
   {
     krautdaten = data;
+#if MUDNAME == "MorgenGrauen"
     validfiles = mkmapping(m_indices(krautdaten));
+#endif
   }
 }
 
diff --git a/items/pfeifchen.c b/items/pfeifchen.c
index 0bdf38e..4718dac 100644
--- a/items/pfeifchen.c
+++ b/items/pfeifchen.c
@@ -92,8 +92,6 @@
 }
 
 static int cm_smoke(string str){
-  object ob;
-
   _notify_fail("Was moechtest Du rauchen?\n");
   if(!str) return 0;
   if(!id(str)) return 0;
diff --git a/obj/mpa.c b/obj/mpa.c
index c27f827..3c2dd4f 100644
--- a/obj/mpa.c
+++ b/obj/mpa.c
@@ -752,7 +752,8 @@
     }
     return time()-t;
   }
-  else return write("Argumentfehler.\n"),0;
+  write("Argumentfehler.\n");
+  return 0;
 }
 
 static Catchup(string str)
diff --git a/obj/tools/tester/test.c b/obj/tools/tester/test.c
index 6a7965e..0410781 100644
--- a/obj/tools/tester/test.c
+++ b/obj/tools/tester/test.c
@@ -365,7 +365,6 @@
 
 int search_d(object r)
 {   int     i,j,room;
-    mapping m;
     string  *s,s1,*s2,PRE,END,*special,*zufinden,*details,re,*uebergehen;
     mixed   mi;
 
diff --git a/secure/awmaster.c b/secure/awmaster.c
index d9f0bbc..0cb902f 100644
--- a/secure/awmaster.c
+++ b/secure/awmaster.c
@@ -117,7 +117,7 @@
 void RegisterArmour()
 {   object  ob;
     string  id;
-    int     flag,h;
+    int     h;
 
     if (!objectp(ob=previous_object()) || 
       member(inherit_list(ob),"/std/armour.c")==-1)
@@ -126,26 +126,21 @@
     if (member(armours,id))
     {
         armours[id][AWM_TIME]=time();
-        flag=0;
         if ((h=({int})ob->QueryProp(P_AC)) > armours[id][AWM_CLASS])
         {
             armours[id][AWM_CLASS]=h;
-            flag=1;
         }
         if ((h=({int})ob->QueryProp(P_EFFECTIVE_AC)) > armours[id][AWM_EFF_CLASS])
         {
             armours[id][AWM_EFF_CLASS]=h;
-            flag=1;
         }
         if ((h=({int})ob->QueryProp(P_NR_HANDS)) < armours[id][AWM_HANDS])
         {
             armours[id][AWM_HANDS]=h;
-            flag=1;
         }
         if ((h=xflags(ob)) != armours[id][AWM_FLAGS])
         {
             armours[id][AWM_FLAGS]=h;
-            flag=1;
         }
     }
     else
@@ -171,7 +166,7 @@
 void RegisterWeapon()
 {   object  ob;
     string  id;
-    int     flag,h;
+    int     h;
 
     if (!objectp(ob=previous_object()) ||
       member(inherit_list(ob),"/std/weapon.c")==-1)
@@ -180,26 +175,21 @@
     if (member(weapons,id))
     {
         weapons[id][AWM_TIME] = time();
-        flag=0;
         if ((h=({int})ob->QueryProp(P_WC)) > weapons[id][AWM_CLASS])
         {
             weapons[id][AWM_CLASS]=h;
-            flag=1;
         }
         if ((h=({int})ob->QueryProp(P_EFFECTIVE_WC)) > weapons[id][AWM_EFF_CLASS])
         {
             weapons[id][AWM_EFF_CLASS]=h;
-            flag=1;
         }
         if ((h=({int})ob->QueryProp(P_NR_HANDS)) < weapons[id][AWM_HANDS])
         {
             weapons[id][AWM_HANDS]=h;
-            flag=1;
         }
         if ((h=xflags(ob)) != weapons[id][AWM_FLAGS])
         {
             weapons[id][AWM_FLAGS]=h;
-            flag=1;
         }
     }
     else
diff --git a/secure/errord.c b/secure/errord.c
index e257338..32977b1 100644
--- a/secure/errord.c
+++ b/secure/errord.c
@@ -1163,7 +1163,6 @@
       // Zeit alle ab Vollmagier
       case M_WRITE:
         return LEARNER_SECURITY;
-        break;
       // Loeschen und Fixen duerfen zur Zeit nur Zustaendige.
       case M_DELETE:
       case M_REASSIGN:
diff --git a/secure/explorationmaster.c b/secure/explorationmaster.c
index ecc6ee9..3b21587 100644
--- a/secure/explorationmaster.c
+++ b/secure/explorationmaster.c
@@ -294,14 +294,14 @@
 
 private string validOb(mixed ob)
 {
-  string fn, fpart;
+  string fn;
 
   if (!objectp(ob))
     return 0;
 
   fn = old_explode(object_name(ob),"#")[0];
-  fpart = old_explode(fn,"/")[<1];
  /*
+  string fpart = old_explode(fn,"/")[<1];
   if (query_once_interactive(ob))
     return 0;
 
@@ -346,7 +346,7 @@
        else bonus = clear_bit(bonus, obs[fn, MPOS_NUM]);
   }
   else {
-    int nr, i;
+    int nr;
 
     nr = 0;
     while (test_bit(alloc,nr))
@@ -642,10 +642,10 @@
     lastfound[name, 0] = time();
 
     if ( lastfound[name, 1] >= LF_WARN ){
-        object *u;
         int i;
         string *tmp;
 
+//        object *u;
 //        u = filter( users(), "check_arch" );
 //        map( u, #'tell_object/*'*/, "**** FP-Liste/Script " +
 //                   capitalize(name) + " (" + dtime(time()) + ") ****\n" );
@@ -900,12 +900,11 @@
 
   output="";
   if (!pattern || pattern=="")
-    teststring="%s";
-  else teststring="%s"+pattern+"%s";
+    teststring="%~s";
+  else teststring="%~s"+pattern+"%~s";
   walk_mapping( obs, function void (string fn, string* v1, int v2, int v3)
       {
-        string unused;
-        if ( test_bit(ep, v2) && sscanf(fn, teststring, unused, unused) )
+        if ( test_bit(ep, v2) && sscanf(fn, teststring) )
           printep(v2, fn, v3, v1);
       });
   ({void})this_interactive()->More(output);
@@ -918,7 +917,6 @@
 nomask int QueryLEP(int lep) {
     raise_error("Bitte QueryLEP() im LEPMASTER abfragen, nicht im "
        "EPMASTER!");
-    return(-1); //never reached
 }
 
 string QueryForschung()
diff --git a/secure/gildenmaster.c b/secure/gildenmaster.c
index 6018d9f..2954ce8 100644
--- a/secure/gildenmaster.c
+++ b/secure/gildenmaster.c
@@ -128,8 +128,6 @@
 }
 
 nomask int AddGuild(string gildob) {
-  object tp;
-
   if (!stringp(gildob) || !sizeof(gildob) || !security_check() 
       || file_size(GUILD_DIR+gildob+".c")<0)
       return 0;
@@ -141,8 +139,6 @@
 }
 
 nomask int RemoveGuild(string gildob) {
-  object tp;
-
   if (!stringp(gildob) || !sizeof(gildob) 
       || !security_check())
       return 0;
diff --git a/secure/inetd.c b/secure/inetd.c
index 23ab51c..ecf4943 100644
--- a/secure/inetd.c
+++ b/secure/inetd.c
@@ -91,7 +91,6 @@
 #define RETRY                "_RETRY"
 
 private nosave mapping hosts, pending_data, incoming_packets;
-private nosave mapping static_host_list;
 private nosave string *received_ids;
 private nosave int packet_id;
 
@@ -202,9 +201,6 @@
   if (!static_hosts)
       return; // retain the old list(s)
 
-  // remember the static hosts
-  static_host_list = m_reallocate(static_hosts,0);
-  
   // read the last host file dump and add the static hosts. Then the static
   // hosts have precedence over the ones from the dump.
   hosts = (read_host_list(HOST_FILE".dump") || ([])) + static_hosts;
@@ -601,7 +597,7 @@
 string encode_packet(mapping data) {
     int i;
     mixed indices;
-    string header, body, t1, t2;
+    string header, body;
     string *ret;
     status data_flag;
 
@@ -616,8 +612,8 @@
         // dabei nach ASCII wandeln und ggf. transliterieren. Aber sscanf
         // braucht wieder strings, daher muss es spaeter passieren (direkt vor
         // Senden).
-        if (sscanf(header, "%s:%s", t1, t2) ||
-            sscanf(header + body, "%s" + DELIMITER + "%s", t1, t2)
+        if (sscanf(header, "%~s:%~s") ||
+            sscanf(header + body, "%~s" + DELIMITER + "%~s")
         )
             return 0;
 
@@ -766,8 +762,6 @@
     mapping data;
 
     if (data = pending_data[id]) {
-        object ob;
-
 #ifdef INETD_DIAGNOSTICS
         data[PACKET_LOSS]++;
 #endif
diff --git a/secure/krautmaster.c b/secure/krautmaster.c
index 2c0dcba..0818d0c 100644
--- a/secure/krautmaster.c
+++ b/secure/krautmaster.c
@@ -43,16 +43,6 @@
 // krautprops[0] = 0; ID 0 darf nicht existieren
 private mixed *krautprops;
 
-// hier wird gespeichert welche Version einer Zutat fuer einen Spieler ist.
-// AN/TODO: Wenn das fuer Nichtseher nutzbar sein soll, sollte hier besser
-// mit getuuid() gearbeitet werden, statt getuid() zu verwenden.
-// player enthaelt fuer jede Spieler-UID einen Bitstring. Gesetztes Bit
-// bedeutet, dass der Spieler ueber das Kraut mit dieser ID etwas ueber
-// die Verwendung und Wirkung weiss. Es gibt jedoch noch keine Lernmoeglich-
-// keit und INSBESONDERE keine Funktionalitaet im Master, ueber die man 
-// die Bits setzen koennte.
-private mapping player;
-
 // verstuemmeltes mapping fuer den VC in service (Save-Dummy)
 private mapping map_ldfied;
 
@@ -129,7 +119,7 @@
       id2key=({});
       key2id=([]);
       krautprops=({});
-      player=([]);
+      //player=([]);
       map_ldfied=([]);
       rooms=([]);
    }
@@ -199,40 +189,11 @@
 // verwenden kann. Laut Kommentar unten muss man dafuer wohl was ueber das
 // Kraut gelernt haben, von wem ist mir gerade noch nicht klar.
 // AN/TODO: Es ist bisher keine Funktionalitaet vorhanden, um die IDs fuer
-// den Spieler freizuschalten. Die Funktionsweise muss aus dem Beispielcode
-// unten fuer das Learn-On-Demand abgelesen werden.
+// den Spieler freizuschalten.
 nomask int CanUseIngredient(object pl, int id)
 {
   // Ich mach mal den harten Weg. -- Humni
   return 1;
-  // Bitstring des Spielers aus der Liste auslesen.
-   string str=player[getuid(pl)];
-   if (!stringp(str)) str="";
-   if (test_bit(str, id))
-      return 1; // make the common case fast
-   else {
-     // letztenendes habe ich mich entschlossen einzubauen, das man nur die
-     // Kraeuter verwenden kann, ueber die man schonmal etwas gelesen/gelernt
-     // hat, aus diesem Grund, ist folgender Block auskommentiert.
-     // Dieser Block bedeutet quasi ein "auto learning on demand" d.h.
-     // wird ein Kraut verwendet wird geprueft ob fuer diese Gruppe bereits
-     // eine ID freigeschaltet wurde - ansonsten wird eine freigeschaltet.
-     /*
-         // pruefen ob fuer den Key bereits ein Bit gesetzt ist, ggf. setzen
-         if (id>=sizeof(id2key)) return 0; // illegale Id
-         int idlist=key2id[id2key[id]];
-         int i;
-         for (i=sizeof(idlist)-1; i>=0; i--) {
-           if (test_bit(str, idlist[i])) return 0; // Key bereits vorhanden
-         }
-         // Zufaellig ein Bit fuer den Key setzen
-         i=random(sizeof(idlist));
-         player[getuid(pl)]=set_bit(str, idlist[i]);
-         save_object(object_name());
-         return (i==id);
-     */
-     return 0;
-   }
 }
 
 // Diese Funktion wird vom Metzelorakel aufgerufen, um die Belohnungen zu
@@ -340,7 +301,6 @@
    // Allerdings muesste das vor dem explode() zur Zeilentrennung passieren.
    for ( ;si>=0; si--) 
    {
-     string lili=lines[si];
      if (strstr(lines[si],"##ende##")>=0) break;
    }
    si--;
@@ -708,9 +668,10 @@
 // angesteuert ueber das Planttool.
 int _showrooms(string str)
 {
-   int i, j, id;
-   string *list, dummy;
+   int i, id;
+   string *list;
    mixed *arr;
+
    if (!allowed()) return 0;
    notify_fail("Syntax: showrooms <id> oder showrooms all\n");
    if (str!="all") {
@@ -1152,7 +1113,7 @@
 // Fehler "index out of bounds", aber man muesste hier (TODO) sowieso mal
 // von explode() auf strstr() umbauen, denke ich.
 string _findplant(string str) {
-  int i, k;
+  int i;
   string *ind, *tmp;
 
   if(!str) return "";
@@ -1179,9 +1140,8 @@
   if (extern_call() && !allowed())
     return 0;
 
-  string *ind, *args, name;
+  string *ind, name;
   object *objs;
-  int k, l;
 
   objs = ({});
   if(!str) return "Keine Kraeuter uebergeben!";
diff --git a/secure/lepmaster.c b/secure/lepmaster.c
index 592b624..6cc4f60 100644
--- a/secure/lepmaster.c
+++ b/secure/lepmaster.c
@@ -163,7 +163,6 @@
 #else
   return lep/100;
 #endif // __PFOERKL__
-  return 0;
 }
 
 // Wieviele LEP fehlen zum naechsten Level?
diff --git a/secure/mailer.c b/secure/mailer.c
index bc22db9..0201079 100644
--- a/secure/mailer.c
+++ b/secure/mailer.c
@@ -264,7 +264,7 @@
 
 public string *DeliverMail( mixed msg, int expa )
 {
-    string sender, *recipients, *recok, t, *tmp;
+    string sender, *recipients, *recok, *tmp;
     <string|string*>* newmsg;
     int i;
 #ifdef INTERNET_MAIL_ENABLED
@@ -275,7 +275,6 @@
         return 0;
 
     DEBUG( sprintf( "DeliverMail: %O %O\n", msg[0..4] +({0})+ msg[6..7], expa ) );
-    t = ctime(time());
 
     // Ohne Empfaenger wird abgebrochen
     if (!stringp(msg[MSG_RECIPIENT]))
@@ -365,6 +364,7 @@
 #ifdef INTERNET_MAIL_ENABLED
             // Zustellung in den Rest des Internets.
             else {
+                string t = ctime(time());
                 ext = 1;
                 sender = explode( sender, "%" )[0];
                 rec = explode( regreplace( rec, "@", "%", 1 ), "%" )[0];
@@ -419,7 +419,7 @@
 
 public int FingerMail( string user )
 {
-    int newfolder, i;
+    int newfolder;
 
     //Zugriff beschraenken, Zahl der gelesenen Mails ist Privatsphaere
     if (!objectp(this_interactive()) || !stringp(user) || !sizeof(user)) 
diff --git a/secure/master/cidr.c b/secure/master/cidr.c
index c35ba21..d6c36cd 100644
--- a/secure/master/cidr.c
+++ b/secure/master/cidr.c
@@ -90,9 +90,7 @@
       default: // ungueltige Adresse
         return __INT_MAX__;
     }
-
     // hier sollte man gar nicht ankommen.
-    return __INT_MAX__;
 }
 
 string IPv4_int2addr(int ip) {
diff --git a/secure/materialdb.c b/secure/materialdb.c
index 94c57b6..a1240a8 100644
--- a/secure/materialdb.c
+++ b/secure/materialdb.c
@@ -216,6 +216,7 @@
       casus=0;
     return names[casus];
   }
+  return 0;
 }
 
 varargs string ConvMaterialList(mixed mats, int casus, mixed idinf) {
@@ -240,6 +241,7 @@
     }
     return ml;
   }
+  return 0;
 }
 
 int MaterialGroup(mapping mats, string grp) {
@@ -265,6 +267,7 @@
        res=100;
      return res;
    }
+   return 0;
 }
 
 string *AllMaterials() {
@@ -318,6 +321,7 @@
     else
       return "Unbekanntes";
   }
+  return 0;
 }
 
 string GroupDescription(string grp) {
@@ -327,6 +331,7 @@
     else
       return "Gruppe unbekannt";
   }
+  return 0;
 }
 
 //==================== Generieren von Headerfile und Manpages
@@ -369,7 +374,7 @@
 }
 private string gen_material_h_materials()
 {
-  string txt, last_grp;
+  string txt;
   string *grps, *mats;
   txt = "// ****************************** Materialien ******************************\n";
   // Gruppenweise ordnen
@@ -470,7 +475,6 @@
 varargs void GenMatList(string fn)
 {
   if (initialized) {
-    string txt;
     if (!stringp(fn) || !sizeof(fn))
       fn = DOC_DIR("materialliste");
     if (file_size(fn) >= 0) {
@@ -501,7 +505,6 @@
 varargs void GenMatGroupList(string fn)
 {
   if (initialized) {
-    string txt;
     if (!stringp(fn) || !sizeof(fn))
       fn = DOC_DIR("materialgruppen");
     if (file_size(fn) >= 0) {
@@ -533,7 +536,6 @@
 varargs void GenHeaderFile(string fn)
 {
   if (initialized) {
-    string txt;
     if (!stringp(fn) || !sizeof(fn))
       fn = HEADERFILE;
     if (file_size(fn) >= 0)
@@ -680,7 +682,6 @@
   fn = MAT_DIR+"/groups/"+id;
   if (file_size(fn) > 0) {
     mapping parts;
-    string desc;
     parts = getDescParts(read_file(fn));
     m = ([P_NAME:parts["Name"],
           P_MEMBERS:({})]);
@@ -808,7 +809,7 @@
      ...)
   */
   mapping m;
-  mixed val, val2;
+  mixed val;
   m = ([]);
   // Der string fuer das #define zuerst:
   val = convMatId(desc["Materialid"]);
@@ -856,7 +857,6 @@
   fn = MAT_DIR+"/materials/"+id;
   if (file_size(fn) > 0) {
     mapping parts;
-    string desc;
     parts = getDescParts(read_file(fn));
     m = convMaterialDesc(id, parts);
   } else {
@@ -891,7 +891,7 @@
 }
 
 private varargs void doScanMaterials(string* mats, int i, int step) {
-  int ticks, start;
+  int start;
   string matid;
   start = get_eval_cost();
   if (step < 2) {
diff --git a/secure/news.c b/secure/news.c
index f435089..c587dcb 100644
--- a/secure/news.c
+++ b/secure/news.c
@@ -151,8 +151,6 @@
 
 int RemoveGroup(string name)
 {
-  int num;
-
   if (!name) return 0;
 
   if (!security(name) || process_call()) return -1; // Darf nicht
@@ -170,8 +168,6 @@
 
 int SetGroup(string name,int dlevel,int        wlevel,int rlevel,int maxmessages,int expire)
 {
-  mixed *group;
-  
   if (!member(grouplist,name)) return -2;
   if (grouplist[name,G_OWNER]!=user_euid() &&
       (!security(name) || process_call())) return -1;
@@ -188,8 +184,6 @@
 
 int AddAllowed(string name,mixed deleters,mixed writers,mixed readers)
 {
-  mixed *group;
-
   if (!member(grouplist,name)) return -2;
 
   if ( grouplist[name,G_OWNER]!=user_euid() &&
@@ -214,8 +208,6 @@
 
 int RemoveAllowed(string name,mixed deleters,mixed writers,mixed readers)
 {
-  mixed *group;
-
   if (!member(grouplist,name)) return -2;
 
   if (grouplist[name,G_OWNER]!=user_euid() &&
@@ -298,7 +290,6 @@
 int WriteNote(mixed message,mixed keepname)
 {
   mixed group;
-  int uidok,tmp;
   string name;
 
   if (!pointerp(message) || sizeof(message)!=6) return 0;
@@ -325,7 +316,6 @@
 
 int RemoveNote(string name, int note)
 {
-  int num;
   mixed group;
 
   if ((note<0) && (name=="dwnews"))
@@ -429,7 +419,7 @@
 
 void dump_group(string grp)
 {
-  int to_expire,size,last;
+  int size,last;
   mixed group;
 
   if (!ARCH_SECURITY || process_call()) return;
@@ -476,7 +466,6 @@
 
 static mixed load_group(string name)
 {
-  int num;
   mixed *ret;
 
   if(!member(grouplist,name)) return -1;
@@ -498,7 +487,7 @@
 mixed GetGroups()
 {
   mixed *returnlist;
-  int i,group,slevel;
+  int i,slevel;
   string seuid;
 
   returnlist=sort_array(m_indices(grouplist),#'>); //');
diff --git a/secure/potionmaster.c b/secure/potionmaster.c
index e2aa300..2be898f 100644
--- a/secure/potionmaster.c
+++ b/secure/potionmaster.c
@@ -161,7 +161,6 @@
   if ( file_size( TIPS(to_string(nextroom)+".zt") ) < 0 ) {
     raise_error("Potionmaster: Tipfile missing, please create "+
       to_string(nextroom)+".zt");
-    return POT_NO_SUCH_FILE;
   }
   // Neuer Raum darf noch nicht in der Liste enthalten sein.
   if ( member(m_values(potions,POT_ROOMNAME), room)!=-1)
diff --git a/secure/questmaster.c b/secure/questmaster.c
index e142acf..e89c5a4 100644
--- a/secure/questmaster.c
+++ b/secure/questmaster.c
@@ -164,7 +164,7 @@
 
 private int RecalculateQP() {
   int i;
-  mixed q,n;
+  mixed q;
 
   if (!allowed_write_access())
     return -1;
@@ -172,7 +172,6 @@
   max_QP=0;
   opt_QP=0;
 
-  n=m_indices(quests);
   q=m_values(quests);
     for (i=sizeof(q)-1;i>=0;i--)
       if (q[i][Q_ACTIVE]) {
@@ -189,7 +188,6 @@
       string *allowedobj, string hint, int difficulty, int questclass,
       int active, string wiz, string scndwiz, int questattribute)
 {
-  mixed *quest;
   int i;
 
   if (!allowed_write_access()) return 0;
@@ -229,8 +227,6 @@
 }
 
 int RemoveQuest(string name) {
-  mixed *quest;
-
   if (!allowed_write_access()) return 0;
   if (!quests[name]) return -1;
   QMLOG(sprintf("remove: %s %O (%s)",name,quests[name],
@@ -431,7 +427,7 @@
 #define FILTER_UNGELOEST 2
 varargs string liste(mixed pl, int geloest_filter)
 {
-  int qgroups, i, j, qrfw;
+  int qgroups, i, j;
   mixed *qlists, *qgrouped, *qtmp;
   string str;
   string ja, nein, format, ueberschrift;
@@ -809,7 +805,6 @@
   }
 
   mixed *altemq = m_entry(miniquests, mq_obj);
-  int nummer = miniquests[mq_obj,MQ_DATA_QUESTNO];
   miniquests[mq_obj, param] = newvalue;
 
   save_info();
diff --git a/secure/scoremaster.c b/secure/scoremaster.c
index 83dc466..004e341 100644
--- a/secure/scoremaster.c
+++ b/secure/scoremaster.c
@@ -762,7 +762,6 @@
 {
   mixed info;
   object po;
-  int drin;
   string pls, ek;
 
 
@@ -1161,10 +1160,6 @@
 // return valid tips from database or existing 
 public string getTip(mixed key)
 {
-  string fn;
-  string tip;
-  string* path;
-  
   if (!ektipAllowed())
     return "";
   
diff --git a/secure/telnetneg.c b/secure/telnetneg.c
index c5da0d2..8cbc7a9 100644
--- a/secure/telnetneg.c
+++ b/secure/telnetneg.c
@@ -232,28 +232,24 @@
       if (opt->state->localside)
         return -2;
       return send_telnet_neg( ({ WILL, option }) );
-      break;
     case WONT:
       if (opt->lo_wishes->localside != 0)
         return -1;
       if (!opt->state->localside)
         return -2;
       return send_telnet_neg( ({ WONT, option }) );
-      break;
     case DO:
       if (opt->lo_wishes->remoteside != 0)
         return -1;
       if (opt->state->remoteside)
         return -2;
       return send_telnet_neg( ({ DO, option }) );
-      break;
     case DONT:
       if (opt->lo_wishes->remoteside != 0)
         return -1;
       if (!opt->state->remoteside)
         return -2;
       return send_telnet_neg( ({ DONT, option }) );
-      break;
   }
   raise_error(sprintf("Unsupported telnet negotation action in "
       "do_telnet_neg(): %d\n",action));
diff --git a/secure/udp/reply.c b/secure/udp/reply.c
index 43b70ce..e60f618 100644
--- a/secure/udp/reply.c
+++ b/secure/udp/reply.c
@@ -12,7 +12,7 @@
 
 void udp_reply(mapping data)
 {
-  string err,recpt,serv;
+  string serv;
   object ob;
   
   if (pointerp(data[SYSTEM])&&member(data[SYSTEM],TIME_OUT)>-1)
diff --git a/secure/udp_mail.c b/secure/udp_mail.c
index 4bd8d74..2f13f1d 100644
--- a/secure/udp_mail.c
+++ b/secure/udp_mail.c
@@ -59,9 +59,7 @@
 
 static void remove_from_spool(string spool_file)
 {
-  int idx;
-
-  if(spool && (idx=member(spool,spool_file))!=-1)
+  if(spool && (member(spool,spool_file))!=-1)
     {
       spool -= ({ spool_file });
       if(!sizeof(spool))
diff --git a/secure/zweities.c b/secure/zweities.c
index dfc4c2e..afcef41 100644
--- a/secure/zweities.c
+++ b/secure/zweities.c
@@ -273,7 +273,6 @@
   }
   else
     return QueryFamilie(previous_object());
-  return 0;
 }
 
 // Die Familienaliase abfragen. Entweder ein bestimmtes oder alle. Eine
diff --git a/std/armour/wear.c b/std/armour/wear.c
index 3615d43..c89f0a2 100644
--- a/std/armour/wear.c
+++ b/std/armour/wear.c
@@ -159,9 +159,8 @@
 }
 
 protected void _informunwear(object worn_by, int silent, int all) {
-  mixed res;
   // Gesetzte Resistenzen loeschen
-  ({void})worn_by->RemoveResistanceModifier(res=QueryProp(P_ARMOUR_TYPE));
+  ({void})worn_by->RemoveResistanceModifier(QueryProp(P_ARMOUR_TYPE));
   
   // Ruestungen koennen Attribute aendern/blockieren. Also muessen diese
   // nach dem Ausziehen aktualisiert werden
diff --git a/std/clothing/container_description.c b/std/clothing/container_description.c
index 3f19e80..3d06d80 100644
--- a/std/clothing/container_description.c
+++ b/std/clothing/container_description.c
@@ -123,10 +123,9 @@
 {
   int iswiz;
   mixed objs, info;
-  string descr;
 
   iswiz = IS_LEARNER( viewer ) && ({int})viewer->QueryProp(P_WANTS_TO_LEARN);
-  descr = ""; objs = ({}); info = ({});
+  objs = ({}); info = ({});
   map(inv, #'stringenize/*'*/, iswiz | (flags & 2) | (flags & 4), &objs, &info);
   if(flags & 1) return info;
   inv = map(info, #'collect/*'*/) - ({ 0 });
diff --git a/std/clothing/wear.c b/std/clothing/wear.c
index d85ea25..5fe900a 100644
--- a/std/clothing/wear.c
+++ b/std/clothing/wear.c
@@ -196,8 +196,7 @@
 // Hierbei steht -1 dafuer, dass der Aufrufer return 0 machen sollte,
 // <= -2 sollte zur einem return !all fuehren.
 protected int _check_wear_restrictions(int silent, int all) {
-  mixed   type,res;
-  object  *armours;
+  mixed   res;
 
   // Man kann nur Kram anziehen, die man bei sich traegt
   if (environment()!=PL) {            
diff --git a/std/container/inventory.c b/std/container/inventory.c
index 5b6e257..a339d27 100644
--- a/std/container/inventory.c
+++ b/std/container/inventory.c
@@ -62,7 +62,6 @@
 void InsertSensitiveObject(object ob, mixed arg) {
   int i;
   mixed x;
-  mapping map_ldfied;
   
   if (!pointerp(arg))
     return;
diff --git a/std/corpse.c b/std/corpse.c
index 71e0602..8aed0f2 100644
--- a/std/corpse.c
+++ b/std/corpse.c
@@ -119,7 +119,6 @@
 {
     closure cl;
     int i;
-    string info;
 
     spielerleiche = query_once_interactive(ob);
     cl=symbol_function("QueryProp", ob);
@@ -691,7 +690,7 @@
 
 object _channel( object ob )
 {
-  int m_FMM, m_HP, m_WC, m_AC, s_HP, s_WC, s_AC;
+  int m_FMM, m_HP, m_WC, m_AC;
   object rueck;
 
   if (member(inherit_list(previous_object()),CORPSE_OBJ)>-1)
@@ -723,9 +722,9 @@
                     (m_AC = ({int}) funcall( m_q, P_TOTAL_AC ))))
                   > 200000) ? 2 : 0) ||
            (nr = (((y = m_HP * (m_WC + m_AC)) >
-                   (z = 5 * (s_HP = ({int}) funcall( s_q, P_MAX_HP )) *
-                    ((s_WC = ({int}) funcall( s_q, P_TOTAL_WC )) +
-                     (s_AC = ({int}) funcall( s_q, P_TOTAL_AC )))))
+                   (z = 5 * (({int}) funcall( s_q, P_MAX_HP )) *
+                    ((({int}) funcall( s_q, P_TOTAL_WC )) +
+                     (({int}) funcall( s_q, P_TOTAL_AC )))))
                   ? 3 : 0)))
       {
         SetProp( P_NAME, "Geist "+({string}) ob->name(WESSEN, 0) );
diff --git a/std/food.c b/std/food.c
index c2220b3..ae0a5d8 100644
--- a/std/food.c
+++ b/std/food.c
@@ -490,7 +490,6 @@
     write("Mit diesem Futter stimmt was nicht!"
       " Sprich mal mit einem Magier.\n");
     raise_error("Food ohne Werte.\n");
-    return 0;
   }
 
   if (!is_eatable()) {
@@ -515,7 +514,6 @@
     write("Mit diesem Futter stimmt was nicht!"
       " Sprich mal mit einem Magier.\n");
     raise_error("Food ohne Werte.\n");
-    return 0;
   }
 
   if (!is_drinkable()) {
diff --git a/std/gilden_ob.c b/std/gilden_ob.c
index 3435ba4..6656eb2 100644
--- a/std/gilden_ob.c
+++ b/std/gilden_ob.c
@@ -195,8 +195,6 @@
 
 varargs int
 AddSpell(string verb, mapping ski) {
-  mapping skills;
-
   if (!verb)
       return 0;
   if (!mappingp(ski))
@@ -352,7 +350,6 @@
 LearnSpell(string spell,object pl) {
   mapping ski,restr;
   string res;
-  mixed learn_initfunc;
   int abil,diff;
 
   // Wenn kein pl gesetzt ist, nehmen wir this_player(), das ist der
@@ -393,7 +390,6 @@
   mapping ski,restr;
   object pl;
   string res;
-  mixed learn_initfunc;
   int abil,diff;
 
   if (!IsGuildMember(pl=this_player())) {
diff --git a/std/inpc/eval.c b/std/inpc/eval.c
index 24e1337..a8fbe80 100644
--- a/std/inpc/eval.c
+++ b/std/inpc/eval.c
@@ -100,7 +100,7 @@
 
 varargs object *minimize_prop_filt(object *here, mixed prop) {
   object *obs,ob;
-  int i,mhp,hp,sz;
+  int i,mhp,hp;
   
   obs=0;
   if (!pointerp(here))
@@ -125,7 +125,7 @@
 
 varargs object *maximize_prop_filt(object *here, mixed prop) {
   object *obs,ob;
-  int i,mwc,wc,sz;
+  int i,mwc,wc;
   
   obs=0;
   if (!pointerp(here))
diff --git a/std/inpc/select.c b/std/inpc/select.c
index 1fc0163..ada4ccb 100644
--- a/std/inpc/select.c
+++ b/std/inpc/select.c
@@ -45,7 +45,6 @@
         ctime()+"select::scan_objects(). Rest "+to_string(cost)+
         ", i="+member(src, ob)+", Size "+to_string(sizeof(src))+".\n");
       return res;
-      break;
     }
     if (!objectp(ob))
       continue;
@@ -111,7 +110,6 @@
         "Break in select::find_best_weapon(). Rest-Ticks "+to_string(cost)+
         ", i = "+to_string(i)+", Size "+to_string(sizeof(res))+".\n");
       return bob; // zurueckgeben, was bisher drinsteht.
-      break;
     } 
   }
   return bob;
@@ -217,7 +215,6 @@
 	to_string(cost)+", i="+member(diff, di)+", Size "+
 	to_string(sizeof(diff))+".\n");
       return 1; // zurueckgeben, was bisher drinsteht.
-      break;
     }
   }
   diff=na-oa;
@@ -235,7 +232,6 @@
 	 to_string(cost)+", i="+member(diff, di)+", Size "+
 	 to_string(sizeof(diff))+".\n");
       return 1; // zurueckgeben, was bisher drinsteht.
-      break;
     }
   }
   return 1;
diff --git a/std/inpc/walking.c b/std/inpc/walking.c
index 1fe19a4..eef8977 100644
--- a/std/inpc/walking.c
+++ b/std/inpc/walking.c
@@ -117,13 +117,17 @@
 }
 
 int walk_route() {
+  return 0;
 }
 
 int walk_to() {
+  return 0;
 }
 
 int walk_follow() {
+  return 0;
 }
 
 int walk_flee() {
+  return 0;
 }
diff --git a/std/items/fishing/angel.c b/std/items/fishing/angel.c
index 7f403f3..108944a 100644
--- a/std/items/fishing/angel.c
+++ b/std/items/fishing/angel.c
@@ -63,7 +63,7 @@
 // Verlustwahrsch. fuer Koeder falls Fisch zu schwer
 
 private object room, current_user;
-private int active, actime;
+private int active;
 private mapping aquarium = STDFISHLIST;
 
 nomask varargs void StopFishing(string msg_me, string msg_room);
@@ -307,7 +307,6 @@
         // - Haken mit Koeder ist dran.
         // - alte Beute wurde abgenommen.
         // - Move-Hook gesetzt, um Abbruch ausloesen zu koennen.
-        actime = time();
         current_user = TP;
         tell_object(TP, "Du wirfst die Angel aus.\n");
         tell_room(environment(TP), TP->Name()+" wirft eine Angel aus.\n", 
diff --git a/std/items/flasche.c b/std/items/flasche.c
index ed0da17..dd4365b 100644
--- a/std/items/flasche.c
+++ b/std/items/flasche.c
@@ -207,7 +207,6 @@
       " fuellen koenntest!\n");
     return 0;
   }
-  return 0;
 }
 
 static int cmd_leere(string str)
diff --git a/std/items/kraeuter/trank.c b/std/items/kraeuter/trank.c
index e038d1a..afc8bd3 100644
--- a/std/items/kraeuter/trank.c
+++ b/std/items/kraeuter/trank.c
@@ -1102,12 +1102,12 @@
   // erst die positiven, dann die negativen Wirkungen aktivieren
   // fuer jede Wirkung wird eine lfun act_<trankattribut>() gerufen, z.B.
   // act_attr_tragen() (-> act_T_CARRY() )
-  mapping notactivated =
-          filter(peff, function int (string k, int val)
-              {return !funcall(symbol_function("act_"+k,this_object()), val);})
-         +
-          filter(neff, function int (string k, int val)
-              {return !funcall(symbol_function("act_"+k,this_object()), val);});
+  // mapping notactivated = 
+  filter(peff, function int (string k, int val)
+      {return !funcall(symbol_function("act_"+k,this_object()), val);})
+  +
+  filter(neff, function int (string k, int val)
+      {return !funcall(symbol_function("act_"+k,this_object()), val);});
   // Meldungen ausgeben ueber nicht aktivierte Wirkungen?
   // TODO
 }
diff --git a/std/lightsource.c b/std/lightsource.c
index f45d510..834c8b7 100644
--- a/std/lightsource.c
+++ b/std/lightsource.c
@@ -304,7 +304,6 @@
 string short()
 {
   string s;
-  string desc;
 
   if(!(s=QueryProp(P_SHORT)))
     return 0;
diff --git a/std/living/attributes.c b/std/living/attributes.c
index e1d88fc..eef675c 100644
--- a/std/living/attributes.c
+++ b/std/living/attributes.c
@@ -148,7 +148,7 @@
 
 nomask protected void attribute_hb()
 {
-  int now,i,k,update,outdated;
+  int now,i,k,outdated;
   string* keys;
   mapping tonotify;
 	
@@ -433,9 +433,6 @@
 }
 
 protected void add_offsets(mapping arr) {
-  mixed *ind;
-  int i;
-  
   if ( !mappingp(arr) )
     return;
 
@@ -504,7 +501,6 @@
 }
 
 static mixed _query_timed_attr_mod() {
-  mixed ret;
   return Set(P_TIMED_ATTR_MOD,	    
       ({attributes_timed_mods[0],
 	deep_copy(attributes_timed_mods[1]),
diff --git a/std/living/description.c b/std/living/description.c
index 113f3c4..034b7cb 100644
--- a/std/living/description.c
+++ b/std/living/description.c
@@ -100,7 +100,7 @@
 public varargs int AddExtraLook(string look, int duration, string key, 
                                 string lookende, object ob) {
   mapping xl;
-  string oname;
+
   if (!stringp(key) || !sizeof(key)) {
     // Automatisch erzeugen, wenn moeglich
     if (!objectp(previous_object()) || 
@@ -243,10 +243,8 @@
 }
 
 varargs string long() {
-  string str, cap_pronoun;
-  string descr, invl,tmp,exl;
-  int hpnt, max_hpnt;
-  mixed filter_ldfied;
+  string str;
+  string invl,tmp,exl;
   object ob;
 
   str = process_string( QueryProp(P_LONG) );
@@ -286,7 +284,7 @@
     }
   }
   
-  if(filter_ldfied = QueryProp(P_TRANSPARENT))
+  if(QueryProp(P_TRANSPARENT))
   {
     invl = make_invlist(PL, all_inventory(ME));
     if(invl != "")
diff --git a/std/living/light.c b/std/living/light.c
index 90c3aef..ecbc926 100644
--- a/std/living/light.c
+++ b/std/living/light.c
@@ -30,6 +30,7 @@
 {
   if (environment())
     return environment()->QueryProp(P_INT_LIGHT) + QueryProp(P_LIGHT_MODIFIER);
+  return 0;
 }
 
 varargs int CannotSee(int silent)
diff --git a/std/living/put_and_get.c b/std/living/put_and_get.c
index 936fad0..e44e4da 100644
--- a/std/living/put_and_get.c
+++ b/std/living/put_and_get.c
@@ -280,7 +280,6 @@
 
             return capitalize(wen0 + " kannst Du dort nicht hineinstecken.");
     }
-    return 0; // NOT REACHED
 }
 
 
@@ -1186,7 +1185,6 @@
      else obs=(inv->present_objects(str) || ({}));
      return obs-({ ME });
    }
-   return(0);
 }
 
 int pick_obj(object ob)
@@ -1243,8 +1241,6 @@
 
 int give_obj(object ob, object where)
 {
-  object env;
-
   if (environment(ob)!=this_object()) {
     TME("Das solltest Du erstmal nehmen.");
     return 1;
diff --git a/std/living/skill_attributes.c b/std/living/skill_attributes.c
index c88b4f4..43206e0 100644
--- a/std/living/skill_attributes.c
+++ b/std/living/skill_attributes.c
@@ -110,9 +110,6 @@
 
 private int InternalModifySkillAttribute(object caster, string atrname,
                                 mixed value, int duration) {
-  int zeit = utime()[1];
-  int ticks = get_eval_cost();
-
   // nur existierende SAs...
   if (!stringp(atrname)
       || member(VALID_SKILL_ATTRIBUTES, atrname) == -1)
diff --git a/std/more.c b/std/more.c
index 3635e88..91ab479 100644
--- a/std/more.c
+++ b/std/more.c
@@ -70,7 +70,7 @@
 
 int search(mixed pinfo)
 {
-  int l, lines;
+  int l;
   mixed tmp;
   l = pinfo[CURL];
   while((tmp = fread(pinfo, l, pinfo[PAGE])) &&
diff --git a/std/newsclient.c b/std/newsclient.c
index eac517e..7d3648e 100644
--- a/std/newsclient.c
+++ b/std/newsclient.c
@@ -223,7 +223,6 @@
 	    default: write("Interner Fehler. Bitte Erzmagier verstaendigen !\n");
 	    return 1;
 	  }
-  return 0;
 }
 
 void Crumble()
diff --git a/std/npc/chat.c b/std/npc/chat.c
index ff6990e..2491d93 100644
--- a/std/npc/chat.c
+++ b/std/npc/chat.c
@@ -68,7 +68,6 @@
 }
 
 void DoAttackChat() {
-  string* c;
   if (!ME || !environment(ME))
     return;
   if (QueryProp(P_DISABLE_ATTACK)>0)return ;
@@ -77,7 +76,6 @@
 }
 
 void DoChat() {
-  string *c;
   if (!ME || !environment(ME))
     return;
   if (random(100) < QueryProp(P_CHAT_CHANCE))
diff --git a/std/pile.c b/std/pile.c
index 049d84f..bb57f48 100644
--- a/std/pile.c
+++ b/std/pile.c
@@ -52,7 +52,6 @@
 	} else {
 		return "Ein grosser Haufen Krempel";
 	}
-  return 0;
 }
 
 // Prueft, ob wir in einen Spieler gemovt werden sollen.
diff --git a/std/player/channel.c b/std/player/channel.c
index cf8d85a..0ecefc2 100644
--- a/std/player/channel.c
+++ b/std/player/channel.c
@@ -349,7 +349,7 @@
 int ChannelParser(string args)
 {
   string|string* ch;
-  int pos, type, err;
+  int type, err;
   string tmp;
   notify_fail("Benutzung: -<Ebene>[ ]['|:|;]<Text>\n"
               "           -<Ebene>[+|-|?|!|*]\n"
diff --git a/std/player/comm.c b/std/player/comm.c
index 87dd6a0..36aaff4 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -81,8 +81,6 @@
 // erzeugt sortierte Liste an Kommunikationspartnern
 private string *sorted_commpartners(int reversed);
 
-private nosave string *buffer = ({});
-
 void create()
 {
   ::create();
@@ -989,7 +987,6 @@
 }
 
 static int _msg_prepend(string str) {
-  int beep_interval;
   notify_fail("Syntax: senderwiederholung ein/aus\n");
   if (stringp(str)) {
     if (str=="aus")  
@@ -1109,7 +1106,7 @@
 {
   object    ob;
   string    away,myname,ret;
-  mixed     ignore,it;
+  mixed     it;
   string    *xname;
   int       i,visflag;
 
@@ -1389,9 +1386,7 @@
 
 static int _shout_to_wizards(mixed str)
 {
-  int     i, j;
   string    myname;
-  object   *u;
 
   str = _unparsed_args();
   if (!str||!sizeof(str)) {
@@ -1744,7 +1739,6 @@
         default: // mehr als 3 Teile...
           raise_error(sprintf("TestIgnoreExt(): too many qualifiers, only 1 "
                 "is supported. Got: %s\n",srcname));
-          break;
       }
     }
   }
diff --git a/std/player/command.c b/std/player/command.c
index beea800..d342e90 100644
--- a/std/player/command.c
+++ b/std/player/command.c
@@ -208,6 +208,8 @@
   }
   else if (!s||s=="")
     return (default_notify_fail=0);
+
+  return 0;
 }
 
 static mixed _query_default_notify_fail()
diff --git a/std/player/description.c b/std/player/description.c
index acd4200..91980f5 100644
--- a/std/player/description.c
+++ b/std/player/description.c
@@ -115,8 +115,7 @@
 
 varargs string long()
 {
-  string exl, descr, tmp, size_descr;
-  object ob;
+  string descr, size_descr;
   mixed trans, w, a, r;
   int per;
   string fill, fill2;
diff --git a/std/player/exploration.c b/std/player/exploration.c
index 3990e54..e45637e 100644
--- a/std/player/exploration.c
+++ b/std/player/exploration.c
@@ -21,8 +21,6 @@
 
 private string given_scores;
 
-private nosave mixed epnum;
-
 void create() {
   Set(P_LEP, SECURED|SAVE, F_MODE_AS);
 
diff --git a/std/player/invmaster/invmaster.c b/std/player/invmaster/invmaster.c
index 49c3c38..2ac7bd2 100644
--- a/std/player/invmaster/invmaster.c
+++ b/std/player/invmaster/invmaster.c
@@ -132,10 +132,7 @@
 // where possible
 static string ComposeDesc(object item)
 {
-  int i;
-  string text, *buff;
-  
-  text=regreplace(item->QueryProp(P_SHORT)
+  string text=regreplace(item->QueryProp(P_SHORT)
                 ||item->name(RAW)
                 ||"<?>",
                 "^(Ein Paar|Ein|Eine|Der|Die|Das) ","",0);
diff --git a/std/player/life.c b/std/player/life.c
index 3a52dee..ca295fd 100644
--- a/std/player/life.c
+++ b/std/player/life.c
@@ -505,7 +505,7 @@
 static int _set_hp( int hp )
 {
     object *hooks;
-    int ret, i, old;
+    int ret, old;
 
     if ( (old = Query(P_HP, F_VALUE)) == hp )
         return old;
@@ -532,7 +532,7 @@
 static int _set_sp( int sp )
 {
     object *hooks;
-    int ret, i, old;
+    int ret, old;
 
     if ( (old = Query(P_SP,F_VALUE)) == sp )
         return old;
diff --git a/std/player/protocols/gmcp.c b/std/player/protocols/gmcp.c
index e3e6d6c..905fdc9 100644
--- a/std/player/protocols/gmcp.c
+++ b/std/player/protocols/gmcp.c
@@ -156,9 +156,8 @@
 
 private void GMCP_unregister_module(string mod)
 {
-  int version;
   // Wenn nicht "mod version" Schema, ignorieren
-  if (sscanf(mod, "%s %d", mod, version) != 2)
+  if (sscanf(mod, "%s %~d", mod) != 2)
       return;
 
   if (mod=="Core") // darf nicht abgeschaltet werden.
diff --git a/std/player/reputation.c b/std/player/reputation.c
index 792c386..f32b75d 100644
--- a/std/player/reputation.c
+++ b/std/player/reputation.c
@@ -27,7 +27,9 @@
  */
 public varargs int ChangeReputation(string repid, int value, 
                                           int silent) {
-  string uid, changemsg; int newval; mapping rep;
+  string changemsg;
+  int newval;
+  mapping rep;
   
   if(!intp(value) || !value || !stringp(repid) || !sizeof(repid)) 
     return REP_RET_WRONGARGS;
diff --git a/std/player/shadows/ark_hunger_shadow.c b/std/player/shadows/ark_hunger_shadow.c
index 42d6dff..2559f01 100644
--- a/std/player/shadows/ark_hunger_shadow.c
+++ b/std/player/shadows/ark_hunger_shadow.c
@@ -46,6 +46,7 @@
   }
   return 0;
  }
+ return 0;
 }
 
 void Loeschen() {
diff --git a/std/player/soul.c b/std/player/soul.c
index 9ea7bba..5368d1d 100644
--- a/std/player/soul.c
+++ b/std/player/soul.c
@@ -633,7 +633,7 @@
 varargs static int
 SoulComm(string str, string _verb)  {
   int t_g,t_n,flag;
-  string str1,str2,str3,*taenze,vb;
+  string str1,str2,*taenze,vb;
   out_sel=out_vic=out_oth=who=0;
 //  if (this_interactive()!=ME) return 0;
   if (interactive(ME)) str=_unparsed_args(); // NPCs haben das nicht :(
diff --git a/std/player/travel.c b/std/player/travel.c
index 1b41d59..cca6a54 100644
--- a/std/player/travel.c
+++ b/std/player/travel.c
@@ -43,7 +43,7 @@
 static int reise(string str)
 {
   mixed  t, ship, dstr;
-  string mit, nach, s1, s2;
+  string mit, nach;
   int    i;
 
   _notify_fail("Syntax: reise mit <transportmittel> nach <zielort>\n\n"
diff --git a/std/player/util.c b/std/player/util.c
index 0d7ca18..40d3729 100644
--- a/std/player/util.c
+++ b/std/player/util.c
@@ -96,7 +96,7 @@
 // Lacht nicht ueber den Namen!!! -Boing
 // Nein, ueber den Namen lache ich nicht ... -Paracelsus
 static void DumpKeyValPair(mapping x, mixed key, int size)
-{ int j, vc;
+{ int j;
 
   PrettyDump(key);
   write(" : ");
diff --git a/std/player/viewcmd.c b/std/player/viewcmd.c
index 718db88..ab528c5 100644
--- a/std/player/viewcmd.c
+++ b/std/player/viewcmd.c
@@ -109,7 +109,7 @@
 int _inventory(string str)
 {
   mixed *args, output;
-  int ansi, i, flags, minv;
+  int ansi, flags, minv;
   mixed inventory, weapons, armours, misc;
   string format;
 
@@ -681,8 +681,6 @@
       return 0;
     }
   }
-  // Nie erreicht.
-  return 0;
 }
 
 varargs int _examine(string str, int mode)
@@ -768,7 +766,6 @@
 varargs string env_descr(int allow_short,int flags, int force_short )
 {
   object env;
-  int brief;
 
   env = environment(ME);
 
@@ -778,7 +775,7 @@
   if (!force_short && (!allow_short || !QueryProp(P_BRIEF)))
       return env->int_long(ME,ME,flags);
 
-  if (!flags && ((brief=QueryProp(P_BRIEF))>=2))
+  if (!flags && QueryProp(P_BRIEF)>=2)
       return "";
 
   return env->int_short(ME,ME);
diff --git a/std/room/pub.c b/std/room/pub.c
index bdd2c90..00121b1 100644
--- a/std/room/pub.c
+++ b/std/room/pub.c
@@ -93,7 +93,6 @@
     case "&6#": return "@WESSENQP1";
     case "&7#": return "@WEMQP1";
     case "&8#": return "@WENQP1";
-    default: return str;
   }
   return str;
 }
diff --git a/std/room/shop.c b/std/room/shop.c
index 1196129..880aadb 100644
--- a/std/room/shop.c
+++ b/std/room/shop.c
@@ -35,8 +35,6 @@
 
 varargs void AddFixedObject(string str, int val, string|string* ids)
 {
-  int i;
-
   // Achtung, bei solchen Objekten muss die Blueprint initialisiert werden!
   if (!str) return;
   if (!val) val=str->QueryProp(P_VALUE);
@@ -205,7 +203,6 @@
 {
   object store = load_object(storage);
   store->_register_shop(ME);
-  object* output = ({});
   object* all_items = all_inventory(store);
 
   // Wir brauchen eine Liste, die von jeder Blueprint nur einen Clone
diff --git a/std/secure_thing.c b/std/secure_thing.c
index 805c7df..e47f66a 100644
--- a/std/secure_thing.c
+++ b/std/secure_thing.c
@@ -29,5 +29,6 @@
   string sh;
   if( sh=QueryProp(P_SHORT) )
     return funcall(sh)+".\n";
+  return 0;
 }
 
diff --git a/std/shells/darkelf.c b/std/shells/darkelf.c
index bf197ef..e993a03 100644
--- a/std/shells/darkelf.c
+++ b/std/shells/darkelf.c
@@ -203,7 +203,6 @@
     }
     return sinfo[SI_SKILLABILITY]+1;
   }
-  return 0;
 }
 
 varargs int CannotSee(int silent)
diff --git a/std/shells/magier/fileedit.c b/std/shells/magier/fileedit.c
index b0bfeb0..a242c68 100644
--- a/std/shells/magier/fileedit.c
+++ b/std/shells/magier/fileedit.c
@@ -60,7 +60,7 @@
 static int _ed(string cmdline)
 {
   mixed *args,*args2;
-  int flags,i,arg_size;
+  int flags,arg_size;
   cmdline=_unparsed_args();
   args=parseargs(cmdline,&flags,"",1);
   if (flags==-1||!(arg_size=sizeof(args)))
@@ -149,7 +149,6 @@
       if (flags&CP_V) printf(FILE_COPIED,source);
       return RET_OK;
   }
-  return 0; // not-reached
 }
 
 static void _cp_ask_overwrite2(string input, mixed *filedata,
@@ -290,9 +289,8 @@
 
 static void _cp_ask_copy(mixed *filedata,int move, int flags)
 {
-  mixed data;
   string dest,source;
-  int delete_subs,jump;
+  int jump;
 
   if(!sizeof(filedata))
   {
@@ -441,7 +439,7 @@
 
 static int _rmdir(string cmdline)
 {
-  string dest,tmp;
+  string dest;
   int flags;
   mixed *args;
   
@@ -492,7 +490,7 @@
 
 static int _mkdir(string cmdline)
 {
-  string dest,tmp;
+  string dest;
   int flags,i;
   string *args;
   
@@ -581,13 +579,10 @@
       _rm_ask_delete(filedata,flags);
       return;
   }
-  return;
 }
 
 private void _rm_ask_delete(mixed *filedata, int flags)
 {
-  int i;
-  mixed temp;
   if (!sizeof(filedata))
   {
     printf("rm: abgeschlossen.\n");
@@ -600,7 +595,7 @@
       _rm_ask_delete(filedata[1..],flags);
       return;
     case FSIZE_DIR:
-      if (i=filedata[0][SUBDIRSIZE])
+      if (filedata[0][SUBDIRSIZE])
         printf("Ins Verzeichnis '%s' hinabsteigen?\n",
           filedata[0][FULLNAME]);
       else
@@ -652,7 +647,7 @@
 
 static int _rm(string cmdline)
 {
-  mixed *args,*args2;
+  mixed *args;
   int flags,i;
   string mask;
   
diff --git a/std/shells/magier/fileview.c b/std/shells/magier/fileview.c
index 6929357..2fc4b2f 100644
--- a/std/shells/magier/fileview.c
+++ b/std/shells/magier/fileview.c
@@ -65,7 +65,6 @@
 // und bereitet beides fuer die Nutzung durch terminal_colours() vor.
 private void SetColorstrings()
 {
-  string term = QueryProp(P_TTY);
   mapping vars = QueryProp(P_VARIABLES);
   // 2nd value in templates is the additional amount of space the templates
   // itself needs in addition to the value inserted later in place of %s.
@@ -76,7 +75,7 @@
   lstemplates.colormap[0]=ANSI_NORMAL;
   // Template fuer die Ausgabe und die Defaults fuer die Farbplatzhalter je
   // nach Terminal einstellen.
-  switch(term=QueryProp(P_TTY))
+  switch(QueryProp(P_TTY))
   {
     case "vt100":
       lstemplates.templates[DIR] = "%^LS_DIR_START%^%s/%^LS_DIR_END%^";
@@ -153,7 +152,6 @@
 private int _ls_maxlen(mixed filedata,int flags,int maxlen)
 {
   string base;
-  int size;
   base=filedata[BASENAME];
   if (!(flags&LS_A)&&(base[0]=='.')) return 0;
   maxlen=max(maxlen,sizeof(base));
@@ -250,7 +248,7 @@
   mixed* args;
   string output;
   mixed *tmp;
-  closure output_fun,v_read,v_write,creator,sort_fun;
+  closure v_read,v_write,creator,sort_fun;
   
   cmdline=_unparsed_args()||"";
   args=parseargs(cmdline,&flags,LS_OPTS,1);
diff --git a/std/shells/magier/todo.c b/std/shells/magier/todo.c
index c87d17d..f28bd12 100644
--- a/std/shells/magier/todo.c
+++ b/std/shells/magier/todo.c
@@ -12,7 +12,6 @@
 
 #define SAVEFILENAME sprintf("/players/%s/.todoliste",getuid())
 
-private nosave status todo_initialized;
 private nosave mixed *todo_data;
 mixed *todo_data_public;
 static mixed _query_localcmds()
@@ -23,9 +22,8 @@
 
 private void todo_save()
 {
-
-  int i,j;
-  string a,b;
+  int j;
+  string a;
   a=SAVEFILENAME+".o";
   rm(a);
   if (j=sizeof(todo_data))
diff --git a/std/shells/magier/upd.c b/std/shells/magier/upd.c
index 87a3030..ebee975 100644
--- a/std/shells/magier/upd.c
+++ b/std/shells/magier/upd.c
@@ -65,7 +65,6 @@
   if (!obj=find_object(file[0..<3]+(clone?("#"+clone):"")))
   {
     int pos,pos2;
-    string bt;
 
     if(file_size(file)<0)
     {
@@ -356,7 +355,7 @@
   if ( (!(flags&UPD_LOAD))&&
        ((obj = find_object(file)) || (flags & (UPD_M|UPD_I))))
   {
-    object *inv, env, *pl_inv;
+    object *inv, env;
     mapping pro;
     int i;
     mixed configdata;
diff --git a/std/spellbook.c b/std/spellbook.c
index ac9031a..8ef27d1 100644
--- a/std/spellbook.c
+++ b/std/spellbook.c
@@ -162,13 +162,12 @@
 varargs int
 TryDefaultAttackSpell(object victim, object caster, mapping sinfo, 
                       mixed si_spell) {
-  object team;
   int row;
   
   if (!si_spell) si_spell=sinfo[SI_SPELL];
   // Wenn der Spieler in einem Team ist, die Teamreihen-Boni
   // beruecksichtigen. Wenn nicht, eben nicht.
-  if (!team=(({object})caster->QueryProp(P_TEAM)))
+  if (!({object})caster->QueryProp(P_TEAM))
   return TryAttackSpell(victim,
                         GetRandFValueO(SI_SKILLDAMAGE,sinfo,caster),
                         GetData(SI_SKILLDAMAGE_TYPE,sinfo,caster),
@@ -299,7 +298,7 @@
 varargs int
 UseSpell(object caster, string spell, mapping sinfo) {
   mapping ski,tmp;
-  string spellbook,sname,fname,txt;
+  string sname,fname,txt;
   int res,fat,cost;
   mixed ps;
 
diff --git a/std/thing/commands.c b/std/thing/commands.c
index 157fe74..98934eb 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -608,8 +608,7 @@
   while(nindex--)
    if(!strstr(query_verb(),keys[nindex]) &&
       member((flag=added_cmds[keys[nindex], CMDIDX_FLAG]),1)>=0) {
-    int i,ret;
-    i=sizeof(flag);
+    int i = sizeof(flag);
     // Reihenfolge nicht aendern !
     while(i--)
       if(flag[i]==1) {
diff --git a/std/thing/description.c b/std/thing/description.c
index b2326da..db238d2 100644
--- a/std/thing/description.c
+++ b/std/thing/description.c
@@ -275,7 +275,6 @@
 // zusamengebaut werden, dazu muss ich das leerzeichen aber erstmal
 // abschneiden und so weiter ...
 private string depointer_adj( <string|string*>* adj, int casus, int demon ) {
-  string msg;
   int start;
   string res,a;
 	adj = map( adj, #'DeclAdj, casus, demon );
@@ -498,7 +497,6 @@
 // Detail(s) hinzufuegen
 public void AddDetail(string|string* keys, string|string*|mapping|closure descr)
 {
-    int i;
     mapping details;
 
     details = Query(P_DETAILS, F_VALUE);
diff --git a/std/thing/language.c b/std/thing/language.c
index 4b23c8a..e0e3b3d 100644
--- a/std/thing/language.c
+++ b/std/thing/language.c
@@ -50,7 +50,7 @@
 // Artikel vorschlagen: gibt es noch mehr Objekte im inv?
 protected varargs int SuggestArticle(string id)
 {
-  object ob,*obs;
+  object ob;
 
   // Raum oder Master: Bestimmt.
   if (!environment()) return 1;
@@ -110,8 +110,6 @@
 // Pronomen bestimmen nach KNG
 public varargs string QueryPronoun(int casus)
 {
-  int gender;
-
   // Plural ist immer einfach ...
   if (QueryProp(P_PLURAL)) 
   {
diff --git a/std/thing/light.c b/std/thing/light.c
index 465eea7..99d2e17 100644
--- a/std/thing/light.c
+++ b/std/thing/light.c
@@ -85,5 +85,4 @@
     default:
       return (lighttype & my_light_type);
   }
-  return 0;
 }
diff --git a/std/thing/util.c b/std/thing/util.c
index 0a0d1ff..4e58576 100644
--- a/std/thing/util.c
+++ b/std/thing/util.c
@@ -96,7 +96,7 @@
 // Lacht nicht ueber den Namen!!! -Boing
 // Nein, ueber den Namen lache ich nicht ... -Paracelsus
 static void DumpKeyValPair(mapping x, mixed key, int size)
-{ int j, vc;
+{ int j;
 
   PrettyDump(key);
   write(" : ");
diff --git a/std/transport.c b/std/transport.c
index 2f46927..1499cbc 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -177,8 +177,7 @@
 
 mixed HasRoute(mixed dest)
 {
-  int i,s,z;
-  string str;
+  int i,s;
   object ob;
   mixed harb;
   
@@ -484,8 +483,7 @@
 static varargs void connect(string room, string code)
 {
   mixed *arrivemsg, *t;
-  object *trav, ob;
-  string *trs, *msgs;
+  object *trav;
   int i;
 
   if (roomCode) disconnect();
diff --git a/std/unit.c b/std/unit.c
index 3024714..83c73a9 100644
--- a/std/unit.c
+++ b/std/unit.c
@@ -627,7 +627,6 @@
 // uebergeben. Wichtig: zu diesem Zeitpunkt hat sich an der Unit noch nix (!)
 // geaendert!
 protected void DoDecayMessage(int oldamount, int zerfall) {
-  string msg;
   if (oldamount == zerfall) {
     if (living(environment())) {
       tell_object(environment(), break_string(sprintf(
diff --git a/std/user_filter.c b/std/user_filter.c
index edc3deb..4b156c2 100644
--- a/std/user_filter.c
+++ b/std/user_filter.c
@@ -165,7 +165,7 @@
 {
   object *res, *orig, *zwi;
   string *words;
-  int i, sz, f, l,t;
+  int i, sz, f, t;
   mixed x;
   
   orig = users();
diff --git a/std/util/ex.c b/std/util/ex.c
index aa8509d..ded4707 100644
--- a/std/util/ex.c
+++ b/std/util/ex.c
@@ -279,10 +279,9 @@
 
 varargs int ex(mixed text, closure func, mixed fargs, string buffer)
 {
-  int c, l;
+  int l;
   mixed ct;
   if(!text) text = "";
-  c = sizeof(text);
   l = sizeof(text = explode(text, "\n")) - 1;
   ct = ({ CMD, text, 0, func, fargs, 0, 0});
   if(!ctrl[buffer]) StartEX(0, ct);
diff --git a/std/util/pager.c b/std/util/pager.c
index abd5e63..d628ea6 100644
--- a/std/util/pager.c
+++ b/std/util/pager.c
@@ -26,7 +26,7 @@
   if(pinfo[FILE]) return read_file(pinfo[TEXT], begin, c);
   else
   {
-    int start, end, l, x;
+    int start, end;
 
     if(member(pinfo[JUNK], begin)) 
     {
diff --git a/std/util/ringbuffer.c b/std/util/ringbuffer.c
index b7143af..a549836 100644
--- a/std/util/ringbuffer.c
+++ b/std/util/ringbuffer.c
@@ -135,7 +135,6 @@
       else
 	return copy(rbuffer);
   }
-  return 0;
 }
 
 /** Erzeugt einen neuen Ringbuffer der Groesse \a size und dem gleichen Modus
diff --git a/std/virtual/v_compiler.c b/std/virtual/v_compiler.c
index a6bb773..c09eaab 100644
--- a/std/virtual/v_compiler.c
+++ b/std/virtual/v_compiler.c
@@ -130,7 +130,6 @@
 private mixed AddObject(string file)
 {
   object ob;
-  string err;
 
   // clean up the object list
   objects = filter_indices(objects, function int (string f) {
diff --git a/std/weapon/combat.c b/std/weapon/combat.c
index f26b1d8..333ea3c 100644
--- a/std/weapon/combat.c
+++ b/std/weapon/combat.c
@@ -219,7 +219,6 @@
 varargs int wield_me(int silent) 
 {
   raise_error("wield_me() ist veraltet. Bitte nutze DoWield()\n");
-  return 1;
 }
 
 // Die Funktion, die das eigentliche Zuecken durchfuehrt.