gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r2715 - in doodle: . doc/man po src/doodle


From: grothoff
Subject: [GNUnet-SVN] r2715 - in doodle: . doc/man po src/doodle
Date: Tue, 2 May 2006 16:49:10 -0700 (PDT)

Author: grothoff
Date: 2006-05-02 16:49:01 -0700 (Tue, 02 May 2006)
New Revision: 2715

Modified:
   doodle/ChangeLog
   doodle/README
   doodle/configure.ac
   doodle/doc/man/libdoodle.3
   doodle/ltmain.sh
   doodle/po/de.po
   doodle/po/eu.po
   doodle/po/ga.po
   doodle/po/it.po
   doodle/po/nl.po
   doodle/po/sq.po
   doodle/po/sv.po
   doodle/po/vi.po
   doodle/src/doodle/doodle.c
   doodle/src/doodle/doodle.h
   doodle/src/doodle/doodled.c
   doodle/src/doodle/helper2.h
   doodle/src/doodle/index.c
Log:
out-of-process LE runs -- releasing 0.6.5

Modified: doodle/ChangeLog
===================================================================
--- doodle/ChangeLog    2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/ChangeLog    2006-05-02 23:49:01 UTC (rev 2715)
@@ -8,6 +8,11 @@
        an up-to-date database and that doodled will always
        run in the background keeping it (sufficiently)
        up-to-date.
+       Added out-of-process execution of GNU libextractor.
+       This ensures that doodle(d) does not crash even if
+       GNU libextractor does (i.e. due to bugs or corrupted
+       file systems).
+       Releasing doodle 0.6.5.
 
 Sat Jan  7 02:37:53 PST 2006
        Added Swedish translation.

Modified: doodle/README
===================================================================
--- doodle/README       2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/README       2006-05-02 23:49:01 UTC (rev 2715)
@@ -2,10 +2,9 @@
 ===========
 
 Install libextractor first.  You can obtain the sources from
-http://gnunet.org/libextractor/.  If you use Debian, try 
-"apt-get install libextractor0-dev" or "apt-get install
-libextractor1-dev".  You also need to install and run fam
-(file alteration monitor) if you want to use doodled.
+http://gnunet.org/libextractor/.  If you use Debian, try "apt-get
+install libextractor-dev".  You also need to install and run fam (file
+alteration monitor) if you want to use doodled.
 
 Building doodle is then trivial:
 $ ./configure --with-extractor=PREFIX

Modified: doodle/configure.ac
===================================================================
--- doodle/configure.ac 2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/configure.ac 2006-05-02 23:49:01 UTC (rev 2715)
@@ -1,5 +1,5 @@
 # This file is part of doodle.
-# (C) 2004, 2005 Christian Grothoff (and other contributing authors)
+# (C) 2004, 2005, 2006 Christian Grothoff (and other contributing authors)
 #
 # doodle is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published
@@ -21,8 +21,8 @@
 #
 #
 AC_PREREQ(2.57)
