Fehlerteufel: Bug in Ermittelung der Fehleranzahl behoben
Waren UIDs durch manuelle Eintraege im Master oder Fehlermonitor
mehrfach vorhanden, wurden sie mehrfach gezaehlt.
Weiterhin werden UIDs, fuer die keine fehler vorhanden sind, jetzt nicht
mehr eingetragen, was Speicherplatz und Rechenzeit bei Update und
Ausgabe spart. Hierfuer mussten noch zwei Typos in einer bisher nie
ausgegebenen Meldung gefixt werden.
Change-Id: If960a55ed0e9fa5620dcef3eb8748112d6122f71
diff --git a/obj/tools/fehlerteufel.c b/obj/tools/fehlerteufel.c
index 173df08..8b611f8 100644
--- a/obj/tools/fehlerteufel.c
+++ b/obj/tools/fehlerteufel.c
@@ -412,7 +412,8 @@
txt="";
if (!sizeof(typemap)) {
tell_object(PL,
- "Es sind keine " + errorlabel(typ)[1] + "Deiner UIDs bekannt. :-)");
+ "Es sind keine " + errorlabel(typ)[1] +
+ " Deiner UIDs bekannt. :-)\n");
continue;
}
foreach(string uid, < <int|string>* >* list : typemap)
@@ -1086,17 +1087,21 @@
if (type & lmodus)
{
//DEBUG(sprintf("Type: %d\n",type));
+ m_add(issuelist, type, ([]));
foreach(string uid : uids + xmonitoruids)
{
//DEBUG(sprintf("Type: %d, UID: %s\n",type,uid));
+ // Ggf. stehen UIDs mehrfach in der Liste, wenn eine UID fuer
+ // die der Magier zustaendig ist haendisch im Fehlermonitor oder
+ // im Master eingetragen ist
+ if(uid in issuelist[type]) continue;
< <int|string>* >* list =
({< <int|string>* >*})ERRORD->QueryIssueList(type,uid);
+ if(!sizeof(list)) continue;
+
count += sizeof(list);
- if (!member(issuelist, type))
- issuelist += ([ type: ([ uid: list ]) ]);
- else if (!member(issuelist[type], uid))
- issuelist[type] += ([uid: list ]);
+ issuelist[type] += ([uid: list ]);
}
}
}