--- a/load.c Mon Aug 13 16:27:41 2007 +0200
+++ b/load.c Mon Aug 13 23:45:27 2007 +0200
@@ -23,15 +23,8 @@
static void new_word(struct Word *from)
{
- static int dispnwords = 0;
memcpy(&words[nwords], from, sizeof(*from));
nwords++;
- dispnwords++;
- if (dispnwords >= 1000)
- {
- dispnwords = 0;
- printf("Loaded: %i\n", nwords);
- }
}
static void new_dont_touch(int n)
@@ -70,11 +63,15 @@
struct Word w;
int last_offset = 0;
int def_avoided = 0;
+ int numword = 0;;
+ static int dispnwords = 0;
do {
int offset, length;
char *defstr;
w.w = get_word(index);
+ /*numword++;
+ printf("words: %i\n", numword);*/
if (w.w == 0)
break;
/*printf("Word: %s\n", w.w);*/
@@ -93,13 +90,22 @@
int newindex, repindex;
defstr = get_def(fdefs, offset, length);
newindex = new_def(defstr, offset, length);
+ /*
+ printf("Length %i (%s): %i\n", newindex, w.w, length);
+ */
/* Store it in the hash for repeated defs */
repindex = def_repeated(&defs[newindex]);
if (repindex != -1)
{
def_avoided += 1;
- printf("Repeated def avoided %i (word %s)\n", def_avoided, w.w);
+ /*
+ printf("Repeated def avoided %i (for def %i)"
+ " (%s)\n%i %s\n%i %s\n",
+ def_avoided, repindex, w.w,
+ length, defstr,
+ defs[repindex].length, defs[repindex].d);
+ */
remove_def(newindex);
newindex = repindex;
} else
@@ -112,6 +118,16 @@
if (strncmp(w.w, "00database", sizeof("00database") - 1) == 0)
new_dont_touch(w.def);
new_word(&w);
+
+ /* stdout Display */
+ dispnwords++;
+ if (dispnwords >= 1000)
+ {
+ dispnwords = 0;
+ printf("Loaded: %i Repeated definitions avoided: %i\n", nwords,
+ def_avoided);
+ }
+
} while(1);
}