-AC_INIT([doodle], [0.6.4],address@hidden)
-AM_INIT_AUTOMAKE([doodle], [0.6.4])
+AC_INIT([doodle], [0.6.5],address@hidden)
+AM_INIT_AUTOMAKE([doodle], [0.6.5])
 AM_CONFIG_HEADER([config.h])
 
 AH_TOP([#define _GNU_SOURCE  1])

Modified: doodle/doc/man/libdoodle.3
===================================================================
--- doodle/doc/man/libdoodle.3  2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/doc/man/libdoodle.3  2006-05-02 23:49:01 UTC (rev 2715)
@@ -1,7 +1,7 @@
-.TH LIBDOODLE 3 "Jun 29 2005" "libdoodle"
+.TH LIBDOODLE 3 "May 2 2006" "libdoodle"
 
 .SH "NAME"
-libdoodle \- multi\-suffix tree based file search library 0.5.3
+libdoodle \- multi\-suffix tree based file search library 0.5.5
 
 .SH "SYNOPSIS"
 

Modified: doodle/ltmain.sh
===================================================================
--- doodle/ltmain.sh    2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/ltmain.sh    2006-05-02 23:49:01 UTC (rev 2715)
@@ -43,7 +43,7 @@
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION="1.5.22 Debian 1.5.22-2"
+VERSION="1.5.22 Debian 1.5.22-4"
 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
 
 # See if we are running on zsh, and set the options which allow our

Modified: doodle/po/de.po
===================================================================
--- doodle/po/de.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/de.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.6.3\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2005-09-17 03:42+0200\n"
 "Last-Translator: Karl Eichwalder <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -40,7 +40,7 @@
 "den allgemeinen Textextraktor für die Sprache mit dem 2-Buchstaben "
 "Sprachkürzel LANG verwenden (zur Benutzung beim Erzeugen der Datenbank)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "die Stelle FILENAME für die Speicherung der doodle-Datenbank verwenden"
 
@@ -54,7 +54,7 @@
 "Dateiname zur Liste der Schlüsselwörter hinzufügen (zur Benutzung beim "
 "Erzeugen der Datenbank)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "diesen Hilfetext anzeigen"
 
@@ -67,7 +67,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "Groß-/Kleinschreibung ignorieren (zur Benutzung beim Suchen)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "libextractor-Erweiterung mit der Bezeichnung LIBRARY laden"
 
@@ -75,11 +75,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "Schlüsselwörter in der Datei DATEINAME protokollieren"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "die libextractor-Standarderweiterungen nicht laden"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "Speichergrenze auf MENGE MB setzen (für den Baum)"
 
@@ -87,15 +87,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "den suffix-tree ausgeben (zur Problemdiagnose)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "angegebene Verzeichnisse beim das Erstellen und Suchen ausschließen"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "die Versionsnummer anzeigen"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "viele Informationen ausgeben"
 
@@ -112,9 +112,8 @@
 msgid "Pruned: %s\n"
 msgstr "Bereinigt: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Aufruf von »%s« für Datei »%s« fehlgeschlagen: %s\n"
@@ -124,12 +123,12 @@
 msgid "Processing '%s'\n"
 msgstr "»%s« wird bearbeitet\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Keine Datenbank angegeben.  Abbruch.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -138,52 +137,37 @@
 "»%s« ist ein ungültiger Datenbank-Dateiname (mit einem Doppelpunkt) für das\n"
 "Erstellen einer Datenbank (Option »%s«).\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "libextractor-Standarderweiterungen werden geladen.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "libextractor-Erweiterungen werden geladen: »%s'\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "libextractor-Erweiterungen konnten nicht geladen werden. Abbruch.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "»%s« konnte für die Protokollerstellung nicht geöffnet werden: %s\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "»%s« wird indiziert\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Schlüsselwörter für die passende Datei »%s«:\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Keine Datenbank angegeben. Abbruch.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Aufruf von »%s« für Datei »%s« fehlgeschlagen: %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Suche nach »%s«:\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
@@ -192,7 +176,7 @@
 "nicht\n"
 "funktionieren.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -201,49 +185,49 @@
 "Warnung: die Suchzeichenkette ist länger als %d Zeichen; die Suche wird\n"
 "möglicherweise nicht richtig funktionieren.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tNicht gefunden!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Die Option »%s« benötigt eine Zahl als Argument.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr ""
 "Die Optionen »%s« und »%s« können nicht gleichzeitig verwendet werden!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Die angegebene Speichergrenze ist zu hoch.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Version %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Mit »--help« kann eine Liste der Optionen angezeigt werden.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Programm mit zu indizierenden Datei- und Verzeichnisnamen aufrufen!\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Programm mit Suchbegriff aufrufen!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
@@ -251,102 +235,102 @@
 "den allgemeinen Textextraktor für die Sprache mit dem 2-Buchstaben "
 "Sprachkürzel LANG verwenden"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr "im Debug-Modus starten, nicht als Daemon"
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 msgid "add the filename to the list of keywords"
 msgstr "Dateiname zur Liste der Schlüsselwörter hinzufügen"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr "Hash gemäß dem angegebenen ALGORITHMUS errechnen"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr "Aktivitäten in der Datei DATEINAME protokollieren"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodle [OPTIONEN] [DATEINAMEN]*"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr "Dateien fortlaufend im Hintergrund indizieren."
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr "Ein Thread für die Event-Abarbeitung wurde erzeugt.\n"
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Aufruf von »%s« fehlgeschlagen: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "Verzeichnis »%s« wird auf Änderungen hin überwacht werden.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Datei »%s« wird bearbeitet.\n"
 
 # *** Checkit! 2004-12-30 09:57:27 CET -ke-
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr "Ein Thread für die Hauptarbeit wurde erzeugt.\n"
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr "Anlegen eines Threads für die Event-Abarbeitung fehlgeschlagen.\n"
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr "Mit FAM für Dateisystem-Events registrieren.\n"
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr "»doodled« vollständig gestartet.  Jetzt auf FAM-Events warten.\n"
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr "Fehler beim Trennen von FAM.\n"
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Verbindung zu FAM fehlgeschlagen. Abbruch.\n"
 
 # *** siehe oben! 2004-12-30 10:01:53 CET -ke-
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr "Anlegen des Threads für die Arbeit fehlgeschlagen: %s"
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr "»doodled« wird gestopt.\n"
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 "Es gibt keine Dateien, die doodled auf Änderungen hin überwachen könnte.  "
 "Abbruch.\n"
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "FAM-Monitor »%s« wird abgebrochen.\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr "Fehler beim Trennen von FAM.\n"
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr "libextractor-Erweiterungen werden entladen: »%s«\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Mit zu überwachenden Datei- und Verzeichnisnamen aufrufen!\n"
@@ -448,6 +432,7 @@
 #, c-format
 msgid "FATAL: can not allocate %u * %d elements (number too large) at %s:%d.\n"
 msgstr ""
+"FATAL: konnte nicht %u * %d Elemente speichern (Anzahl zu hoch) bei %s:%d.\n"
 
 #: src/doodle/help.c:51
 #, c-format
@@ -468,6 +453,15 @@
 "Argumente, die für lange Optionen notwendig sind, sind ebenfalls für die\n"
 "Optionen in Kurzform notwendig.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "libextractor-Standarderweiterungen werden geladen.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "libextractor-Erweiterungen werden geladen: »%s'\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -624,5 +618,11 @@
 msgid "File '%s' is not a regular file. Removing file from index.\n"
 msgstr "Datei »%s« ist keine reguläre Datei.  Datei wird vom Index entfernt.\n"
 
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Aufruf von »%s« fehlgeschlagen: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "libextractor-Erweiterungen konnten nicht geladen werden. Abbruch.\n"
+
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "Aufruf von »%s« für Datei »%s« fehlgeschlagen: %s\n"

Modified: doodle/po/eu.po
===================================================================
--- doodle/po/eu.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/eu.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.3.0\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2004-09-09 00:23-0500\n"
 "Last-Translator: Mikel Olasagasti <address@hidden>\n"
 "Language-Team: Basque <address@hidden>\n"
@@ -33,7 +33,7 @@
 "erabili textu-lau extraktore generikoa hizkuntzaren LANG 2 letra "
 "kodearentzat (datubasea sortzerakoan erabiltzeko)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "erabili FITXATEGI-IZENA kokapena doodle datubasea gordetzeko"
 
@@ -46,7 +46,7 @@
 msgstr ""
 "gehitu fitxategi-izena hitz-gako zerrendara (erabili datubasea sortzerakoan)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "laguntza orri hau inprimatu"
 
@@ -58,7 +58,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "ezberdindu letra-larriak (erabili bilatzerakoan)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "kargatu LIBRARY deituriko plugin-a"
 
@@ -66,11 +66,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr ""
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "ez kargatu lehenetsitako extraktorearen plugin sorta"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr ""
 
@@ -78,15 +78,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "inprimatu atze-zuahitza (debug-atzeko)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr ""
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "bertsio zenbakia inprimatu"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr ""
 
@@ -103,9 +103,8 @@
 msgid "Pruned: %s\n"
 msgstr ""
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, fuzzy, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "'%s'-i deiak huts egin du '%s' fitxategiarentzat: %s\n"
@@ -115,118 +114,103 @@
 msgid "Processing '%s'\n"
 msgstr "'%s' prezesatzen\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Ez da datubaserik espezifikatu.  Abortatzen.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
 "(option '%s').\n"
 msgstr ""
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
-#, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Lehenetsitako libextractor plugin-ak kargatzen.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Libextraktor-en plugin-ak kargatzen: '%s'\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "Huts egin da libextractor-en plugin-ak kargatzen. Abortatzen.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, fuzzy, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "Ezin izan da '%s' ireki: %s\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "'%s' indexatzen\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Hitz-gakoa '%s' fitxategia aurkitzeko:\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Ez da datubaserik espezifikatu. Abortatzen.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, fuzzy, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "'%s'-i deiak huts egin du '%s' fitxategiarentzat: %s\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "'%s' bilatzen:\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
 "properly.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tEz da aurkitu!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Zenbaki bat pasa behar diozu '%s' aukerari.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "'%s' eta '%s' aukerak ezin dira batera erabili!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "%s bertsioa\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Erabili '--help' aukera zerrenda bat erakusteko.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr ""
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr ""
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 #, fuzzy
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
@@ -235,102 +219,102 @@
 "erabili textu-lau extraktore generikoa hizkuntzaren LANG 2 letra "
 "kodearentzat (datubasea sortzerakoan erabiltzeko)"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr ""
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 #, fuzzy
 msgid "add the filename to the list of keywords"
 msgstr ""
 "gehitu fitxategi-izena hitz-gako zerrendara (erabili datubasea sortzerakoan)"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr ""
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr ""
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr ""
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr ""
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, fuzzy, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "'fstat'-i deiak huts egin du: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, fuzzy, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "'%s' direktoriora sarrera debekatua izan da.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, fuzzy, c-format
 msgid "Processing file '%s'.\n"
 msgstr "'%s' prezesatzen\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr ""
+
+#: src/doodle/doodled.c:638
 #, fuzzy
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Huts egin da libextractor-en plugin-ak kargatzen. Abortatzen.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr ""
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, fuzzy, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "'%s' bilatzen:\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr ""
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 #, fuzzy
 msgid "Unloading libextractor plugins.\n"
 msgstr "Libextraktor-en plugin-ak kargatzen: '%s'\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr ""
@@ -450,6 +434,15 @@
 "Arguments mandatory for long options are also mandatory for short options.\n"
 msgstr ""
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Lehenetsitako libextractor plugin-ak kargatzen.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Libextraktor-en plugin-ak kargatzen: '%s'\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -597,6 +590,13 @@
 "�Fitxategia�indizetik�ezabatzen.\n"
 
 #, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Huts egin da '%s' irekitzen: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "Huts egin da libextractor-en plugin-ak kargatzen. Abortatzen.\n"
+
+#, fuzzy
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "'%s'-i deiak huts egin du '%s' fitxategiarentzat: %s\n"
 
@@ -609,6 +609,3 @@
 
 #~ msgid "Reading complete database into memory.\n"
 #~ msgstr "Datubase guztia memoritik irakurtzen.\n"
-
-#~ msgid "Failed to open '%s': %s\n"
-#~ msgstr "Huts egin da '%s' irekitzen: %s\n"

Modified: doodle/po/ga.po
===================================================================
--- doodle/po/ga.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/ga.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.6.3\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2005-09-01 10:11-0500\n"
 "Last-Translator: Kevin Patrick Scannell <address@hidden>\n"
 "Language-Team: Irish <address@hidden>\n"
@@ -32,7 +32,7 @@
 "�s�id an t-asbhainteoir ginear�lta t�acs le haghaidh na teanga leis an ch�d "
 "LANG de r�ir ISO-639-1 (�s�id agus an bunachar sonra� � th�g�il)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "s�bh�il an bunachar sonra� doodle sa chomhad FILENAME"
 
@@ -48,7 +48,7 @@
 "cuir an t-ainm comhaid leis an liosta eochairfhocal (�s�id agus an bunachar "
 "sonra� � th�g�il)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "Priont�il an leathanach cabhrach seo"
 
@@ -61,7 +61,7 @@
 msgstr ""
 "d�an neamhshuim ar cheannlitreacha vs. litreacha beaga (agus ag cuardach)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "luchtaigh breise�n asbhainteora agus ainm LIBRARY air"
 
@@ -69,11 +69,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "log�il eochairfhocail i gCOMHAD"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "n� luchtaigh na breise�in asbhainteora r�amhshocraithe"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "socraigh an t-uasmh�id cuimhne mar M�ID MB (don gh�agch�ras)."
 
@@ -81,15 +81,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "taispe�in an g�agch�ras iarmh�re (le haghaidh d�fhabhtaithe)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "f�g na conair� tugtha as le linn t�g�il n� cuardach"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "taispe�in an leagan"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "b� foclach"
 
@@ -106,9 +106,8 @@
 msgid "Pruned: %s\n"
 msgstr "Bearrtha: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Theip ar ghlao '%s' do chomhad '%s': %s\n"
@@ -118,12 +117,12 @@
 msgid "Processing '%s'\n"
 msgstr "'%s' � phr�ise�il\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "N�l aon bhunachar sonra� tugtha.  Ag tobscor.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -132,52 +131,37 @@
 "N�l '%s' ina ainm comhaid bail� (t� idirstad ann) le haghaidh t�g�la (rogha "
 "'%s').\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Breise�in asbhainteora r�amhshocraithe � lucht�.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Breise�in libextractor � lucht�: '%s'\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "Theip ar lucht� breise�n asbhainteora.  Ag tobscor.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "N�orbh fh�idir '%s' a oscailt chun log�il: %s.\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "'%s' � inn�acs�\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Eochairfhocail do chomhad comhoiri�naithe '%s':\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "N�l aon bhunachar sonra� ceaptha.  Ag tobscor.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Theip ar ghlao '%s' do chomhad '%s': %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Ag d�anamh cuardach ar '%s':\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
@@ -185,7 +169,7 @@
 "Rabhadh: t� an teaghr�n cuardaigh n�os faide n� %d carachtar, n� "
 "fheidhmeoidh an cuardach.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -194,49 +178,49 @@
 "Rabhadh: t� an teaghr�n cuardaigh n�os faide n� %d carachtar, is f�idir nach "
 "bhfeidhmeoidh an cuardach go ceart.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tAr iarraidh!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "N� fol�ir rogha uimhri�il leis an rogha '%s'.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "n� cheada�tear na roghanna '%s' agus '%s' le ch�ile!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Is r�-ard an t-uasmh�id cuimhne tugtha.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Leagan %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Bain �s�id as '--help' le haghaidh n�os m� roghanna.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr ""
 "Cuir ar si�l le hainmneacha comhaid n� comhadlanna chun inn�acs a dh�anamh!\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Cuir ar si�l le focail chun cuardach a dh�anamh!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
@@ -244,98 +228,98 @@
 "�s�id an t-asbhainteoir ginear�lta t�acs le haghaidh na teanga leis an ch�d "
 "LANG de r�ir ISO-639-1"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr "rith sa mh�d d�fhabhtaithe, n� rith mar dheamhan"
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 msgid "add the filename to the list of keywords"
 msgstr "cuir an t-ainm comhaid leis an liosta eochairfhocal"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr "�s�id an tALGARTAM haise�la tugtha"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr "�s�id logchomhad darbh ainm COMHAD"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodled [ROGHANNA] [COMHAID]"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr "Inn�acsaigh comhaid go lean�nach sa ch�lra."
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr "Crutha�odh sn�ithe le haghaidh pr�ise�la teagmhas.\n"
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Theip ar ghlao '%s': %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "D�an monat�ireacht ar athruithe sa chomhadlann '%s'.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Comhad '%s' � phr�ise�il.\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr "Crutha�odh an pr�omhshn�ithe oibre.\n"
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr "Theip ar thos� an tsn�ithe le haghaidh pr�ise�la teagmhas.\n"
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr "Ag cl�r� le FAM le haghaidh teagmhas an ch�rais comhad.\n"
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr "Tos� doodled curtha i gcr�ch.  Ag feitheamh le teagmhais FAM anois.\n"
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr "Earr�id le linn d�nasctha � fam.\n"
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Theip ar nascadh le fam.  Ag tobscor.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr "Theip ar chruth� an tsn�ithe oibre: %s"
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr "doodled � stopadh.\n"
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr "N�l aon chomhad ann ar a nd�anfadh doodled monat�ireacht.  Ag scor.\n"
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Monat�ir fam '%s' � cheal�.\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr "Earr�id le linn d�nasctha � fam.\n"
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr "Breise�in libextractor � nd�lucht�.\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Cuir ar si�l le hainmneacha comhaid n� comhadlanna le monat�iri�!\n"
@@ -458,6 +442,15 @@
 "Is riachtanach le rogha ghearr aon arg�int at� riachtanach leis an rogha "
 "fhada.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Breise�in asbhainteora r�amhshocraithe � lucht�.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Breise�in libextractor � lucht�: '%s'\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -610,5 +603,12 @@
 msgid "File '%s' is not a regular file. Removing file from index.\n"
 msgstr "N�l '%s' ina ghn�thchomhad.  � scriosadh �n inn�acs.\n"
 
+#, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Theip ar ghlao '%s': %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "Theip ar lucht� breise�n asbhainteora.  Ag tobscor.\n"
+
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "Theip ar ghlao '%s' do chomhad '%s': %s\n"

Modified: doodle/po/it.po
===================================================================
--- doodle/po/it.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/it.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.6.3\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2005-08-16 12:54+0100\n"
 "Last-Translator: Marco Colombo <address@hidden>\n"
 "Language-Team: Italian <address@hidden>\n"
@@ -33,7 +33,7 @@
 "usa il generico estrattore di testo semplice per il linguaggio con il codice "
 "LANG a 2 lettere (usato alla creazione del database)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "usa la posizione NOMEFILE per salvare il database di doodle"
 
@@ -47,7 +47,7 @@
 "aggiunge il nome del file alla lista di parole chiavi (usato alla creazione "
 "del database)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "mostra questa pagina di aiuto"
 
@@ -59,7 +59,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "non considera maiuscole/minuscole nella ricerca"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "carica un plugin di estrattore chiamato LIBRERIA"
 
@@ -67,11 +67,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "fa il log delle parole chiavi sul file chiamato NOMEFILE"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "non carica l'insieme predefinito dei plugin di estrattore"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "imposta il limite di memoria a DIM MB (per l'albero)."
 
@@ -79,15 +79,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "stampa l'albero dei suffissi (usalo per debugging)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "esclude i percorsi indicati dalla creazione o dalla ricerca"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "mostra il numero di versione"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "modo prolisso"
 
@@ -104,9 +104,8 @@
 msgid "Pruned: %s\n"
 msgstr "Rimosso: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Chiamata a '%s' per il file '%s' non riuscita: %s\n"
@@ -116,12 +115,12 @@
 msgid "Processing '%s'\n"
 msgstr "Analisi di '%s' in corso\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Nessun database specificato. Iterrotto.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -130,53 +129,38 @@
 "'%s' non � un nome di database valido (contiene un ':') per la creazione del "
 "database (opzione '%s').\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Caricamento dei plugin di libextractor predefiniti.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Caricamento dei plugin di libextractor: '%s'\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "Caricamento dei plugin di libextractor non riuscito. Interrotto.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "Impossibile aprire '%s' per il logging: %s.\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "Indicizzazione di '%s' in corso\n"
 
 # FIXME
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Parole chiavi per il file '%s':\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Nessun database specificato. Interrotto.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Chiamata a '%s' per il file '%s' non riuscita: %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Ricerca di '%s':\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
@@ -184,7 +168,7 @@
 "Attenzione: la stringa di ricerca � pi� lunga di %d caratteri, la ricerca "
 "non funzioner�.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -193,49 +177,49 @@
 "Attenzione: la stringa di ricerca � pi� lunga di %d caratteri, la ricerca "
 "potrebbe non funzionare correttamente.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tNon trovato!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Bisogna indicare un numero con l'opzione '%s'.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "Le opzioni '%s' e '%s' non possono essere usate assieme!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Il limite di memoria specificato � troppo alto.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Versione %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Usare '--help' per mostrare una lista di opzioni.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Usa nomi di file o directory per indicizzare!\n"
 
 # FIXME
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Indicare i termini da cercare!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
@@ -243,99 +227,99 @@
 "usa il generico estrattore di testo semplice per il linguaggio con il codice "
 "LANG a 2 lettere (usato alla creazione del database)"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr "esecuzione in modalit� di debug, non come demone"
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 msgid "add the filename to the list of keywords"
 msgstr "aggiunge il nome del file alla lista di parole chiavi"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr "calcola l'hash usando l'ALGORITMO indicato"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr "registra l'attivit� sul file chiamato NOMEFILE"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodled [OPZIONI] [NOMIFILE]"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr "Indicizza continuamente i file in background."
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr "Creato il thread per processare gli eventi.\n"
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Chiamata a %s non riuscita: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "La directory '%s' verr� osservata per i cambiamenti.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Analisi del file '%s' in corso.\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr "Thread di lavoro principale creato.\n"
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr "Impossibile creare il thread per processare gli eventi.\n"
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr "Registrazione con FAM per gli eventi del file system.\n"
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr "Avvio di doodled completato. In attesa di eventi FAM.\n"
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr "Errore durante la disconnessione da FAM.\n"
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Connessione a FAM non riuscita. Interrotto.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr "Creazione del thread di lavoro non riuscita: %s"
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr "Arresto di doodled in corso.\n"
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr "Non esiste nessun file osservabile da doodled. Uscita.\n"
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Cancellazione dell'osservatore di FAM '%s' in corso.\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr "Errore durante la disconnessione da FAM.\n"
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr "Scaricamento dei plugin di libextractor dalla memoria.\n"
 
 # FIXME
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Chiama con nomi di file o directory da osservare!\n"
@@ -459,6 +443,15 @@
 "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
 "corte.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Caricamento dei plugin di libextractor predefiniti.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Caricamento dei plugin di libextractor: '%s'\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -610,5 +603,12 @@
 msgid "File '%s' is not a regular file. Removing file from index.\n"
 msgstr "Il file '%s' non � un file regolare. File rimosso dall'indice.\n"
 
+#, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Chiamata a %s non riuscita: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "Caricamento dei plugin di libextractor non riuscito. Interrotto.\n"
+
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "Chiamata a '%s' per il file '%s' non riuscita: %s\n"

Modified: doodle/po/nl.po
===================================================================
--- doodle/po/nl.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/nl.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.4.0\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2004-10-03 17:26+0200\n"
 "Last-Translator:  Elros Cyriatan <address@hidden>\n"
 "Language-Team: Dutch <address@hidden>\n"
@@ -30,7 +30,7 @@
 "language code LANG (use when building database)"
 msgstr ""
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "locatie BESTANDSNAAM gebruiken om doodle-gegevensbank op te slaan"
 
@@ -44,7 +44,7 @@
 "de bestandsnaam toevoegen aan de lijst van sleutelwoorden (gebruik bij "
 "bouwen van gegevensbank)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "deze hulppagina weergeven"
 
@@ -56,7 +56,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "hoofdlettergevoelig zijn (gebruiken bij zoeken)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr ""
 
@@ -64,11 +64,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr ""
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr ""
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr ""
 
@@ -76,15 +76,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "achtervoegselboom weergeven (voor debuggen)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr ""
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "versienummer weergeven"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "breedsprakig zijn"
 
@@ -101,9 +101,8 @@
 msgid "Pruned: %s\n"
 msgstr ""
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Aanroep van '%s' voor bestand '%s' mislukt: %s\n"
@@ -113,218 +112,203 @@
 msgid "Processing '%s'\n"
 msgstr "Bezig met verwerken '%s'\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Geen gegevensbank opgegeven.  Afbreken.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
 "(option '%s').\n"
 msgstr ""
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
-#, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr ""
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr ""
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr ""
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, fuzzy, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "Kon '%s' niet openen: %s\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "Bezig met indexeren '%s'\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Sleutelwoorden voor overeenkomend bestand '%s':\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Geen gegevensbank opgegeven. Afbreken.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, fuzzy, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Aanroep van '%s' voor bestand '%s' mislukt: %s\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Bezig met zoeken naar '%s':\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
 "properly.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tNiet gevonden!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "De '%s' optie vereist een getal.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "De opties '%s' en '%s' kunnen niet tegelijk worden gebruikt!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr ""
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Versie %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Gebruik '--help' voor een lijst met opties.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Geef bestandsnamen of mappen op om te indexeren!\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Geef zoektermen op om naar te zoeken!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
 msgstr ""
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr ""
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 #, fuzzy
 msgid "add the filename to the list of keywords"
 msgstr ""
 "de bestandsnaam toevoegen aan de lijst van sleutelwoorden (gebruik bij "
 "bouwen van gegevensbank)"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr ""
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr ""
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr ""
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr ""
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, fuzzy, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Aanroep van 'fstat' mislukt: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, fuzzy, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "Toegang tot map '%s' werd geweigerd.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, fuzzy, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Bezig met verwerken '%s'\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr ""
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr ""
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, fuzzy, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Bezig met zoeken naar '%s':\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr ""
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, fuzzy, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Geef bestandsnamen of mappen op om te indexeren!\n"
@@ -446,6 +430,15 @@
 "Argumenten die verplicht zijn voor lange opties zijn dat ook voor korte "
 "opties.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr ""
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr ""
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -594,6 +587,10 @@
 "Bestand '%s' is geen gewoon bestand. Het wordt verwijderd uit de index.\n"
 
 #, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Aanroep van 'fstat' mislukt: %s\n"
+
+#, fuzzy
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "Aanroep van '%s' voor bestand '%s' mislukt: %s\n"
 

Modified: doodle/po/sq.po
===================================================================
--- doodle/po/sq.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/sq.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.5.0\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2004-10-16 15:54+0200\n"
 "Last-Translator: Laurent Dhima <address@hidden>\n"
 "Language-Team: Albanian <address@hidden>\n"
@@ -33,7 +33,7 @@
 "përdor ekstraktues të përgjithshëm në tekst të thjeshtë për gjuhët me kod 2-"
 "gërmash gjuhe LANG (përdor kur krijohen databazat)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "përdor pozicionin EMRIFILE për të magazinuar databazën ndihmëse"
 
@@ -46,7 +46,7 @@
 msgstr ""
 "shto emrin e file tek lista e fjalëkyçeve (përdorur kur krijohet databaza)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "printo këtë faqe ndihme"
 
@@ -59,7 +59,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "mos vër re ndryshimin gërma të mëdha/vogla (përdoret gjatë kërkimit)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "ngarkon një LIBRARI me emrin e plugin të nxjerrësit"
 
@@ -67,11 +67,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "regjistron fjalëkyçet tek një file me emrin EMRIFILE"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "mos ngarko rregullimin e prezgjedhur të plugins të nxjerrësit"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "cakton kufirin e memorjes në MADHЁSIA MB (për degëzimin)."
 
@@ -79,15 +79,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "printo degëzimin e sufiksit (për debug)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "përjashton pozicionet e dhëna nga gjenerimi apo kërkimi"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "printo numrin e versionit"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "jeni shprehës"
 
@@ -104,9 +104,8 @@
 msgid "Pruned: %s\n"
 msgstr "Pastruar: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Thirrja tek '%s' për file '%s' dështoi: %s\n"
@@ -116,12 +115,12 @@
 msgid "Processing '%s'\n"
 msgstr "Duke proçesuar '%s'\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Nuk është përcaktuar asnjë databazë.  Abortim.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -130,52 +129,37 @@
 "'%s' është emër i pavlefshëm databaze (ka një kollonë) për krijimin e "
 "databazës (opcioni '%s').\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Duke ngarkuar rregullimin e prezgjedhur të plugins të libextrator.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Duke ngarkuar plugins e libextractor: '%s'\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "Ngarkimi i çdo plugins të libextractor dështoi. Abortim.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "E pamundur hapja e '%s' për futje: %s.\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "Duke indeksuar '%s'\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Fjalë kyçe për file korrispondues '%s':\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Nuk është përcaktuar asnjë databazë. Abortim.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Thirrja tek '%s' për file '%s' dështoi: %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Duke kërkuar për '%s':\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
@@ -183,7 +167,7 @@
 "Kujdes: fraza e kërkimit është më e gjatë se %d gërma, kërkimi nuk do të "
 "funksionojë.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -192,48 +176,48 @@
 "Kujdes: fraza e kërkimit është më e gjatë se %d gërma, kërkimi ndoshta mund "
 "të mos funksionojë si duhet.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tNuk u gjet!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Duhet t'i kaloni një numër opcionit '%s'.\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "Opcionet '%s' dhe '%s' nuk mund të përdoren së bashku!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Limiti i caktuar i memorjes është tepër i lartë.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Versioni %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Përdor '--help' për të shikuar listën e opcioneve.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Thirr me emrat e file apo directories për indeksim!\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Thirr me termet e kërkesës për të cilët duhet kërkuar!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 #, fuzzy
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
@@ -242,106 +226,106 @@
 "përdor ekstraktues të përgjithshëm në tekst të thjeshtë për gjuhët me kod 2-"
 "gërmash gjuhe LANG (përdor kur krijohen databazat)"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr ""
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 #, fuzzy
 msgid "add the filename to the list of keywords"
 msgstr ""
 "shto emrin e file tek lista e fjalëkyçeve (përdorur kur krijohet databaza)"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 #, fuzzy
 msgid "compute hash using the given ALGORITHM"
 msgstr ""
 "llogarit hash duke përdorur ALGORITMIN e dhënë (aktualisht sha1 ose md5)"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 #, fuzzy
 msgid "log activity to a file named FILENAME"
 msgstr "regjistron fjalëkyçet tek një file me emrin EMRIFILE"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 #, fuzzy
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodle [OPCIONET] ([EMRATEFILE]*|[FJALËKYÇE]*)"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr ""
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, fuzzy, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Thirrja e 'fstat' dështoi: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, fuzzy, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "Ndalohet hyrja tek directory '%s'.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, fuzzy, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Duke proçesuar '%s'\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr ""
+
+#: src/doodle/doodled.c:638
 #, fuzzy
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Ngarkimi i çdo plugins të libextractor dështoi. Abortim.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr ""
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, fuzzy, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Duke kërkuar për '%s':\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr ""
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 #, fuzzy
 msgid "Unloading libextractor plugins.\n"
 msgstr "Duke ngarkuar plugins e libextractor: '%s'\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, fuzzy, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Thirr me emrat e file apo directories për indeksim!\n"
@@ -463,6 +447,15 @@
 "Argumentet detyrues për opcionet e gjata janë gjithashtu detyruese për "
 "opcionet e shkurtra.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Duke ngarkuar rregullimin e prezgjedhur të plugins të libextrator.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Duke ngarkuar plugins e libextractor: '%s'\n"
+
 #: src/doodle/tree.c:195
 #, fuzzy, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -611,6 +604,13 @@
 msgstr "File '%s' nuk është një file i rregullt. File po hiqet nga treguesi.\n"
 
 #, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Thirrja e 'fstat' dështoi: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "Ngarkimi i çdo plugins të libextractor dështoi. Abortim.\n"
+
+#, fuzzy
 #~ msgid "Call to '%s' on file '%s' failed: %s\n"
 #~ msgstr "Thirrja tek '%s' për file '%s' dështoi: %s\n"
 

Modified: doodle/po/sv.po
===================================================================
--- doodle/po/sv.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/sv.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.6.4\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2005-12-29 08:50+0100\n"
 "Last-Translator: Daniel Nylander <address@hidden>\n"
 "Language-Team: Swedish <address@hidden>\n"
@@ -31,7 +31,7 @@
 "använd den generiska klartextuppackaren för språket med 2-bokstavskoden i "
 "LANG (använd vid bygge av databas)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "använd FILENAME för att lagra doodles databas"
 
@@ -44,7 +44,7 @@
 msgstr ""
 "lägg till filnamnet till listan av nyckelord (använd vid bygge av databas)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "skriv ut denna hjälpsida"
 
@@ -56,7 +56,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "var shift-känslig (använd vid sökning)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "läs in instick för uppackning med namnet LIBRARY"
 
@@ -64,11 +64,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "logga nyckelord till en fil kallad FILENAME"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "läs inte in förvald uppsättning av uppackningsinstick"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "sätt minnesgräns till SIZE MB (för trädet)."
 
@@ -76,15 +76,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "skriv ut suffixträd (för felsökning)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "exkludera angivna sökvägar från bygge eller sökning"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "skriv ut versionsnumret"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "var informativ"
 
@@ -102,9 +102,8 @@
 msgid "Pruned: %s\n"
 msgstr "Reducerad: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Anrop till \"%s\" för fil \"%s\" misslyckades: %s\n"
@@ -114,12 +113,12 @@
 msgid "Processing '%s'\n"
 msgstr "Behandlar \"%s\"\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Ingen databas angiven. Avbryter.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -128,59 +127,44 @@
 "\"%s\" är ett ogiltigt databasfilnamn (har ett kolon) för att bygga databas "
 "(flagga \"%s\").\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Läser in förvald uppsättning av libextractor-instick.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Läser in libextractor-instick: \"%s\"\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr "Misslyckades att läsa in något libextractor-instick. Avbryter.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "Kunde inte öppna \"%s\" för loggning: %s.\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "Indexerar \"%s\"\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Nyckelord för matchande fil \"%s\":\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Ingen databas angiven. Avbryter.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Anrop till \"%s\" för fil \"%s\" misslyckades: %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Söker efter \"%s\":\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
 msgstr ""
 "Varning: söksträng är längre än %d tecken, sökning kommer inte fungera.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -189,48 +173,48 @@
 "Varning: söksträng är längre än %d tecken, sökning kanske inte fungerar "
 "korrekt.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tEj funnen!\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "Flaggorna \"%s\" och \"%s\" kan inte användas tillsammans!\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Angiven minnesgräns är för hög.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Version %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr "Använd \"--help\" för att få en lista på flaggor.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Anropa med filnamn eller kataloger att indexera!\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "Anropa med söktermer att söka efter!\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
@@ -238,100 +222,100 @@
 "använd den generiska klartextuppackaren för språket med 2-bokstavskoden i "
 "LANG"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr "kör i felsökningsläge, inte som demon"
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 msgid "add the filename to the list of keywords"
 msgstr "lägg till filnamnet till listan för nyckelord"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr "beräkna hash med angiven ALGORITHM"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr "logga aktivitet till en fil kallad FILENAME"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodled [FLAGGOR] [FILNAMN]"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr "Fortsätt indexera filer i bakgrunden."
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr "Tråd för bearbetning av händelser skapad.\n"
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Anrop till \"%s\" misslyckades: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "Kommer att övervaka katalog \"%s\" efter ändringar.\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Behandlar fil \"%s\".\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr "Huvudarbetstråd skapad.\n"
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr "Misslyckades att starta tråd för händelsebearbetning.\n"
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr "Registrerar mot FAM för filsystemhändelser.\n"
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr "uppstart av doodled klar. Väntar nu på FAM-händelser.\n"
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr "Fel vid nedkoppling från fam.\n"
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Misslyckades att ansluta till fam.  Avbryter.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr "Misslyckades att skapa arbetstråd: %s"
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr "doodled stängs ner.\n"
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 "Inga filer existerar som doodled skulle övervaka efter ändringar.  "
 "Avslutar.\n"
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Avbryter fam-övervakning \"%s\".\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr "Fel vid nedkoppling från fam.\n"
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr "Läser ur libextractor-instick.\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "Anropa med filnamn eller kataloger för övervakning!\n"
@@ -454,6 +438,15 @@
 "Argument som är obligatoriska för långa flaggor är också obligatoriska för "
 "korta flaggor.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Läser in förvald uppsättning av libextractor-instick.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Läser in libextractor-instick: \"%s\"\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -603,3 +596,10 @@
 #, c-format
 msgid "File '%s' is not a regular file. Removing file from index.\n"
 msgstr "Fil \"%s\" är inte en vanlig fil. Tar bort fil från index.\n"
+
+#, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Anrop till \"%s\" misslyckades: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr "Misslyckades att läsa in något libextractor-instick. Avbryter.\n"

Modified: doodle/po/vi.po
===================================================================
--- doodle/po/vi.po     2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/po/vi.po     2006-05-02 23:49:01 UTC (rev 2715)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: doodle 0.6.4\n"
 "Report-Msgid-Bugs-To: https://gnunet.org/mantis/ or address@hidden"
-"POT-Creation-Date: 2006-03-11 13:42-0800\n"
+"POT-Creation-Date: 2006-05-02 17:27-0700\n"
 "PO-Revision-Date: 2005-12-19 17:03+1030\n"
 "Last-Translator: Clytie Siddall <address@hidden>\n"
 "Language-Team: Vietnamese <address@hidden>\n"
@@ -33,7 +33,7 @@
 "sử dụng trình rút văn bản thuần chung chung cho ngôn ngữ có mã ngôn ngữ dạng "
 "hai chữ là LANG (sử dụng khi xây dụng cơ sở dữ liệu)"
 
-#: src/doodle/doodle.c:73 src/doodle/doodled.c:63
+#: src/doodle/doodle.c:73 src/doodle/doodled.c:64
 msgid "use location FILENAME to store doodle database"
 msgstr "gán địa điểm TÊN TẬP TIN là nơi cần cất giữ cơ sở dữ liệu của doodle"
 
@@ -46,7 +46,7 @@
 msgstr ""
 "thêm tên tập tin vào danh sách từ khóa (sử dụng khi xây dụng cơ sở dữ liệu)"
 
-#: src/doodle/doodle.c:79 src/doodle/doodled.c:69
+#: src/doodle/doodle.c:79 src/doodle/doodled.c:70
 msgid "print this help page"
 msgstr "in ra trang trợ giúp này"
 
@@ -58,7 +58,7 @@
 msgid "be case-insensitive (use when searching)"
 msgstr "bỏ qua chữ hoa/thường (sử dụng khi tìm kiếm)"
 
-#: src/doodle/doodle.c:85 src/doodle/doodled.c:73
+#: src/doodle/doodle.c:85 src/doodle/doodled.c:74
 msgid "load an extractor plugin named LIBRARY"
 msgstr "tải bộ cầm phít rút có tên THƯ VIÊN"
 
@@ -66,11 +66,11 @@
 msgid "log keywords to a file named FILENAME"
 msgstr "ghi lưu các từ khóa vào tập tin có tên TÊN TẬP TIN"
 
-#: src/doodle/doodle.c:89 src/doodle/doodled.c:77
+#: src/doodle/doodle.c:89 src/doodle/doodled.c:78
 msgid "do not load default set of extractor plugins"
 msgstr "đừng tải tập bộ cầm phít rút mặc định"
 
-#: src/doodle/doodle.c:91 src/doodle/doodled.c:79
+#: src/doodle/doodle.c:91 src/doodle/doodled.c:80
 msgid "set the memory limit to SIZE MB (for the tree)."
 msgstr "lập giới hạn bộ nhớ thành CỠ MB (cho cây)."
 
@@ -78,15 +78,15 @@
 msgid "print suffix tree (for debugging)"
 msgstr "in ra cây hậu tố (để gỡ lỗi)"
 
-#: src/doodle/doodle.c:95 src/doodle/doodled.c:81
+#: src/doodle/doodle.c:95 src/doodle/doodled.c:82
 msgid "exclude given paths from building or searching"
 msgstr "loại trừ những đường dẫn đã cho ra việc xây dụng hay tìm kiếm"
 
-#: src/doodle/doodle.c:97 src/doodle/doodled.c:83
+#: src/doodle/doodle.c:97 src/doodle/doodled.c:84
 msgid "print the version number"
 msgstr "in ra số phiên bản"
 
-#: src/doodle/doodle.c:99 src/doodle/doodled.c:85
+#: src/doodle/doodle.c:99 src/doodle/doodled.c:86
 msgid "be verbose"
 msgstr "xuất chi tiết"
 
@@ -103,9 +103,8 @@
 msgid "Pruned: %s\n"
 msgstr "Đã xén bớt: %s\n"
 
-#: src/doodle/doodle.c:191 src/doodle/doodled.c:330 src/doodle/doodled.c:347
-#: src/doodle/doodled.c:398 src/doodle/doodled.c:715 src/doodle/files.c:79
-#: src/doodle/tree.c:2270
+#: src/doodle/doodle.c:191 src/doodle/doodled.c:333 src/doodle/doodled.c:350
+#: src/doodle/doodled.c:396 src/doodle/files.c:79 src/doodle/tree.c:2270
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s\n"
 msgstr "Việc gọi « %s » cho tập tin « %s » bị lỗi: %s\n"
@@ -115,12 +114,12 @@
 msgid "Processing '%s'\n"
 msgstr "Đang xử lý « %s »\n"
 
-#: src/doodle/doodle.c:222 src/doodle/doodled.c:600
+#: src/doodle/doodle.c:222 src/doodle/doodled.c:601
 #, c-format
 msgid "No database specified.  Aborting.\n"
 msgstr "Chưa ghi rõ cơ sở dữ liệu nên hủy bỏ.\n"
 
-#: src/doodle/doodle.c:227 src/doodle/doodled.c:607
+#: src/doodle/doodle.c:227 src/doodle/doodled.c:608
 #, c-format
 msgid ""
 "'%s' is an invalid database filename (has a colon) for building database "
@@ -129,53 +128,37 @@
 "« %s » là tên tập tin cơ sở dữ liệu không hợp lệ (có dấu hai chấm) để xây "
 "dụng cơ sở dữ liệu (tùy chọn « %s »).\n"
 
-#: src/doodle/doodle.c:253 src/doodle/doodled.c:629
+#: src/doodle/doodle.c:259 src/doodle/doodled.c:590
 #, c-format
-msgid "Loading default set of libextractor plugins.\n"
-msgstr "Đang tải tập bộ cầm phít libextractor (rút thư viên) mặc định.\n"
-
-#: src/doodle/doodle.c:259 src/doodle/doodled.c:636
-#, c-format
-msgid "Loading libextractor plugins: '%s'\n"
-msgstr "Đang tải các bộ cầm phít libextractor (rút thư viên): « %s »\n"
-
-#: src/doodle/doodle.c:265 src/doodle/doodled.c:644
-#, c-format
-msgid "Failed to load any libextractor plugins. Aborting.\n"
-msgstr ""
-"Việc tải bộ cầm phít libextractor (rút thư viên) nào bị lỗi nên hủy bỏ.\n"
-
-#: src/doodle/doodle.c:273 src/doodle/doodled.c:589
-#, c-format
 msgid "Could not open '%s' for logging: %s.\n"
 msgstr "Không mở được « %s » để ghi lưu: %s.\n"
 
-#: src/doodle/doodle.c:283 src/doodle/doodled.c:487
+#: src/doodle/doodle.c:269 src/doodle/doodled.c:483
 #, c-format
 msgid "Indexing '%s'\n"
 msgstr "Đang chỉ mục « %s »\n"
 
-#: src/doodle/doodle.c:347
+#: src/doodle/doodle.c:333
 #, c-format
 msgid "Keywords for matching file '%s':\n"
 msgstr "Từ khóa cần khớp với tập tin « %s »:\n"
 
-#: src/doodle/doodle.c:374 src/doodle/doodle.c:413
+#: src/doodle/doodle.c:360 src/doodle/doodle.c:399
 #, c-format
 msgid "No database specified. Aborting.\n"
 msgstr "Chưa ghi rõ cơ sở dữ liệu nên hủy bỏ.\n"
 
-#: src/doodle/doodle.c:379 src/doodle/doodle.c:418
+#: src/doodle/doodle.c:365 src/doodle/doodle.c:404
 #, c-format
 msgid "Call to '%s' for file '%s' failed: %s.\n"
 msgstr "Việc gọi « %s » cho tập tin « %s » bị lỗi: %s.\n"
 
-#: src/doodle/doodle.c:453
+#: src/doodle/doodle.c:439
 #, c-format
 msgid "Searching for '%s':\n"
 msgstr "Đang tìm kiếm « %s »:\n"
 
-#: src/doodle/doodle.c:456
+#: src/doodle/doodle.c:442
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search will not work.\n"
@@ -183,7 +166,7 @@
 "Cảnh báo: chuỗi tìm kiếm dài hơn %d ký tự nên việc tìm kiệm không hoạt "
 "động.\n"
 
-#: src/doodle/doodle.c:461
+#: src/doodle/doodle.c:447
 #, c-format
 msgid ""
 "Warning: search string is longer than %d characters, search may not work "
@@ -192,49 +175,49 @@
 "Cảnh báo: chuỗi tìm kiếm dài hơn %d ký tự nên việc tìm kiếm có lẽ không hoạt "
 "động.\n"
 
-#: src/doodle/doodle.c:473 src/doodle/doodle.c:483
+#: src/doodle/doodle.c:459 src/doodle/doodle.c:469
 #, c-format
 msgid "\tNot found!\n"
 msgstr "\tKhông tìm thấy.\n"
 
-#: src/doodle/doodle.c:557 src/doodle/doodle.c:619 src/doodle/doodled.c:902
+#: src/doodle/doodle.c:543 src/doodle/doodle.c:605 src/doodle/doodled.c:867
 #, c-format
 msgid "You must pass a number to the '%s' option.\n"
 msgstr "Phải gởi một con số vào tùy chọn « %s ».\n"
 
-#: src/doodle/doodle.c:562 src/doodle/doodle.c:573 src/doodle/doodle.c:578
-#: src/doodle/doodle.c:583 src/doodle/doodle.c:606 src/doodle/doodle.c:635
+#: src/doodle/doodle.c:548 src/doodle/doodle.c:559 src/doodle/doodle.c:564
+#: src/doodle/doodle.c:569 src/doodle/doodle.c:592 src/doodle/doodle.c:621
 #, c-format
 msgid "The options '%s' and '%s' cannot be used together!\n"
 msgstr "Không thể sử dụng hai tùy chọn « %s » và « %s » với nhau.\n"
 
-#: src/doodle/doodle.c:624 src/doodle/doodled.c:907
+#: src/doodle/doodle.c:610 src/doodle/doodled.c:872
 #, c-format
 msgid "Specified memory limit is too high.\n"
 msgstr "Giới hạn bộ nhớ đã ghi rõ là quá cao.\n"
 
-#: src/doodle/doodle.c:649 src/doodle/doodled.c:924
+#: src/doodle/doodle.c:635 src/doodle/doodled.c:889
 #, c-format
 msgid "Version %s\n"
 msgstr "Phiên bản %s\n"
 
-#: src/doodle/doodle.c:654 src/doodle/doodled.c:929
+#: src/doodle/doodle.c:640 src/doodle/doodled.c:894
 #, c-format
 msgid "Use '--help' to get a list of options.\n"
 msgstr ""
 "Hãy sử dụng lệnh « --help » (trợ giúp) để xem danh sách các tùy chọn.\n"
 
-#: src/doodle/doodle.c:663
+#: src/doodle/doodle.c:649
 #, c-format
 msgid "Invoke with filenames or directories to index!\n"
 msgstr "Hãy chạy với những tên tập tin hay thư mục cần chỉ mục.\n"
 
-#: src/doodle/doodle.c:664
+#: src/doodle/doodle.c:650
 #, c-format
 msgid "Invoke with query terms to search for!\n"
 msgstr "• Hãy chạy với những chuỗi truy vấn cần tìm kiếm. •\n"
 
-#: src/doodle/doodled.c:60
+#: src/doodle/doodled.c:61
 msgid ""
 "use the generic plaintext extractor for the language with the 2-letter "
 "language code LANG"
@@ -242,103 +225,103 @@
 "sử dụng trình rút văn bản thuần chung chung cho ngôn ngữ có mã ngôn ngữ hai "
 "chữ là LANG"
 
-#: src/doodle/doodled.c:65
+#: src/doodle/doodled.c:66
 msgid "run in debug mode, do not daemonize"
 msgstr ""
 "chạy bằng chế độ gỡ lỗi nên không chạy trong nền tảng (thì xuất chi tiết, "
 "cho phép tương tác)"
 
-#: src/doodle/doodled.c:67
+#: src/doodle/doodled.c:68
 msgid "add the filename to the list of keywords"
 msgstr "thêm tên tập tin vào danh sách từ khóa"
 
-#: src/doodle/doodled.c:71
+#: src/doodle/doodled.c:72
 msgid "compute hash using the given ALGORITHM"
 msgstr "tính băm bằng THUẬT TOÁN đã cho"
 
-#: src/doodle/doodled.c:75
+#: src/doodle/doodled.c:76
 msgid "log activity to a file named FILENAME"
 msgstr "ghi lưu các hoặt động vào tập tin có tên TÊN TẬP TIN"
 
-#: src/doodle/doodled.c:88
+#: src/doodle/doodled.c:89
 msgid "doodled [OPTIONS] [FILENAMES]"
 msgstr "doodled [TÙY_CHỌN] [TÊN_TẬP_TIN]"
 
-#: src/doodle/doodled.c:89
+#: src/doodle/doodled.c:90
 msgid "Continuously index files in the background."
 msgstr "Chỉ mục tập tin một cách tiếp tục trong nền tảng."
 
-#: src/doodle/doodled.c:188
+#: src/doodle/doodled.c:191
 msgid "Event processing thread created.\n"
 msgstr "Mạch xử lý sự kiện đã được tạo.\n"
 
-#: src/doodle/doodled.c:203 src/doodle/doodled.c:222 src/doodle/doodled.c:701
-#: src/doodle/tree.c:182 src/doodle/tree.c:190 src/doodle/tree.c:221
-#: src/doodle/tree.c:242
+#: src/doodle/doodled.c:206 src/doodle/doodled.c:225 src/doodle/index.c:141
+#: src/doodle/index.c:149 src/doodle/index.c:172 src/doodle/tree.c:182
+#: src/doodle/tree.c:190 src/doodle/tree.c:221 src/doodle/tree.c:242
 #, c-format
 msgid "Call to '%s' failed: %s\n"
 msgstr "Việc gọi « %s » bị lỗi: %s\n"
 
-#: src/doodle/doodled.c:381
+#: src/doodle/doodled.c:384
 #, c-format
 msgid "Will monitor directory '%s' for changes.\n"
 msgstr "Sẽ theo dõi cách thay đổi thư mục « %s ».\n"
 
-#: src/doodle/doodled.c:433
+#: src/doodle/doodled.c:431
 #, c-format
 msgid "Processing file '%s'.\n"
 msgstr "Đang xử lý tập tin « %s ».\n"
 
-#: src/doodle/doodled.c:460
+#: src/doodle/doodled.c:459
 msgid "Main worker thread created.\n"
 msgstr "Mạch làm việc chính đã được tạo.\n"
 
-#: src/doodle/doodled.c:471
+#: src/doodle/doodled.c:470
 msgid "Failed to spawn event processing thread.\n"
 msgstr "Việc tạo mạch xử lý dữ kiện bị lỗi.\n"
 
-#: src/doodle/doodled.c:481
+#: src/doodle/doodled.c:477
 msgid "Registering with FAM for file system events.\n"
 msgstr ""
 "Đang đăng ký với FAM đốí với dữ kiện hệ thống tập tin.\n"
 "FAM: File Alteration Monitor (trình theo dõi cách thay đổi tập tin).\n"
 
-#: src/doodle/doodled.c:504
+#: src/doodle/doodled.c:500
 msgid "doodled startup complete.  Now waiting for FAM events.\n"
 msgstr "Trình doodled đã khởi chạy; hiện có đời dữ kiện loại FAM.\n"
 
-#: src/doodle/doodled.c:651
+#: src/doodle/doodled.c:550
+msgid "Error disconnecting from fam.\n"
+msgstr "Gặp lỗi khi ngắt kết nối ra FAM.\n"
+
+#: src/doodle/doodled.c:638
 msgid "Failed to connect to fam.  Aborting.\n"
 msgstr "Việc kết nối đến FAM bị lỗi nên hủy bỏ.\n"
 
-#: src/doodle/doodled.c:676
+#: src/doodle/doodled.c:663
 #, c-format
 msgid "Failed to create worker thread: %s"
 msgstr "Việc tạo mạch làm việc bị lỗi: %s"
 
-#: src/doodle/doodled.c:687
+#: src/doodle/doodled.c:676
 msgid "doodled is shutting down.\n"
 msgstr "Trình doodled đang thoát.\n"
 
-#: src/doodle/doodled.c:691
+#: src/doodle/doodled.c:680
 msgid "No files exist that doodled would monitor for changes.  Exiting.\n"
 msgstr ""
 "Không có tập tin mà trình dooodled cần theo dõi cách thay đổi nên thoát.\n"
 
-#: src/doodle/doodled.c:709
+#: src/doodle/doodled.c:688
 #, c-format
 msgid "Cancelling fam monitor '%s'.\n"
 msgstr "Đang thôi bộ theo dõi FAM « %s ».\n"
 
-#: src/doodle/doodled.c:740
-msgid "Error disconnecting from fam.\n"
-msgstr "Gặp lỗi khi ngắt kết nối ra FAM.\n"
-
-#: src/doodle/doodled.c:744
+#: src/doodle/doodled.c:709
 msgid "Unloading libextractor plugins.\n"
 msgstr "Đang bỏ tải các bộ cầm phít libextractor (rút thư viên).\n"
 
-#: src/doodle/doodled.c:936
+#: src/doodle/doodled.c:901
 #, c-format
 msgid "Invoke with filenames or directories to monitor!\n"
 msgstr "• Hãy chạy với những tên tập tin hay thư mục cần theo dõi. •\n"
@@ -462,6 +445,15 @@
 "Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn "
 "ngắn.\n"
 
+#: src/doodle/index.c:161
+msgid "Loading default set of libextractor plugins.\n"
+msgstr "Đang tải tập bộ cầm phít libextractor (rút thư viên) mặc định.\n"
+
+#: src/doodle/index.c:165
+#, c-format
+msgid "Loading libextractor plugins: '%s'\n"
+msgstr "Đang tải các bộ cầm phít libextractor (rút thư viên): « %s »\n"
+
 #: src/doodle/tree.c:195
 #, c-format
 msgid "Short read at offset %llu (attempted to read %llu bytes).\n"
@@ -611,3 +603,11 @@
 msgid "File '%s' is not a regular file. Removing file from index.\n"
 msgstr ""
 "Tập tin « %s » không phải là một tập tin thường nên gỡ bỏ nó ra chỉ mục.\n"
+
+#, fuzzy
+#~ msgid "Failed to '%s': %s\n"
+#~ msgstr "Việc gọi « %s » bị lỗi: %s\n"
+
+#~ msgid "Failed to load any libextractor plugins. Aborting.\n"
+#~ msgstr ""
+#~ "Việc tải bộ cầm phít libextractor (rút thư viên) nào bị lỗi nên hủy bỏ.\n"

Modified: doodle/src/doodle/doodle.c
===================================================================
--- doodle/src/doodle/doodle.c  2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/src/doodle/doodle.c  2006-05-02 23:49:01 UTC (rev 2715)
@@ -162,7 +162,7 @@
  * @brief closure for do_index
  */
 typedef struct {
-  EXTRACTOR_ExtractorList * elist;
+  struct EXTRACT_Process * elist;
   struct DOODLE_SuffixTree * tree;
   FILE * logFile;
 } DIC;
@@ -248,24 +248,10 @@
                               &my_log,
                               NULL);
 
-  if (do_default) {
-    if (verbose)
-      printf(_("Loading default set of libextractor plugins.\n"));
-    cls.elist = EXTRACTOR_loadDefaultLibraries();
-  } else
-    cls.elist = NULL;
-  if (libraries != NULL) {
-    if (verbose)
-      printf(_("Loading libextractor plugins: '%s'\n"),
-            libraries);
-    cls.elist = EXTRACTOR_loadConfigLibraries(cls.elist,
-                                             libraries);
-  }
-  if (cls.elist == NULL) {
-    printf(_("Failed to load any libextractor plugins. Aborting.\n"));
-    DOODLE_tree_destroy(cls.tree);
-    return -1;
-  }
+  cls.elist = forkExtractor(do_default,
+                           libraries,
+                           &my_log,
+                           NULL);
   cls.logFile = NULL;
   if (log != NULL) {
     cls.logFile = fopen(log, "w+");
@@ -296,7 +282,7 @@
     }
     free(exp);
   }
