libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit 90a1fbd3658995b8a6ef55ddd8a9e75087449343
parent a68b76bb9d6b7ff69dbc52341c20c1a7429954da
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun,  5 Jul 2026 23:04:47 +0200

misc minor fixes, releasing v1.17

Diffstat:
MChangeLog | 6++++++
Mconfigure.ac | 2+-
Mpo/ar.po | 24++++++++++++------------
Mpo/da.po | 24++++++++++++------------
Mpo/de.po | 24++++++++++++------------
Mpo/es.po | 24++++++++++++------------
Mpo/fr.po | 24++++++++++++------------
Mpo/ga.po | 24++++++++++++------------
Mpo/it.po | 24++++++++++++------------
Mpo/ka.po | 24++++++++++++------------
Mpo/libextractor.pot | 26+++++++++++++-------------
Mpo/nl.po | 24++++++++++++------------
Mpo/pl.po | 24++++++++++++------------
Mpo/pt_BR.po | 24++++++++++++------------
Mpo/ro.po | 24++++++++++++------------
Mpo/rw.po | 24++++++++++++------------
Mpo/sr.po | 24++++++++++++------------
Mpo/sv.po | 24++++++++++++------------
Mpo/uk.po | 24++++++++++++------------
Mpo/vi.po | 24++++++++++++------------
Msrc/common/convert.c | 24++++++++++++------------
Msrc/common/unzip.c | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
Msrc/include/extractor.h | 2+-
Msrc/main/extract.c | 35+++++++++++++++++++++++------------
Msrc/main/extractor_ipc.h | 2+-
Msrc/main/extractor_ipc_gnu.c | 4++--
Msrc/main/extractor_plugpath.c | 2+-
Msrc/main/iconv.c | 14+++++++-------
Msrc/plugins/flac_extractor.c | 2+-
Msrc/plugins/mpeg_extractor.c | 5++---
Msrc/plugins/ogg_extractor.c | 4+++-
Msrc/plugins/png_extractor.c | 72+++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
Msrc/plugins/thumbnailgtk_extractor.c | 3++-
Msrc/plugins/wav_extractor.c | 9+++++----
Msrc/plugins/xm_extractor.c | 4++--
35 files changed, 425 insertions(+), 329 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jul 5 10:55:57 PM CEST 2026 + Fixing various minor issues, including a missing 0 terminator + in ZIP handling under particular circumstances. + Thanks to Haitam Lazaar for reporting. + Releasing GNU libextractor 1.17. -CG + Tue Jun 30 05:13:30 PM CEST 2026 Fix tIME chunk parser in PNG plugin. Fix mime-type detection in QT plugin. diff --git a/configure.ac b/configure.ac @@ -16,7 +16,7 @@ # # AC_PREREQ([2.72]) -AC_INIT([libextractor],[1.16],[bug-libextractor@gnu.org]) +AC_INIT([libextractor],[1.17],[bug-libextractor@gnu.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/po/ar.po b/po/ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2026-01-24 21:12+0400\n" "Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n" "Language-Team: Arabic <(nothing)>\n" @@ -94,46 +94,46 @@ msgstr "استخرج [خيارات] [اسم_الملف]*" msgid "Extract metadata from files." msgstr "استخراج البيانات الوصفية من الملفات." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "عثر عليه بواسطة ملحق `%s':\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "مجهول" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (مجهول، %u بايت)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (ثنائي، %u بايت)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "مزيج غير قانوني من الخيارات، لا يمكن دمج أنماط طباعة متعددة.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "يجب عليك تحديد معطى للخيار `%s' (تجاهل الخيار).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "استخدم --help للحصول على قائمة الخيارات.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% ملف BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "الكلمات المفتاحية للملف %s:\n" @@ -2648,10 +2648,10 @@ msgstr "مراجعة رقم %u: المؤلف `%s' عمل على `%s'" msgid "codec: %s, %u fps, %u ms" msgstr "الترميز: %s، %u إطار في الثانية، %u ملي ثانية" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "أحادي" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "مجسمي" diff --git a/po/da.po b/po/da.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor-1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-02-14 16:38+0100\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" @@ -95,47 +95,47 @@ msgstr "udtræk [TILVALG] [FILNAVN]" msgid "Extract metadata from files." msgstr "Udtræk metadata fra filer." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Fundet af »%s«-udvidelsesmodulet:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "ukendt" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (ukendt, %u byte)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binær, %u byte)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Ulovlig kombination af tilvalg, kan ikke kombinere flere udskrivningsstile.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Du skal angive et argument for tilvalget »%s« (tilvalg ignoreret).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Brug --help for en liste over indstillinger.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% BiBTeX-fil\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Nøgleord for filen %s:\n" @@ -2667,10 +2667,10 @@ msgstr "Revision #%u: Forfatteren »%s« arbejdede på »%s«" msgid "codec: %s, %u fps, %u ms" msgstr "kodning: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/de.po b/po/de.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-02-15 13:41+0100\n" "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" @@ -102,50 +102,50 @@ msgstr "extract [OPTIONEN] [DATEINAME]*" msgid "Extract metadata from files." msgstr "Metadaten aus den Dateien extrahieren." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Gefunden vom »%s«-Plugin:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "unbekannt" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (unbekannt, %u Bytes)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binär, %u Bytes)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Unzulässige Kombination der Optionen, mehrere Ausgabestile können nicht " "gemischt werden.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Sie müssen ein Argument für die Option »%s« angeben (Option wird " "ignoriert).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Verwenden Sie --help, um eine Liste aller Optionen zu sehen.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% BibTeX-Datei\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Schlüsserwörter für die Datei %s:\n" @@ -2690,11 +2690,11 @@ msgstr "Revision #%u: Autor »%s« arbeitete an »%s«" msgid "codec: %s, %u fps, %u ms" msgstr "Codec: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "Mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "Stereo" diff --git a/po/es.po b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.0.0-pre1\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2018-04-27 22:53+0200\n" "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n" "Language-Team: Spanish <es@tp.org.es>\n" @@ -97,47 +97,47 @@ msgstr "extract [OPCIONES] [NOMBREFICHERO]*" msgid "Extract metadata from files." msgstr "Extrae metadatos desde ficheros." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Encontrado por complemento `%s':\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "desconocida" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (desconocido, %u bytes)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binario, %u bytes)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Debe especificar un argumento de la opción «%s» (opción ignorada).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Emplee '--help' para obtener una lista de opciones.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 #, fuzzy msgid "% BiBTeX file\n" msgstr "Fichero %% BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Palabras claves para fichero %s:\n" @@ -2659,10 +2659,10 @@ msgstr "Revisión #%u: Autor «%s» trabajado en «%s»" msgid "codec: %s, %u fps, %u ms" msgstr "código: %s, %u ppp, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "estéreo" diff --git a/po/fr.po b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-05-12 04:34+0200\n" "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" @@ -99,49 +99,49 @@ msgstr "extract [OPTIONS] [FICHIER]*" msgid "Extract metadata from files." msgstr "Extraction des métadonnées des fichiers." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Trouvé par l’extension « %s » :\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "inconnu" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (inconnu, %u octets)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binaire, %u octets)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Combinaison d’options non permise : impossible de combiner des modes " "d’impression différent.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Vous devez préciser un argument pour l’option « %s » (option ignorée).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Utilisez --help pour obtenir une liste d’options.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% fichier BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Mots-clés pour le fichier %s:\n" @@ -2670,10 +2670,10 @@ msgstr "Révision %u : « %s » est l’auteur de « %s »" msgid "codec: %s, %u fps, %u ms" msgstr "codec : %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/ga.po b/po/ga.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 0.5.20\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2008-03-21 20:46-0700\n" "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" @@ -93,48 +93,48 @@ msgstr "extract [ROGHANNA] [COMHADAINM]*" msgid "Extract metadata from files." msgstr "Bain meiteashonra as comhaid." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, fuzzy, c-format msgid "Found by `%s' plugin:\n" msgstr "Theip ar lucht an bhreisein `%s': %s\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "anaithnid" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, fuzzy, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (dnrtha)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "N mr duit argint a thabhairt i ndiaidh na rogha `%s' ( ligean thart).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Bain sid as '--help' le haghaidh nos m roghanna.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 #, fuzzy msgid "% BiBTeX file\n" msgstr "%% Comhad BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Lorgfhocail do chomhad %s:\n" @@ -2734,11 +2734,11 @@ msgstr "Leas msgid "codec: %s, %u fps, %u ms" msgstr "codec: %s, %u fss, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mona" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "steiri" diff --git a/po/it.po b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor-0.6.0\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2010-09-30 23:41+0200\n" "Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -89,49 +89,49 @@ msgstr "" msgid "Extract metadata from files." msgstr "" -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binario, %u bite)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Deve essere specificato un argomento per l'opzione \"%s\" (opzione " "ignorata).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Usare --help per ottenere un elenco di opzioni.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 #, fuzzy msgid "% BiBTeX file\n" msgstr "%% file BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "" @@ -2679,11 +2679,11 @@ msgstr "" msgid "codec: %s, %u fps, %u ms" msgstr "codec: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/ka.po b/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2025-05-19 06:33+0200\n" "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n" "Language-Team: Georgian <(nothing)>\n" @@ -91,46 +91,46 @@ msgstr "" msgid "Extract metadata from files." msgstr "" -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "უცნობი" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% BiBTeX ფაილი\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "" @@ -2633,10 +2633,10 @@ msgstr "" msgid "codec: %s, %u fps, %u ms" msgstr "" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "მონო" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "სტერეო" diff --git a/po/libextractor.pot b/po/libextractor.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU libextractor 1.16\n" +"Project-Id-Version: GNU libextractor 1.17\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -87,46 +87,46 @@ msgstr "" msgid "Extract metadata from files." msgstr "" -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "" @@ -2621,10 +2621,10 @@ msgstr "" msgid "codec: %s, %u fps, %u ms" msgstr "" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "" diff --git a/po/nl.po b/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor-1.0.0-pre1\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2013-08-21 22:41+0200\n" "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" @@ -97,48 +97,48 @@ msgstr "extract [OPTIES] [BESTANDSNAAM]*" msgid "Extract metadata from files." msgstr "Leest metadata uit bestanden." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Gevonden door plugin '%s':\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "onbekend" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (onbekend, %u bytes)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binair, %u bytes)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Ongeldige combinatie van opties; kan meerdere printstijlen niet combineren.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Optie '%s' vereist een argument -- optie is genegeerd.\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Gebruik '--help' voor een lijst met mogelijke opties.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 #, fuzzy msgid "% BiBTeX file\n" msgstr "%% BiBTeX-bestand\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Trefwoorden voor bestand %s:\n" @@ -2678,11 +2678,11 @@ msgstr "Revisie #%u: Auteur '%s' werkte aan '%s'" msgid "codec: %s, %u fps, %u ms" msgstr "codec: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/pl.po b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-02-12 16:02+0100\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" @@ -93,47 +93,47 @@ msgstr "extract [OPCJE] [NAZWA_PLIKU]*" msgid "Extract metadata from files." msgstr "Wyciąganie metadanych z plików." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Znalezione przez wtyczkę `%s':\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "nieznany" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (nieznany, bajtów: %u)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binarny, bajtów: %u)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Niedozwolona kombinacja opcji, nie można łączyć wielu styli wypisywania.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Opcja `%s' wymaga argumentu (zignorowano opcję).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Opcja --help pozwala uzyskać listę opcji.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% plik BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Słowa kluczowe dla pliku %s:\n" @@ -2663,10 +2663,10 @@ msgstr "Rewizja #%u: Autor `%s' pracował nad `%s'" msgid "codec: %s, %u fps, %u ms" msgstr "kodek: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/pt_BR.po b/po/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-02-21 20:46-0200\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-" @@ -97,49 +97,49 @@ msgstr "extract [OPÇÕES] [ARQUIVO]" msgid "Extract metadata from files." msgstr "Extrai metadados de arquivos." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Encontrado pelo plug-in \"%s\":\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "desconhecido" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (desconhecido, %u bytes)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binário, %u bytes)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Combinação ilegal de opções, não é possível combina múltiplos estilos de " "impressão.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Você deve especificar um argumento para a opção \"%s\" (opção ignorada).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Use --help para obter uma lista de opções.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% arquivo BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Palavras-chave para o arquivo %s:\n" @@ -2674,10 +2674,10 @@ msgstr "Revisão nº %u: Autor \"%s\" trabalhou em \"%s\"" msgid "codec: %s, %u fps, %u ms" msgstr "CODEC: %s, %u fps, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "estéreo" diff --git a/po/ro.po b/po/ro.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2022-10-11 18:47+0200\n" "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" @@ -114,50 +114,50 @@ msgstr "extract [OPȚIUNI] [NUME_FIȘIER]*" msgid "Extract metadata from files." msgstr "Extrage metadatele din fișiere." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Găsit de pluginul „%s”:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "necunoscut" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (necunoscut, %u octeți)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binar, %u octeți)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Combinație nevalidă de opțiuni, nu se pot combina mai multe stiluri de " "imprimare.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Trebuie să specificați un argument pentru opțiunea „%s” (opțiunea este " "ignorată).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Utilizați „--help” pentru a obține o listă de opțiuni.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "%% fișier BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Cuvinte cheie pentru fișierul %s:\n" @@ -2708,10 +2708,10 @@ msgstr "Revizia #%u: Autorul „%s” a lucrat la „%s”" msgid "codec: %s, %u fps, %u ms" msgstr "codec: %s, %u cadre/s, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/rw.po b/po/rw.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 0.4.2\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n" "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n" @@ -104,47 +104,47 @@ msgstr "" msgid "Extract metadata from files." msgstr "Bivuye Idosiye" -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, fuzzy, c-format msgid "Found by `%s' plugin:\n" msgstr "Byanze" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "itazwi" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, fuzzy, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s-(Nyabibiri" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, fuzzy, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "kugirango i Ihitamo Ihitamo" -#: src/main/extract.c:979 +#: src/main/extract.c:985 #, fuzzy msgid "Use --help to get a list of options.\n" msgstr "Ifashayobora Kuri Kubona a Urutonde Bya Amahitamo" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, fuzzy, c-format msgid "Keywords for file %s:\n" msgstr "kugirango IDOSIYE" @@ -3030,11 +3030,11 @@ msgstr "" msgid "codec: %s, %u fps, %u ms" msgstr "" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "" diff --git a/po/sr.po b/po/sr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor-1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2020-04-02 08:30+0200\n" "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <(nothing)>\n" @@ -94,48 +94,48 @@ msgstr "extract [ОПЦИЈЕ] [ДАТОТЕКА]*" msgid "Extract metadata from files." msgstr "Извлачи метаподатке из датотеке." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Нађено је прикључком „%s“:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "непознато" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s — (непознато, %u бајта)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s — (извршна, %u бајта)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Неисправна комбинација опција, не могу да комбинујем више стилова " "исписивања.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Морате навести аргумент за опцију „%s“ (опција је занемарена).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Употребите „--help“ да добавите списак опција.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% БиБТеКс датотека\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Кључне речи за датотеку „%s“:\n" @@ -2662,10 +2662,10 @@ msgstr "Ревизија #%u: Аутор „%s“ је радио „%s“" msgid "codec: %s, %u fps, %u ms" msgstr "кодек: %s, %u к/с, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "моно" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "стерео" diff --git a/po/sv.po b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2025-10-16 18:21+0200\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" @@ -93,47 +93,47 @@ msgstr "extract [FLAGGOR] [FILNAMN]*" msgid "Extract metadata from files." msgstr "Extrahera metadata från filer." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Hittades av tillägget `%s':\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "okänd" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (okänd, %u byte)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (binär, %u byte)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Olämplig kombination av flaggor, kan inte kombinera flera utskriftsstilar.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Du måste ange ett argument för flaggan \"%s\" (flagga ignoreras).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "Använd --help för att få en lista på flaggor.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% BiBTeX-fil\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Nyckelord för filen %s:\n" @@ -2675,11 +2675,11 @@ msgstr "Revision #%u: Upphovsperson `%s' arbetade på `%s'" msgid "codec: %s, %u fps, %u ms" msgstr "kodek: %s, %u bilder/s, %u ms" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "mono" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "stereo" diff --git a/po/uk.po b/po/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 1.9\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2019-02-10 20:41+0200\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" @@ -101,52 +101,52 @@ msgstr "extract [ПАРАМЕТРИ] [НАЗВА_ФАЙЛА]*" msgid "Extract metadata from files." msgstr "Видобути метадані з файлів." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Знайдено додатком «%s»:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "невідомий" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s — (невідомий, %u байтів)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s — (бінарний, %u байтів)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "" "Некоректне поєднання параметрів, не можна визначати декілька стилів " "виведення даних.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "" "Параметр «%s» можна використовувати лише з додатковим аргументом (параметр " "проігноровано).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "" "Скористайтеся параметром --help для отримання списку можливих параметрів " "командного рядка.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 msgid "% BiBTeX file\n" msgstr "% файл BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Ключові слова для файла %s:\n" @@ -2665,11 +2665,11 @@ msgstr "Модифікація %u: автор «%s», співробітник msgid "codec: %s, %u fps, %u ms" msgstr "кодек: %s, %u кд/с, %u мс" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "моно" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "стерео" diff --git a/po/vi.po b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libextractor 0.6.0\n" "Report-Msgid-Bugs-To: libextractor@gnu.org\n" -"POT-Creation-Date: 2026-06-30 19:11+0200\n" +"POT-Creation-Date: 2026-07-05 22:58+0200\n" "PO-Revision-Date: 2010-02-11 00:13+0930\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" @@ -99,48 +99,48 @@ msgstr "" msgid "Extract metadata from files." msgstr "Rút siêu dữ liệu ra tập tin." -#: src/main/extract.c:294 +#: src/main/extract.c:297 #, c-format msgid "Found by `%s' plugin:\n" msgstr "Tìm bởi phần bổ sung « %s »:\n" -#: src/main/extract.c:297 src/main/extract.c:386 +#: src/main/extract.c:300 src/main/extract.c:389 #: src/main/extractor_metatypes.c:153 src/main/extractor_print.c:86 #: src/main/extractor_print.c:96 msgid "unknown" msgstr "không rõ" -#: src/main/extract.c:302 +#: src/main/extract.c:305 #, c-format msgid "%s - (unknown, %u bytes)\n" msgstr "%s - (không rõ, %u byte)\n" -#: src/main/extract.c:333 +#: src/main/extract.c:336 #, c-format msgid "%s - (binary, %u bytes)\n" msgstr "%s - (nhị phân, %u byte)\n" -#: src/main/extract.c:861 src/main/extract.c:875 +#: src/main/extract.c:867 src/main/extract.c:881 msgid "" "Illegal combination of options, cannot combine multiple styles of printing.\n" msgstr "sai tổ hợp các tuỳ chọn này, không thể kết hợp nhiều cách in.\n" -#: src/main/extract.c:910 +#: src/main/extract.c:916 #, c-format msgid "You must specify an argument for the `%s' option (option ignored).\n" msgstr "Bạn phải ghi rõ một đối số cho tùy chọn « %s » (tùy chọn bị bỏ qua).\n" -#: src/main/extract.c:979 +#: src/main/extract.c:985 msgid "Use --help to get a list of options.\n" msgstr "" "Hãy sử dụng lệnh « --help » (trợ giúp) để xem một danh sách các tùy chọn.\n" -#: src/main/extract.c:1022 +#: src/main/extract.c:1028 #, fuzzy msgid "% BiBTeX file\n" msgstr "%% tập tin BiBTeX\n" -#: src/main/extract.c:1032 +#: src/main/extract.c:1038 #, c-format msgid "Keywords for file %s:\n" msgstr "Từ khoá cho tập tin %s:\n" @@ -2694,11 +2694,11 @@ msgstr "Bản sửa đổi #%u: Tác giả « %s » đã làm việc « %s »." msgid "codec: %s, %u fps, %u ms" msgstr "codec: %s, %u khung/giây, %u miligiây" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "mono" msgstr "một nguồn" -#: src/plugins/wav_extractor.c:128 +#: src/plugins/wav_extractor.c:129 msgid "stereo" msgstr "âm lập thể" diff --git a/src/common/convert.c b/src/common/convert.c @@ -61,7 +61,7 @@ EXTRACTOR_common_convert_to_utf8 (const char *input, } tmpSize = 3 * len + 4; tmp = malloc (tmpSize); - if (tmp == NULL) + if (NULL == tmp) { iconv_close (cd); return NULL; @@ -69,33 +69,33 @@ EXTRACTOR_common_convert_to_utf8 (const char *input, itmp = tmp; finSize = tmpSize; inSize = len; - if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == ((size_t) -1)) + if (iconv (cd, + (char **) &input, + &len, + &itmp, + &finSize) == ((size_t) -1)) { iconv_close (cd); free (tmp); return strndup (i, inSize); } ret = malloc (tmpSize - finSize + 1); - if (ret == NULL) + if (NULL == ret) { iconv_close (cd); free (tmp); return NULL; } - memcpy (ret, tmp, tmpSize - finSize); + memcpy (ret, + tmp, + tmpSize - finSize); ret[tmpSize - finSize] = '\0'; free (tmp); iconv_close (cd); return ret; #else - char *ret; - - ret = malloc (len + 1); - if (ret == NULL) - return NULL; - memcpy (ret, input, len); - ret[len] = '\0'; - return ret; + return strndup (input, + len); #endif } diff --git a/src/common/unzip.c b/src/common/unzip.c @@ -557,7 +557,7 @@ get_current_file_info (struct EXTRACTOR_UnzipFile *file, struct EXTRACTOR_UnzipFileInfo file_info; struct UnzipFileInfoInternal file_info_internal; uLong uMagic; - long lSeek = 0; + long lSeek; if (NULL == file) return EXTRACTOR_UNZIP_PARAMERROR; @@ -574,44 +574,56 @@ get_current_file_info (struct EXTRACTOR_UnzipFile *file, return EXTRACTOR_UNZIP_BADZIPFILE; if ( (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.version)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.version)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.version_needed)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.version_needed)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.flag)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.flag)) || (EXTRACTOR_UNZIP_OK != read_short_from_ffd (&file->z_filefunc, &file_info.compression_method)) || (EXTRACTOR_UNZIP_OK != - read_long_from_ffd (&file->z_filefunc, &file_info.dosDate)) ) + read_long_from_ffd (&file->z_filefunc, + &file_info.dosDate)) ) return EXTRACTOR_UNZIP_ERRNO; dos_date_to_tmu_date (file_info.dosDate, &file_info.tmu_date); if ( (EXTRACTOR_UNZIP_OK != - read_long_from_ffd (&file->z_filefunc, &file_info.crc)) || + read_long_from_ffd (&file->z_filefunc, + &file_info.crc)) || (EXTRACTOR_UNZIP_OK != - read_long_from_ffd (&file->z_filefunc, &file_info.compressed_size)) || + read_long_from_ffd (&file->z_filefunc, + &file_info.compressed_size)) || (EXTRACTOR_UNZIP_OK != - read_long_from_ffd (&file->z_filefunc, &file_info.uncompressed_size)) || + read_long_from_ffd (&file->z_filefunc, + &file_info.uncompressed_size)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.size_filename)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.size_filename)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.size_file_extra)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.size_file_extra)) || (EXTRACTOR_UNZIP_OK != read_short_from_ffd (&file->z_filefunc, &file_info.size_file_comment)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.disk_num_start)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.disk_num_start)) || (EXTRACTOR_UNZIP_OK != - read_short_from_ffd (&file->z_filefunc, &file_info.internal_fa)) || + read_short_from_ffd (&file->z_filefunc, + &file_info.internal_fa)) || (EXTRACTOR_UNZIP_OK != - read_long_from_ffd (&file->z_filefunc, &file_info.external_fa)) || + read_long_from_ffd (&file->z_filefunc, + &file_info.external_fa)) || (EXTRACTOR_UNZIP_OK != read_long_from_ffd (&file->z_filefunc, &file_info_internal.offset_curfile)) ) return EXTRACTOR_UNZIP_ERRNO; - lSeek += file_info.size_filename; + lSeek = file_info.size_filename; if (NULL != szFileName) { uLong uSizeRead; @@ -622,11 +634,23 @@ get_current_file_info (struct EXTRACTOR_UnzipFile *file, uSizeRead = file_info.size_filename; } else - uSizeRead = fileNameBufferSize; - + { + if (fileNameBufferSize > 0) + { + *(szFileName + fileNameBufferSize - 1) = '\0'; + uSizeRead = fileNameBufferSize - 1; + } + else + { + uSizeRead = 0; + } + } if ( (file_info.size_filename > 0) && (fileNameBufferSize > 0) ) - if (ZREAD (file->z_filefunc, szFileName, uSizeRead) != uSizeRead) + if (uSizeRead != + ZREAD (file->z_filefunc, + szFileName, + uSizeRead)) return EXTRACTOR_UNZIP_ERRNO; lSeek -= uSizeRead; } @@ -642,21 +666,26 @@ get_current_file_info (struct EXTRACTOR_UnzipFile *file, if (0 != lSeek) { - if (0 == ZSEEK (file->z_filefunc, lSeek, SEEK_CUR)) - lSeek = 0; - else + if (0 != + ZSEEK (file->z_filefunc, + lSeek, + SEEK_CUR)) return EXTRACTOR_UNZIP_ERRNO; + lSeek = 0; } if ( (file_info.size_file_extra > 0) && (extraFieldBufferSize > 0) && - (ZREAD (file->z_filefunc, + (uSizeRead != + ZREAD (file->z_filefunc, extraField, - uSizeRead) != uSizeRead) ) + uSizeRead)) ) return EXTRACTOR_UNZIP_ERRNO; lSeek += file_info.size_file_extra - uSizeRead; } else + { lSeek += file_info.size_file_extra; + } if (NULL != szComment) { @@ -675,19 +704,27 @@ get_current_file_info (struct EXTRACTOR_UnzipFile *file, if (0 != lSeek) { - if (0 == ZSEEK (file->z_filefunc, lSeek, SEEK_CUR)) + if (0 == + ZSEEK (file->z_filefunc, + lSeek, + SEEK_CUR)) lSeek = 0; else return EXTRACTOR_UNZIP_ERRNO; } if ( (file_info.size_file_comment > 0) && (commentBufferSize > 0) && - (ZREAD (file->z_filefunc, szComment, uSizeRead) != uSizeRead) ) + (uSizeRead != + ZREAD (file->z_filefunc, + szComment, + uSizeRead)) ) return EXTRACTOR_UNZIP_ERRNO; lSeek += file_info.size_file_comment - uSizeRead; } else + { lSeek += file_info.size_file_comment; + } if (NULL != pfile_info) *pfile_info = file_info; @@ -715,7 +752,9 @@ EXTRACTOR_common_unzip_go_to_first_file (struct EXTRACTOR_UnzipFile *file) err = get_current_file_info (file, &file->cur_file_info, &file->cur_file_info_internal, - NULL, 0, NULL, 0, NULL, 0); + NULL, 0, + NULL, 0, + NULL, 0); file->current_file_ok = (EXTRACTOR_UNZIP_OK == err); return err; } @@ -877,13 +916,19 @@ EXTRACTOR_common_unzip_get_global_comment (struct EXTRACTOR_UnzipFile *file, { if (NULL == file) return EXTRACTOR_UNZIP_PARAMERROR; + if (0 == comment_len) + return EXTRACTOR_UNZIP_ERRNO; /* cannot 0-terminate, hence error */ if (comment_len > file->gi.size_comment) comment_len = file->gi.size_comment + 1; if (0 != - ZSEEK (file->z_filefunc, file->gi.offset_comment, SEEK_SET)) + ZSEEK (file->z_filefunc, + file->gi.offset_comment, + SEEK_SET)) return EXTRACTOR_UNZIP_ERRNO; if (comment_len - 1 != - ZREAD (file->z_filefunc, comment, comment_len - 1)) + ZREAD (file->z_filefunc, + comment, + comment_len - 1)) return EXTRACTOR_UNZIP_ERRNO; comment[comment_len - 1] = '\0'; return EXTRACTOR_UNZIP_OK; @@ -905,15 +950,15 @@ EXTRACTOR_common_unzip_get_global_comment (struct EXTRACTOR_UnzipFile *file, * @return #EXTRACTOR_UNZIP_OK if there is no problem. */ int -EXTRACTOR_common_unzip_get_current_file_info (struct EXTRACTOR_UnzipFile *file, - struct EXTRACTOR_UnzipFileInfo * - pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize) +EXTRACTOR_common_unzip_get_current_file_info ( + struct EXTRACTOR_UnzipFile *file, + struct EXTRACTOR_UnzipFileInfo *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize) { return get_current_file_info (file, pfile_info, NULL, szFileName, fileNameBufferSize, @@ -998,12 +1043,13 @@ EXTRACTOR_common_unzip_go_find_local_file (struct EXTRACTOR_UnzipFile *file, char szCurrentFileName[UNZ_MAXFILENAMEINZIP + 1]; if (EXTRACTOR_UNZIP_OK != - (err = EXTRACTOR_common_unzip_get_current_file_info (file, NULL, - szCurrentFileName, - sizeof ( - szCurrentFileName) - - 1, - NULL, 0, NULL, 0))) + (err = EXTRACTOR_common_unzip_get_current_file_info ( + file, NULL, + szCurrentFileName, + sizeof (szCurrentFileName) + - 1, + NULL, 0, + NULL, 0))) break; if (0 == EXTRACTOR_common_unzip_string_file_name_compare (szCurrentFileName, diff --git a/src/include/extractor.h b/src/include/extractor.h @@ -35,7 +35,7 @@ extern "C" { * 0.2.6-1 => 0x00020601 * 4.5.2-0 => 0x04050200 */ -#define EXTRACTOR_VERSION 0x010B0000 +#define EXTRACTOR_VERSION 0x01110000 #include <stdio.h> diff --git a/src/main/extract.c b/src/main/extract.c @@ -287,6 +287,9 @@ print_selected_keywords (void *cls, const char *stype; const char *mt; + if ( (type >= EXTRACTOR_metatype_get_max ()) || + (type < 0) ) + return 0; /* invalid type */ if (YES != print[type]) return 0; if (verbose > 3) @@ -424,7 +427,8 @@ print_selected_keywords_grep_friendly (void *cls, "%s ", gettext (mt)); fprintf (stdout, - "`%s'", + "`%.*s'", + (int) data_len, data); break; default: @@ -534,8 +538,6 @@ print_bibtex (void *cls, const char *data, size_t data_len) { - unsigned int i; - if (0 == data_len) return 0; if (YES != print[type]) @@ -544,13 +546,17 @@ print_bibtex (void *cls, return 0; if (EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE == type) { - entry_type = strdup (data); + entry_type = strndup (data, + data_len); return 0; } - for (i = 0; NULL != btm[i].bibTexName; i++) + for (unsigned int i = 0; + NULL != btm[i].bibTexName; + i++) if ( (NULL == btm[i].value) && (btm[i].le_type == type) ) - btm[i].value = strdup (data); + btm[i].value = strndup (data, + data_len); return 0; } @@ -1049,13 +1055,17 @@ main (int argc, | O_BINARY #endif ); + if ( (-1 != f) && (0 == fstat (f, &sb)) && - (NULL != (data = malloc ((size_t) sb.st_size))) && - (sb.st_size == read (f, - data, - (size_t) sb.st_size) ) ) + (MAP_FAILED != + (data = mmap (NULL, + (size_t) sb.st_size, + PROT_READ, + MAP_SHARED, + f, + 0))) ) { EXTRACTOR_extract (plugins, NULL, @@ -1073,8 +1083,9 @@ main (int argc, strerror (errno)); ret = 1; } - if (NULL != data) - free (data); + if (MAP_FAILED != data) + munmap (data, + (size_t) sb.st_size); if (-1 != f) (void) close (f); } diff --git a/src/main/extractor_ipc.h b/src/main/extractor_ipc.h @@ -378,7 +378,7 @@ EXTRACTOR_IPC_shared_memory_set_ (struct EXTRACTOR_SharedMemory *shm, * Query datasource for current position * * @param ds data source to query - * @return current position in the datasource or UINT_MAX on error + * @return current position in the datasource or UINT64_MAX on error */ uint64_t EXTRACTOR_datasource_get_pos_ (struct EXTRACTOR_Datasource *ds); diff --git a/src/main/extractor_ipc_gnu.c b/src/main/extractor_ipc_gnu.c @@ -253,7 +253,7 @@ EXTRACTOR_IPC_shared_memory_set_ (struct EXTRACTOR_SharedMemory *shm, * Query datasource for current position * * @param ds data source to query - * @return current position in the datasource or UINT_MAX on error + * @return current position in the datasource or UINT64_MAX on error */ uint64_t EXTRACTOR_datasource_get_pos_ (struct EXTRACTOR_Datasource *ds) @@ -263,7 +263,7 @@ EXTRACTOR_datasource_get_pos_ (struct EXTRACTOR_Datasource *ds) SEEK_CUR); if (-1 == pos) - return UINT_MAX; + return UINT64_MAX; return pos; } diff --git a/src/main/extractor_plugpath.c b/src/main/extractor_plugpath.c @@ -108,7 +108,7 @@ get_path_from_proc_exe () while (NULL != fgets (line, 1024, f)) { if ( (1 == sscanf (line, - "%*x-%*x %*c%*c%*c%*c %*x %*2x:%*2x %*u%*[ ]%s", + "%*x-%*x %*c%*c%*c%*c %*x %*2x:%*2x %*u%*[ ]%1023s", dir)) && (NULL != (lestr = strstr (dir, "libextractor")) ) ) diff --git a/src/main/iconv.c b/src/main/iconv.c @@ -55,7 +55,9 @@ iconv_helper (iconv_t cd, if (NULL == (buf = malloc (outSize))) return NULL; ibuf = buf; - memset (buf, 0, outSize); + memset (buf, + 0, + outSize); if (iconv (cd, (char**) &in, &inSize, @@ -64,16 +66,14 @@ iconv_helper (iconv_t cd, { /* conversion failed */ free (buf); - return strdup (i); + return strndup (i, + inSize); } return buf; #else /* good luck, just copying string... */ - char *buf; - - buf = malloc (inSize + 1); - memcpy (buf, in, inSize); - buf[inSize] = '\0'; + return strndup (in, + inSize); #endif } diff --git a/src/plugins/flac_extractor.c b/src/plugins/flac_extractor.c @@ -357,7 +357,7 @@ flac_metadata (const FLAC__StreamDecoder *decoder, check ((const char*) entry->entry, ilen, eq, - len - ilen, + len - ilen - 1, ec); } break; diff --git a/src/plugins/mpeg_extractor.c b/src/plugins/mpeg_extractor.c @@ -106,12 +106,11 @@ EXTRACTOR_mpeg_extract_method (struct EXTRACTOR_ExtractContext *ec) break; case STATE_SEQUENCE: fail_count = 0; - format[0] = fsize; - format[0]++; if (0 == mime) { mime = 1; - ADD ("video/mpeg", EXTRACTOR_METATYPE_MIMETYPE); + ADD ("video/mpeg", + EXTRACTOR_METATYPE_MIMETYPE); } snprintf (format, sizeof(format), "%ux%u", diff --git a/src/plugins/ogg_extractor.c b/src/plugins/ogg_extractor.c @@ -83,7 +83,9 @@ seek_ogg (void *datasource, struct EXTRACTOR_ExtractContext *ec = datasource; int64_t new_position; - new_position = ec->seek (ec->cls, (int64_t) offset, whence); + new_position = ec->seek (ec->cls, + (int64_t) offset, + whence); return (long) new_position; } diff --git a/src/plugins/png_extractor.c b/src/plugins/png_extractor.c @@ -224,13 +224,18 @@ processiTXt (struct EXTRACTOR_ExtractContext *ec, int ret; int zret; - if (length != ec->read (ec->cls, &ptr, length)) + if (length != ec->read (ec->cls, + &ptr, + length)) return 1; data = ptr; - pos = stnlen ((char *) data, length) + 1; + pos = stnlen ((char *) data, + length) + 1; if (pos >= length) return 0; compressed = data[pos++]; + if (pos > length) + return 0; if (compressed && (0 != data[pos++])) return 0; /* bad compression method */ if (pos > length) @@ -471,35 +476,60 @@ EXTRACTOR_png_extract_method (struct EXTRACTOR_ExtractContext *ec) ssize_t len; len = strlen (PNG_HEADER); - if (len != ec->read (ec->cls, &data, len)) + if (len != ec->read (ec->cls, + &data, + len)) return; - if (0 != strncmp ((const char*) data, PNG_HEADER, len)) + if (0 != strncmp ((const char*) data, + PNG_HEADER, + len)) return; - ADD (EXTRACTOR_METATYPE_MIMETYPE, "image/png"); + ADD (EXTRACTOR_METATYPE_MIMETYPE, + "image/png"); ret = 0; while (0 == ret) { - if (sizeof (uint32_t) + 4 != ec->read (ec->cls, - &data, - sizeof (uint32_t) + 4)) + if (sizeof (uint32_t) + 4 != + ec->read (ec->cls, + &data, + sizeof (uint32_t) + 4)) break; length = get_int_at (data); - if (0 > (pos = ec->seek (ec->cls, 0, SEEK_CUR))) + if (0 > (pos = ec->seek (ec->cls, + 0, + SEEK_CUR))) break; - pos += length + 4; /* Chunk type, data, crc */ - if (0 == strncmp ((char*) data + sizeof (uint32_t), "IHDR", 4)) - ret = processIHDR (ec, length); - if (0 == strncmp ((char*) data + sizeof (uint32_t), "iTXt", 4)) - ret = processiTXt (ec, length); - if (0 == strncmp ((char*) data + sizeof (uint32_t), "tEXt", 4)) - ret = processtEXt (ec, length); - if (0 == strncmp ((char*) data + sizeof (uint32_t), "zTXt", 4)) - ret = processzTXt (ec, length); - if (0 == strncmp ((char*) data + sizeof (uint32_t), "tIME", 4)) - ret = processtIME (ec, length); + pos += ((int64_t) length) + 4; /* Chunk type, data, crc */ + if (0 == strncmp ((char*) data + sizeof (uint32_t), + "IHDR", + 4)) + ret = processIHDR (ec, + length); + if (0 == strncmp ((char*) data + sizeof (uint32_t), + "iTXt", + 4)) + ret = processiTXt (ec, + length); + if (0 == strncmp ((char*) data + sizeof (uint32_t), + "tEXt", + 4)) + ret = processtEXt (ec, + length); + if (0 == strncmp ((char*) data + sizeof (uint32_t), + "zTXt", + 4)) + ret = processzTXt (ec, + length); + if (0 == strncmp ((char*) data + sizeof (uint32_t), + "tIME", + 4)) + ret = processtIME (ec, + length); if (ret != 0) break; - if (pos != ec->seek (ec->cls, pos, SEEK_SET)) + if (pos != ec->seek (ec->cls, + pos, + SEEK_SET)) break; } FINISH: diff --git a/src/plugins/thumbnailgtk_extractor.c b/src/plugins/thumbnailgtk_extractor.c @@ -118,8 +118,9 @@ EXTRACTOR_thumbnailgtk_extract_method (struct EXTRACTOR_ExtractContext *ec) buf, size, NULL); free (buf); + gdk_pixbuf_loader_close (loader, + NULL); in = gdk_pixbuf_loader_get_pixbuf (loader); - gdk_pixbuf_loader_close (loader, NULL); if (NULL == in) { g_object_unref (loader); diff --git a/src/plugins/wav_extractor.c b/src/plugins/wav_extractor.c @@ -121,11 +121,12 @@ EXTRACTOR_wav_extract_method (struct EXTRACTOR_ExtractContext *ec) snprintf (scratch, sizeof (scratch), - "%u ms, %d Hz, %s", + "%llu ms, %d Hz, %s", (samples < sample_rate) - ? (samples * 1000 / sample_rate) - : (samples / sample_rate) * 1000, - sample_rate, (1 == channels) ? _ ("mono") : _ ("stereo")); + ? (samples * 1000LLU / sample_rate) + : (samples / sample_rate) * 1000LLU, + sample_rate, + (1 == channels) ? _ ("mono") : _ ("stereo")); if (0 != ec->proc (ec->cls, "wav", EXTRACTOR_METATYPE_RESOURCE_TYPE, diff --git a/src/plugins/xm_extractor.c b/src/plugins/xm_extractor.c @@ -91,8 +91,8 @@ EXTRACTOR_xm_extract_method (struct EXTRACTOR_ExtractContext *ec) snprintf (xmversion, sizeof (xmversion), "%u.%u", - head->version[1], - head->version[0]); + (unsigned int) head->version[1], + (unsigned int) head->version[0]); ADD (xmversion, EXTRACTOR_METATYPE_FORMAT_VERSION); /* Song title */ memcpy (&title, head->title, 20);