-  EXTRACTOR_removeAll(cls.elist);
+  joinExtractor(cls.elist);  
   DOODLE_tree_destroy(cls.tree);
   if (cls.logFile != NULL)
     fclose(cls.logFile);

Modified: doodle/src/doodle/doodle.h
===================================================================
--- doodle/src/doodle/doodle.h  2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/src/doodle/doodle.h  2006-05-02 23:49:01 UTC (rev 2715)
@@ -1,6 +1,6 @@
 /*
      This file is part of doodle.
-     (C) 2004 Christian Grothoff (and other contributing authors)
+     (C) 2004, 2006 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -33,7 +33,7 @@
  * 0.2.6-1 => 0x00020601
  * 4.5.2-0 => 0x04050200
  */
-#define DOODLE_VERSION 0x00060300
+#define DOODLE_VERSION 0x00060500
 
 /* constants for the DOODLE_Logger callback */
 #define DOODLE_LOG_CRITICAL 0

Modified: doodle/src/doodle/doodled.c
===================================================================
--- doodle/src/doodle/doodled.c 2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/src/doodle/doodled.c 2006-05-02 23:49:01 UTC (rev 2715)
@@ -121,10 +121,11 @@
 /**
  * Print log-messages to the logfile.
  */
-static void my_log(FILE * logfile,
+static void my_log(void * ctx,
                   unsigned int level,
                   const char * msg,
                   ...) {
+  FILE * logfile = ctx;
   va_list args;
   if (logfile == NULL) {
     if (do_debug)
@@ -148,7 +149,7 @@
  * @brief closure for do_index and other processing functions
  */
 typedef struct {
-  EXTRACTOR_ExtractorList * elist;
+  struct EXTRACT_Process * elist;
   struct DOODLE_SuffixTree * tree;
   FAMConnection fc;
   FAMRequest * fr;
@@ -591,7 +592,7 @@
             strerror(errno));
   }
   cls.logContext = logfile;
-  cls.log = (DOODLE_Logger) &my_log;
+  cls.log = &my_log;
 
 
   if (dbName == NULL) {
@@ -614,7 +615,7 @@
   if (ename == NULL)
     return -1;
   cls.ename = ename;
-  cls.tree = DOODLE_tree_create((DOODLE_Logger) &my_log,
+  cls.tree = DOODLE_tree_create(&my_log,
                                logfile,
                                ename);
   cls.treePresent = 1;
@@ -623,25 +624,11 @@
   if (mem_limit != 0)
     DOODLE_tree_set_memory_limit(cls.tree,
                                 mem_limit);
-  if (do_default) {
-    my_log(logfile,
-          DOODLE_LOG_VERY_VERBOSE,
-          _("Loading default set of libextractor plugins.\n"));
-    cls.elist = EXTRACTOR_loadDefaultLibraries();
-  } else
-    cls.elist = NULL;
-  if (libraries != NULL) {
-    my_log(logfile,
-          DOODLE_LOG_VERY_VERBOSE,
-          _("Loading libextractor plugins: '%s'\n"),
-          libraries);
-    cls.elist = EXTRACTOR_loadConfigLibraries(cls.elist,
-                                             libraries);
-  }
+  cls.elist = forkExtractor(do_default,
+                           libraries,
+                           &my_log,
+                           logfile);
   if (cls.elist == NULL) {
-    my_log(logfile,
-          DOODLE_LOG_CRITICAL,
-          _("Failed to load any libextractor plugins. Aborting.\n"));
     DOODLE_tree_destroy(cls.tree);
     return -1;
   }
@@ -720,7 +707,7 @@
   my_log(logfile,
         DOODLE_LOG_VERBOSE,
         _("Unloading libextractor plugins.\n"));
-  EXTRACTOR_removeAll(cls.elist);
+  joinExtractor(cls.elist);
   free(ename);
   if (logfile != NULL)
     fclose(logfile);

Modified: doodle/src/doodle/helper2.h
===================================================================
--- doodle/src/doodle/helper2.h 2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/src/doodle/helper2.h 2006-05-02 23:49:01 UTC (rev 2715)
@@ -96,12 +96,22 @@
                  void * cb_arg);
 
 
+struct EXTRACT_Process;
+
+struct EXTRACT_Process * forkExtractor(int do_default,
+                                      const char * libraries,
+                                      DOODLE_Logger logger,
+                                      void * log_ctx);
+
+void joinExtractor(struct EXTRACT_Process * proc);
+
+
 /**
  * Find keywords in the given file and append
  * the string describing these keywords to the
  * long string (for the suffix tree).
  */
-int buildIndex(EXTRACTOR_ExtractorList * elist,
+int buildIndex(struct EXTRACT_Process * elist,
               FILE * logFile,
               const char * filename,
               struct DOODLE_SuffixTree * tree,

Modified: doodle/src/doodle/index.c
===================================================================
--- doodle/src/doodle/index.c   2006-05-02 22:23:04 UTC (rev 2714)
+++ doodle/src/doodle/index.c   2006-05-02 23:49:01 UTC (rev 2715)
@@ -1,6 +1,6 @@
 /*
      This file is part of doodle.
-     (C) 2004 Christian Grothoff (and other contributing authors)
+     (C) 2004, 2006 Christian Grothoff (and other contributing authors)
 
      doodle is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -23,21 +23,296 @@
  * @brief index file using libextractor
  * @author Christian Grothoff
  *
- * This function effectively describes the bridge between libextractor
- * and libdoodle.
+ * This module effectively describes the bridge between libextractor
+ * and libdoodle.  What is special is that LE is executed out-of-process
+ * (to guard against bus-errors on corrupted file systems and possible
+ * libextractor bugs)
  */
 
 #include "config.h"
 #include "helper2.h"
 #include "gettext.h"
 #include "doodle.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
 
+#define DEBUG_IPC 0
+
+typedef struct EXTRACT_Process {
+  char * libs;
+  void * log_ctx;
+  int send_pipe;
+  int read_pipe;
+  pid_t pid;
+  int do_default;
+  DOODLE_Logger my_log;
+} EXTRACT_Process;
+
+struct EXTRACT_Process * forkExtractor(int do_default,
+                                      const char * libraries,
+                                      DOODLE_Logger logger,
+                                      void * log_ct) {
+  EXTRACT_Process * ret;
+  ret = malloc(sizeof(EXTRACT_Process));
+  if (libraries != NULL)
+    ret->libs = strdup(libraries);
+  else
+    ret->libs = NULL;
+  ret->do_default = do_default;
+  ret->pid = -1;
+  ret->send_pipe = -1;
+  ret->read_pipe = -1;
+  ret->my_log = logger;
+  ret->log_ctx = log_ct;
+  return ret;
+}
+
+void joinExtractor(struct EXTRACT_Process * proc) {
+  int status;
+
+#if DEBUG_IPC
+  fprintf(stderr, "Joining!\n");
+#endif
+  if (proc->send_pipe != -1)
+    close(proc->send_pipe);
+  if (proc->read_pipe != -1)
+    close(proc->read_pipe);
+  if (proc->pid != -1) {
+    /* kill(proc->pid, SIGTERM); */
+    waitpid(proc->pid, &status, 0);
+  }
+  if (proc->libs != NULL)
+    free(proc->libs);
+  free(proc);
+}
+
+static int do_read(int fd,
+                  void * d,
+                  size_t len) {
+  size_t pos;
+  ssize_t ret;
+  char *  data = d;
+
+  pos = 0;
+  ret = read(fd, &data[pos], len - pos);
+  while ( (ret != -1) &&
+         (ret > 0) ) {
+    pos += ret;
+    if (pos == len)
+      return 0;
+    ret = read(fd, &data[pos], len - pos);
+  }
+  if (ret == 0)
+    close(fd);
+  return 1; /* error */
+}
+
+#if DEBUG_IPC
+#define DO_WRITE(fd,data, len) if (len != write(fd,data,len)) { 
fprintf(stderr, "Write error!\n"); goto ERROR;}
+#else
+#define DO_WRITE(fd,data, len) if (len != write(fd,data,len)) goto ERROR;
+#endif
+#define DO_READ(fd,data,len) if (do_read(fd,data,len)) goto ERROR;
+#define MAX_SLEN 16 * 1024 * 1024
+
 /**
+ * @return 0 on success, 1 on error.
+ */
+static int do_fork(struct EXTRACT_Process * proc) {
+  int filedes1[2];
+  int filedes2[2];
+  char buffer[FILENAME_MAX+2];
+  size_t pos;
+  ssize_t ret;
+  size_t slen;
+  EXTRACTOR_ExtractorList * list;
+  EXTRACTOR_KeywordList * head;
+  EXTRACTOR_KeywordList * next;
+  char * filename;
+  unsigned int count;
+
+#if DEBUG_IPC
+  fprintf(stderr, "Forking!\n");
+#endif
+  if (0 != pipe(filedes1)) {
+    proc->my_log(proc->log_ctx,
+                DOODLE_LOG_CRITICAL,
+                _("Call to '%s' failed: %s\n"),
+                "pipe",
+                strerror(errno));
+    return 1;
+  }
+  if (0 != pipe(filedes2)) {
+    proc->my_log(proc->log_ctx,
+                DOODLE_LOG_CRITICAL,
+                _("Call to '%s' failed: %s\n"),
+                "pipe",
+                strerror(errno));
+    close(filedes1[0]);
+    close(filedes1[1]);
+    return 1;
+  } 
+  /* log before fork, just to avoid out-of-process problems
+     with my_log */
+  if (proc->do_default)
+    proc->my_log(proc->log_ctx,
+                DOODLE_LOG_VERY_VERBOSE,
+                (_("Loading default set of libextractor plugins.\n")));
+  if (proc->libs != NULL) 
+    proc->my_log(proc->log_ctx,
+                DOODLE_LOG_VERY_VERBOSE,
+                _("Loading libextractor plugins: '%s'\n"),
+                proc->libs);  
+
+  proc->pid = fork();
+  if (proc->pid == -1) {
+    proc->my_log(proc->log_ctx,
+                DOODLE_LOG_CRITICAL,
+                _("Call to '%s' failed: %s\n"),
+                "fork",
+                strerror(errno));
+    close(filedes1[0]);
+    close(filedes1[1]);
+    close(filedes2[0]);
+    close(filedes2[1]);
+    return 1;
+  }
+  if (proc->pid != 0) {
+    close(filedes1[1]);
+    close(filedes2[0]);
+    proc->send_pipe = filedes2[1];
+    proc->read_pipe = filedes1[0];
+    return 0;
+  }
+  /* we're now in the forked process! */
+  close(filedes1[0]);
+  close(filedes2[1]);
+  list = NULL;
+
+  if (proc->do_default)
+    list = EXTRACTOR_loadDefaultLibraries();
+  if (proc->libs != NULL) 
+    list = EXTRACTOR_loadConfigLibraries(list,
+                                        proc->libs);  
+  
+  head = NULL;
+  pos = 0;
+  buffer[FILENAME_MAX + 1] = '\0';
+  ret = read(filedes2[0], &buffer[pos], FILENAME_MAX + 1 - pos);
+  while (-1 != ret) {
+    pos += ret;
+    slen = strlen(buffer) + 1;
+    if (slen <= pos) {
+      filename = strdup(buffer);
+      memmove(buffer,
+             &buffer[slen],
+             pos - slen);
+      pos = pos - slen;
+      head = EXTRACTOR_getKeywords(list,
+                                  filename);
+      head = EXTRACTOR_removeDuplicateKeywords
+       (head,
+        EXTRACTOR_DUPLICATES_REMOVE_UNKNOWN);
+      count = EXTRACTOR_countKeywords(head);
+      DO_WRITE(filedes1[1], &count, sizeof(unsigned int));
+      while (head != NULL) {
+       next = head->next;
+       DO_WRITE(filedes1[1], &head->keywordType, 
sizeof(EXTRACTOR_KeywordType));
+       slen = strlen(head->keyword);
+       if (slen > MAX_SLEN)
+         slen = MAX_SLEN; /* cut off -- far too large! */
+       DO_WRITE(filedes1[1], &slen, sizeof(size_t));
+       DO_WRITE(filedes1[1], head->keyword, slen);
+       free(head->keyword);
+       free(head);
+       head = next;
+      }
+    }
+    ret = read(filedes2[0], &buffer[pos], FILENAME_MAX + 1 - pos);
+  }
+  /* exit / cleanup */
+ ERROR:
+  if (head != NULL)
+    EXTRACTOR_freeKeywords(head);
+  EXTRACTOR_removeAll(list);
+  close(filedes2[0]);
+  close(filedes1[1]);
+  /* never return - we were forked! */
+  exit(0);
+  return 1; /* eh, dead */
+}
+
+static EXTRACTOR_KeywordList * 
+getKeywords(struct EXTRACT_Process * eproc,
+           const char * filename) {
+  EXTRACTOR_KeywordList * pos;
+  EXTRACTOR_KeywordList * next;
+  EXTRACTOR_KeywordList * head;
+  unsigned int count;
+  size_t slen;
+  int status;
+
+  if (eproc->pid == -1)
+    if (0 != do_fork(eproc))
+      return NULL;
+  if (eproc->pid == -1)
+    return NULL;
+  fprintf(stderr, "Processing file %s\n", filename);
+  DO_WRITE(eproc->send_pipe, filename, strlen(filename)+1);
+  head = NULL;
+  pos = NULL;
+  next = NULL;
+  DO_READ(eproc->read_pipe, &count, sizeof(unsigned int));
+  while (count-- > 0) {
+    next = malloc(sizeof(EXTRACTOR_KeywordList));
+    DO_READ(eproc->read_pipe, &next->keywordType, 
sizeof(EXTRACTOR_KeywordType));
+    DO_READ(eproc->read_pipe, &slen, sizeof(size_t));
+    if (slen > MAX_SLEN) 
+      goto ERROR; /* too large! something must have gone wrong! */
+    if (pos == NULL) {
+      pos = next;
+      next = NULL;
+      head = pos;
+    } else {
+      pos->next = next;
+      next = NULL;
+      pos = pos->next;
+    }
+    pos->next = NULL;
+    pos->keyword = malloc(slen + 1);
+    pos->keyword[slen] = '\0';
+    DO_READ(eproc->read_pipe, pos->keyword, slen);
+  }  
+  return head;
+ ERROR:
+#if DEBUG_IPC
+  fprintf(stderr, "READ ERROR!\n");
+#endif
+  if (next != NULL)
+    free(next);
+  EXTRACTOR_freeKeywords(head);
+  if (eproc->send_pipe != -1)
+    close(eproc->send_pipe);
+  eproc->send_pipe = -1;
+  if (eproc->read_pipe != -1)
+    close(eproc->read_pipe);
+  eproc->read_pipe = -1;
+  if (eproc->pid != -1) {
+    kill(eproc->pid, SIGTERM); 
+    waitpid(eproc->pid, &status, 0);
+  }
+  eproc->pid = -1;
+  return NULL;  
+}
+
+
+/**
  * Find keywords in the given file and append
  * the string describing these keywords to the
  * long string (for the suffix tree).
  */
-int buildIndex(EXTRACTOR_ExtractorList * elist,
+int buildIndex(struct EXTRACT_Process * eproc,
               FILE * logFile,
               const char * filename,
               struct DOODLE_SuffixTree * tree,
@@ -45,11 +320,7 @@
   EXTRACTOR_KeywordList * head;
   EXTRACTOR_KeywordList * pos;
 
-  head = EXTRACTOR_getKeywords(elist,
-                              filename);
-  head = EXTRACTOR_removeDuplicateKeywords
-    (head,
-     EXTRACTOR_DUPLICATES_REMOVE_UNKNOWN);
+  head = getKeywords(eproc, filename); 
   pos  = head;
   while (pos != NULL) {
     char * cpos;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]