You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(22) |
Sep
(57) |
Oct
(39) |
Nov
(93) |
Dec
(72) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(15) |
Feb
(8) |
Mar
(12) |
Apr
(25) |
May
(2) |
Jun
|
Jul
(11) |
Aug
(32) |
Sep
(18) |
Oct
(53) |
Nov
|
Dec
(11) |
2004 |
Jan
(19) |
Feb
(1) |
Mar
(15) |
Apr
(17) |
May
(56) |
Jun
(19) |
Jul
(6) |
Aug
(16) |
Sep
(44) |
Oct
(31) |
Nov
(36) |
Dec
(13) |
2005 |
Jan
(2) |
Feb
(41) |
Mar
(304) |
Apr
(176) |
May
(19) |
Jun
(33) |
Jul
(14) |
Aug
(21) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
(8) |
2006 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(2) |
May
(2) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
(7) |
Oct
(10) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(124) |
Jun
(59) |
Jul
(1) |
Aug
(13) |
Sep
(3) |
Oct
(11) |
Nov
(30) |
Dec
(35) |
2008 |
Jan
(31) |
Feb
(42) |
Mar
(4) |
Apr
(5) |
May
(2) |
Jun
(12) |
Jul
(8) |
Aug
(2) |
Sep
(4) |
Oct
(5) |
Nov
(89) |
Dec
(23) |
2009 |
Jan
(71) |
Feb
(5) |
Mar
(8) |
Apr
(7) |
May
(8) |
Jun
(7) |
Jul
|
Aug
(4) |
Sep
(58) |
Oct
(74) |
Nov
(53) |
Dec
(32) |
2010 |
Jan
(8) |
Feb
(13) |
Mar
(4) |
Apr
|
May
|
Jun
(10) |
Jul
(1) |
Aug
(2) |
Sep
(12) |
Oct
(17) |
Nov
(2) |
Dec
(24) |
2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(24) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(20) |
Mar
(18) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(12) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(8) |
Jun
|
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(5) |
From: Dan F. <dfa...@us...> - 2008-04-10 21:13:41
|
Update of /cvsroot/libexif/exif/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13519/po Added Files: sk.po Log Message: Added Slovak translation by Ivan Masár --- NEW FILE: sk.po --- (This appears to be a binary file; contents omitted.) |
From: Dan F. <dfa...@us...> - 2008-04-08 17:32:51
|
Update of /cvsroot/libexif/libexif/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21283 Modified Files: sk.po Log Message: Updated Slovak translation from Ivan Masár Index: sk.po =================================================================== RCS file: /cvsroot/libexif/libexif/po/sk.po,v retrieving revision 1.13 retrieving revision 1.14 diff -u -p -d -r1.13 -r1.14 --- sk.po 3 Apr 2008 17:29:48 -0000 1.13 +++ sk.po 8 Apr 2008 17:32:22 -0000 1.14 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libexif 0.6.17-pre1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-12-18 22:53-0800\n" -"PO-Revision-Date: 2008-04-03 12:47+0100\n" +"PO-Revision-Date: 2008-04-08 12:26+0100\n" "Last-Translator: Ivan Masár <he...@ce...>\n" "Language-Team: Slovak <sk...@li...>\n" "MIME-Version: 1.0\n" @@ -132,7 +132,7 @@ msgstr "zapnutý" #: libexif/canon/mnote-canon-entry.c:86 libexif/fuji/mnote-fuji-entry.c:104 #: libexif/olympus/mnote-olympus-entry.c:168 msgid "Red-eye reduction" -msgstr "redukcia Äervených oÄÃ" +msgstr "korekcia Äervených oÄÃ" #: libexif/canon/mnote-canon-entry.c:87 msgid "Slow synchro" @@ -140,11 +140,11 @@ msgstr "pomalá synchronizácia" #: libexif/canon/mnote-canon-entry.c:88 msgid "Auto + Red-eye reduction" -msgstr "auto + redukcia Äervených oÄÃ" +msgstr "auto + korekcia Äervených oÄÃ" #: libexif/canon/mnote-canon-entry.c:89 msgid "On + Red-eye reduction" -msgstr "zapnutý + redukcia Äervených oÄÃ" +msgstr "zapnutý + korekcia Äervených oÄÃ" #: libexif/canon/mnote-canon-entry.c:90 msgid "External flash" @@ -166,7 +166,7 @@ msgstr "film" #: libexif/canon/mnote-canon-entry.c:94 msgid "Continuous, speed priority" -msgstr "spojitý, prioritna pre rýchlosÅ¥" +msgstr "spojitý, priorita pre rýchlosÅ¥" #: libexif/canon/mnote-canon-entry.c:95 msgid "Continuous, low" @@ -198,7 +198,7 @@ msgstr "ruÄné zaostrenie" #: libexif/canon/mnote-canon-entry.c:104 libexif/canon/mnote-canon-entry.c:132 #: libexif/canon/mnote-canon-entry.c:187 msgid "Pan focus" -msgstr "panorámovaÅ¥ zaostrenie" +msgstr "posúvaÅ¥ zaostrenie" #: libexif/canon/mnote-canon-entry.c:105 msgid "JPEG" @@ -1392,7 +1392,7 @@ msgstr "režim jednoduchého fotenia" #: libexif/canon/mnote-canon-tag.c:65 msgid "Digital zoom" -msgstr "digiálne priblÞenie" +msgstr "digitálne priblÞenie" #: libexif/canon/mnote-canon-tag.c:66 libexif/exif-tag.c:658 #: libexif/fuji/mnote-fuji-tag.c:42 libexif/pentax/mnote-pentax-tag.c:46 @@ -1521,7 +1521,7 @@ msgstr "auto ISO" #: libexif/canon/mnote-canon-tag.c:96 msgid "Shot ISO" -msgstr "ISO snÃmku" +msgstr "ISO snÃmky" #: libexif/canon/mnote-canon-tag.c:97 msgid "Measured EV" @@ -2152,43 +2152,43 @@ msgstr "Bez funkcie blesku." #: libexif/exif-entry.c:522 msgid "Flash fired, red-eye reduction mode." -msgstr "Blesk sa spustil, redukcia Äervených oÄÃ." +msgstr "Blesk sa spustil, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:523 msgid "Flash fired, red-eye reduction mode, return light not detected." -msgstr "Blesk sa spustil, redukcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." +msgstr "Blesk sa spustil, korekcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." #: libexif/exif-entry.c:525 msgid "Flash fired, red-eye reduction mode, return light detected." -msgstr "Blesk sa spustil, redukcia Äervených oÄÃ, vracajúce sa svetlo detekované." +msgstr "Blesk sa spustil, korekcia Äervených oÄÃ, vracajúce sa svetlo detekované." #: libexif/exif-entry.c:527 msgid "Flash fired, compulsory flash mode, red-eye reduction mode." -msgstr "Blesk sa spustil, povinný režim blesku, redukcia Äervených oÄÃ." +msgstr "Blesk sa spustil, povinný režim blesku, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:529 msgid "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected." -msgstr "Blesk sa spustil, povinný režim blesku, redukcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." +msgstr "Blesk sa spustil, povinný režim blesku, korekcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." #: libexif/exif-entry.c:531 msgid "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected." -msgstr "Blesk sa spustil, povinný režim blesku, redukcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." +msgstr "Blesk sa spustil, povinný režim blesku, korekcia Äervených oÄÃ, vracajúce sa svetlo nedetekované." #: libexif/exif-entry.c:533 msgid "Flash did not fire, auto mode, red-eye reduction mode." -msgstr "Blesk sa nespustil, automatický režim, redukcia Äervených oÄÃ." +msgstr "Blesk sa nespustil, automatický režim, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:534 msgid "Flash fired, auto mode, red-eye reduction mode." -msgstr "Blesk sa spustil, automatický režim, redukcia Äervených oÄÃ." +msgstr "Blesk sa spustil, automatický režim, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:535 msgid "Flash fired, auto mode, return light not detected, red-eye reduction mode." -msgstr "Blesk sa nespustil, automatický režim blesku, vracajúce sa svetlo nedetekované, redukcia Äervených oÄÃ." +msgstr "Blesk sa nespustil, automatický režim blesku, vracajúce sa svetlo nedetekované, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:537 msgid "Flash fired, auto mode, return light detected, red-eye reduction mode." -msgstr "Blesk sa nespustil, automatický režim blesku, vracajúce sa svetlo detekované, redukcia Äervených oÄÃ." +msgstr "Blesk sa nespustil, automatický režim blesku, vracajúce sa svetlo detekované, korekcia Äervených oÄÃ." #: libexif/exif-entry.c:541 msgid "?" @@ -2582,7 +2582,7 @@ msgstr "vzoriek na pixel" #: libexif/exif-tag.c:124 msgid "The number of components per pixel. Since this standard applies to RGB and YCbCr images, the value set for this tag is 3. In JPEG compressed data a JPEG marker is used instead of this tag." -msgstr "PoÄet zložiek na pixel. KeÄže tento Å¡tandard sa vzÅ¥ahuje na RGB a YCbCr obrázky, hodnota tejto znaÄny je 3. V JPEG komprimovaných dátach sa namiesto tejto znaÄky použÃva JPEG znaÄka." +msgstr "PoÄet zložiek na pixel. KeÄže tento Å¡tandard sa vzÅ¥ahuje na RGB a YCbCr obrázky, hodnota tejto znaÄky je 3. V JPEG komprimovaných dátach sa namiesto tejto znaÄky použÃva JPEG znaÄka." # exif-rowsperstrip #: libexif/exif-tag.c:129 @@ -2654,7 +2654,7 @@ msgstr "softvér" #: libexif/exif-tag.c:168 msgid "This tag records the name and version of the software or firmware of the camera or image input device used to generate the image. The detailed format is not specified, but it is recommended that the example shown below be followed. When the field is left blank, it is treated as unknown." -msgstr "Táto znaÄka zaznamenáva názov a verziu softvéru alebo firmvéru fotoaparátu alebo zariadenia, ktoré bolo použité pri tvorbe obrázka. Podrobný formát nie je Å¡pecifikovaný, ale odporúÄa sa dodržiavaÅ¥ formát ako v doluuvedenom prÃklade. KeÄ je pole prázdne, verzia je neznáma." +msgstr "Táto znaÄka zaznamenáva názov a verziu softvéru alebo firmvéru fotoaparátu alebo zariadenia, ktoré bolo použité pri tvorbe obrázka. Podrobný formát nie je Å¡pecifikovaný, ale odporúÄa sa dodržiavaÅ¥ formát ako v dolu uvedenom prÃklade. KeÄ je pole prázdne, verzia je neznáma." # exif-datetime #: libexif/exif-tag.c:175 @@ -2672,7 +2672,7 @@ msgstr "Autor" #: libexif/exif-tag.c:180 msgid "This tag records the name of the camera owner, photographer or image creator. The detailed format is not specified, but it is recommended that the information be written as in the example below for ease of Interoperability. When the field is left blank, it is treated as unknown." -msgstr "Táto znaÄka zaznamenáva vlastnÃka fotoaparátu, fotografa alebo tvorcu obrázka. Presný formát nie je Å¡pecifikovaný, ale odporúÄa sa, aby kvôli interoperabilite bola informácia zapÃsaná ako v doluuvedenom prÃklade. KeÄ je pole prázdne, umelec je neznámy." +msgstr "Táto znaÄka zaznamenáva vlastnÃka fotoaparátu, fotografa alebo tvorcu obrázka. Presný formát nie je Å¡pecifikovaný, ale odporúÄa sa, aby kvôli interoperabilite bola informácia zapÃsaná ako v dolu uvedenom prÃklade. KeÄ je pole prázdne, umelec je neznámy." # exif-whitepoint #: libexif/exif-tag.c:186 @@ -2686,7 +2686,7 @@ msgstr "Chromaticita bieleho bodu obráz # exif-primarychromaticities #: libexif/exif-tag.c:192 msgid "Primary Chromaticities" -msgstr "priárne chromaticity" +msgstr "primárne chromaticity" #: libexif/exif-tag.c:193 msgid "The chromaticity of the three primary colors of the image. Normally this tag is not necessary, since color space is specified in the color space information tag (<ColorSpace>)." @@ -2725,7 +2725,7 @@ msgstr "koeficienty YCbCr" #: libexif/exif-tag.c:219 msgid "The matrix coefficients for transformation from RGB to YCbCr image data. No default is given in TIFF; but here the value given in Appendix E, \"Color Space Guidelines\", is used as the default. The color space is declared in a color space information tag, with the default being the value that gives the optimal image characteristics Interoperability this condition." -msgstr "Matica koeficientov transformácie obrazových dát z RGB na YCbCr. V TIFF nie je definovaná Å¡tandardná hodnota; ale tu sa použÃva hodnota uvedená v PrÃlohe E, \"Pokyny ohľadne farebného priestoru\". Farebný priestor je deklarovaný informaÄným Å¡tÃtkom farebného priestoru, priÄom Å¡tandardnou hodnotou je tá, ktorá dáva optimálnu chrakteristiku interoperability tohto stavu." +msgstr "Matica koeficientov transformácie obrazových dát z RGB na YCbCr. V TIFF nie je definovaná Å¡tandardná hodnota; ale tu sa použÃva hodnota uvedená v PrÃlohe E, \"Pokyny ohľadne farebného priestoru\". Farebný priestor je deklarovaný informaÄným Å¡tÃtkom farebného priestoru, priÄom Å¡tandardnou hodnotou je tá, ktorá dáva optimálnu charakteristiku interoperability tohto stavu." # exif-ycbcrsubsampling #: libexif/exif-tag.c:228 @@ -2743,7 +2743,7 @@ msgstr "poloha YCbCr" #: libexif/exif-tag.c:235 msgid "The position of chrominance components in relation to the luminance component. This field is designated only for JPEG compressed data or uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr = 4:2:2 it is recommended in this standard that 2 (co-sited) be used to record data, in order to improve the image quality when viewed on TV systems. When this field does not exist, the reader shall assume the TIFF default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is recommended. If the reader does not have the capability of supporting both kinds of <YCbCrPositioning>, it shall follow the TIFF default regardless of the value in this field. It is preferable that readers be able to support both centered and co-sited positioning." -msgstr "Poloha zložiek chrominancie vzhľadom ku zložke svietivosti. Toto pole je urÄené iba prekomprimované dáta JPEG alebo nekomprimované dáta YCbCr. Å tandard TIFF je 1 (centrované), ale keÄ Y:Cb:Cr = 4:2:2 odporúÄa sa v tomto Å¡tandarde použiÅ¥ pre záznam dát 2 (na rovnakom mieste), aby sa zlepÅ¡ila kvalita obrazu pri zobrazovanà na televÃznych systémoch. KeÄ toto pole neexistuje, ÄÃtacie zariadenie bude predpokladaÅ¥ Å¡tandard TIFF. V prÃpade, že Y:Cb:Cr = 4:2:0 sa odporúÄa Å¡tandard TIFF (centrované). Ak ÄÃtacie zariadenie nedokáže naraz podporovaÅ¥ oba druhy <YCbCrPositioning>, bude sa držaÅ¥ Å¡tandardu TIFF nezávisle od hodnoty v tomto poli. UprednostÅuje sa, aby ÄÃtacie zariadenia podporovali obe polohy - centrované aj na rovnakom mieste." +msgstr "Poloha zložiek chrominancie vzhľadom ku zložke svietivosti. Toto pole je urÄené iba pre komprimované dáta JPEG alebo nekomprimované dáta YCbCr. Å tandard TIFF je 1 (centrované), ale keÄ Y:Cb:Cr = 4:2:2 odporúÄa sa v tomto Å¡tandarde použiÅ¥ pre záznam dát 2 (na rovnakom mieste), aby sa zlepÅ¡ila kvalita obrazu pri zobrazovanà na televÃznych systémoch. KeÄ toto pole neexistuje, ÄÃtacie zariadenie bude predpokladaÅ¥ Å¡tandard TIFF. V prÃpade, že Y:Cb:Cr = 4:2:0 sa odporúÄa Å¡tandard TIFF (centrované). Ak ÄÃtacie zariadenie nedokáže naraz podporovaÅ¥ oba druhy <YCbCrPositioning>, bude sa držaÅ¥ Å¡tandardu TIFF nezávisle od hodnoty v tomto poli. UprednostÅuje sa, aby ÄÃtacie zariadenia podporovali obe polohy - centrované aj na rovnakom mieste." # exif-referenceblackwhite #: libexif/exif-tag.c:250 @@ -2752,7 +2752,7 @@ msgstr "referenÄná Äierna/biela" #: libexif/exif-tag.c:251 msgid "The reference black point value and reference white point value. No defaults are given in TIFF, but the values below are given as defaults here. The color space is declared in a color space information tag, with the default being the value that gives the optimal image characteristics Interoperability these conditions." -msgstr "ReferenÄná hodnota Äierneho bodu a referenÄná hodnota bieleho bodu. TIFF neudáva Å¡tandardné hodnoty, ale nižšie uvedené hodnoty sú tu dané ako Å¡tandardy. Farebný priestor sa deklaruje v informaÄnom Å¡tÃtku farebného priestoru, priÄom Å¡tandardnou hodnotou je tá, ktorá dáva optimálnu chrakteristiku interoperability tohto stavu." +msgstr "ReferenÄná hodnota Äierneho bodu a referenÄná hodnota bieleho bodu. TIFF neudáva Å¡tandardné hodnoty, ale nižšie uvedené hodnoty sú tu dané ako Å¡tandardy. Farebný priestor sa deklaruje v informaÄnom Å¡tÃtku farebného priestoru, priÄom Å¡tandardnou hodnotou je tá, ktorá dáva optimálnu charakteristiku interoperability tohto stavu." #: libexif/exif-tag.c:258 msgid "XML Packet" @@ -2939,7 +2939,7 @@ msgstr "Konfigurácia komponentov" #: libexif/exif-tag.c:394 msgid "Information specific to compressed data. The channels of each component are arranged in order from the 1st component to the 4th. For uncompressed data the data arrangement is given in the <PhotometricInterpretation> tag. However, since <PhotometricInterpretation> can only express the order of Y, Cb and Cr, this tag is provided for cases when compressed data uses components other than Y, Cb, and Cr and to enable support of other sequences." -msgstr "Informácia Å¡pecifická pre kompresné dáta. Kanály každej zložky sú zoradené v poradé d 1. po 4. zložku. Pre nekomprimované dáta je poradie dát dané Å¡tÃtkom <PhotometricInterpretation>. AvÅ¡ak keÄže <PhotometricInterpretation> dokáže vyjadriÅ¥ iba poradie Y, Cb a Cr, tento Å¡tÃtok je použiteľný v prÃpadoch, kedy komprimované dáta použÃvajú iné komponenty ako Y, Cb, a Cr a na to, aby sa umožnila podpora iných poradÃ." +msgstr "Informácia Å¡pecifická pre kompresné dáta. Kanály každej zložky sú zoradené v poradà d 1. po 4. zložku. Pre nekomprimované dáta je poradie dát dané Å¡tÃtkom <PhotometricInterpretation>. AvÅ¡ak keÄže <PhotometricInterpretation> dokáže vyjadriÅ¥ iba poradie Y, Cb a Cr, tento Å¡tÃtok je použiteľný v prÃpadoch, kedy komprimované dáta použÃvajú iné komponenty ako Y, Cb, a Cr a na to, aby sa umožnila podpora iných poradÃ." # exif-compressedbitsperpixel #: libexif/exif-tag.c:404 @@ -3041,7 +3041,7 @@ msgstr "komentár použÃvateľa" #: libexif/exif-tag.c:452 msgid "A tag for Exif users to write keywords or comments on the image besides those in <ImageDescription>, and without the character code limitations of the <ImageDescription> tag. The character code used in the <UserComment> tag is identified based on an ID code in a fixed 8-byte area at the start of the tag data area. The unused portion of the area is padded with NULL (\"00.h\"). ID codes are assigned by means of registration. The designation method and references for each character code are given in Table 6. The value of CountN is determined based on the 8 bytes in the character code area and the number of bytes in the user comment part. Since the TYPE is not ASCII, NULL termination is not necessary (see Fig. 9). The ID code for the <UserComment> area may be a Defined code such as JIS or ASCII, or may be Undefined. The Undefined name is UndefinedText, and the ID code is filled with 8 bytes of all \"NULL\" (\"00.H\"). An Exif reader that reads the <UserComment> tag must have a function for determining the ID code. This function is not required in Exif readers that do not use the <UserComment> tag (see Table 7). When a <UserComment> area is set aside, it is recommended that the ID code be ASCII and that the following user comment part be filled with blank characters [20.H]." -msgstr "Å tÃtok pre použÃvateľov exif pre zapÃsanie kľúÄových slov alebo komentára k obrázku naviac k <ImageDescription> a bez obmedzenà znakovej sady ako pri Å¡tÃtku <ImageDescription>. Znakový kód použitý v Å¡tÃtku <UserComment> je identifikovaná na základe ID kódu v pevnej 8-bajtovej oblasti na zaÄiatku Å¡tÃtku. Nevyužitá ÄasÅ¥ oblasti sa doplnà znakmi NULL (\"00.h\"). ID kódy sú pridelené na základe registrácie. Spôsoby urÄenia a referencià každého znakového kódu sú udané v Tabuľke 6. Hodnota CountN sa urÄà na základe 8 bajtov v oblasti znakového kódu a poÄtu bajtov v Äasti použÃvateľského komentára. KeÄže TYPE nie je ASCII, nie je potrebné ukonÄenie pomocou NULL (pozri Obr. 9). ID kód oblasti <UserComment> môže byÅ¥ Definovaný kód ako JIS alebo ASCII alebo môže byÅ¥ Nedefinovaný. Nedefinovaný je UndefinedText a ID kód sa vyplnà 8 bajtami znaku \"NULL\" (\"00.H\"). ÄÃtacie zariadenie exif, ktoré ÄÃta Å¡tÃtok <UserComment> musà maÅ¥ funkciu na urÄenie ID kódu. Táto funkcia sa nevyžaduje v ÄÃtacÃch zariadeniach exif, ktoré nevyužÃvajú Å¡tÃtok <UserComment> (pozri Tabuľku 7). KeÄ sa vyhradà oblasÅ¥ <UserComment>, odporúÄa sa, aby ID kód bol ASCII a nasledovná ÄasÅ¥ použÃvateľského komentára bola vyplnená prázdnymi znakmi [20.H]." +msgstr "Å tÃtok, kde použÃvatelia exif môžu zapÃsaÅ¥ kľúÄové slová alebo komentár k obrázku naviac k <ImageDescription> a bez obmedzenà znakovej sady ako pri Å¡tÃtku <ImageDescription>. Znakový kód použitý v Å¡tÃtku <UserComment> je identifikovaná na základe ID kódu v pevnej 8-bajtovej oblasti na zaÄiatku Å¡tÃtku. Nevyužitá ÄasÅ¥ oblasti sa doplnà znakmi NULL (\"00.h\"). ID kódy sú pridelené na základe registrácie. Spôsoby urÄenia a referencià každého znakového kódu sú udané v Tabuľke 6. Hodnota CountN sa urÄà na základe 8 bajtov v oblasti znakového kódu a poÄtu bajtov v Äasti použÃvateľského komentára. KeÄže TYPE nie je ASCII, nie je potrebné ukonÄenie pomocou NULL (pozri Obr. 9). ID kód oblasti <UserComment> môže byÅ¥ Definovaný kód ako JIS alebo ASCII alebo môže byÅ¥ Nedefinovaný. Nedefinovaný je UndefinedText a ID kód sa vyplnà 8 bajtami znaku \"NULL\" (\"00.H\"). ÄÃtacie zariadenie exif, ktoré ÄÃta Å¡tÃtok <UserComment> musà maÅ¥ funkciu na urÄenie ID kódu. Táto funkcia sa nevyžaduje v ÄÃtacÃch zariadeniach exif, ktoré nevyužÃvajú Å¡tÃtok <UserComment> (pozri Tabuľku 7). KeÄ sa vyhradà oblasÅ¥ <UserComment>, odporúÄa sa, aby ID kód bol ASCII a nasledovná ÄasÅ¥ použÃvateľského komentára bola vyplnená prázdnymi znakmi [20.H]." #: libexif/exif-tag.c:477 msgid "A tag used to record fractions of seconds for the <DateTime> tag." @@ -3320,7 +3320,7 @@ msgstr "ZnaÄà hodnotu koeficientu gamm #: libexif/exif-tag.c:682 msgid "PRINT Image Matching" -msgstr "Zhoda obrázkov PRINT" +msgstr "PRINT Image Matching" #: libexif/exif-tag.c:683 msgid "Related to Epson's PRINT Image Matching technology" @@ -3429,11 +3429,11 @@ msgstr "F-Å¡tandardný" #: libexif/fuji/mnote-fuji-entry.c:147 msgid "F-Chrome" -msgstr "F-Chróm" +msgstr "F-chróm" #: libexif/fuji/mnote-fuji-entry.c:148 msgid "F-B&W" -msgstr "F-B&W" +msgstr "F-Äb" #: libexif/fuji/mnote-fuji-entry.c:151 msgid "No blur" @@ -3543,7 +3543,7 @@ msgstr "SýtosÅ¥ chromaticity" #: libexif/olympus/mnote-olympus-tag.c:127 #: libexif/pentax/mnote-pentax-tag.c:38 libexif/pentax/mnote-pentax-tag.c:66 msgid "Flash Mode" -msgstr "režim blesku" +msgstr "Režim blesku" #: libexif/fuji/mnote-fuji-tag.c:44 msgid "Flash Firing Strength Compensation" @@ -3618,11 +3618,11 @@ msgstr "Maximálna ohnisková vzdialenos #: libexif/fuji/mnote-fuji-tag.c:62 msgid "Maximum Aperture at Minimum Focal" -msgstr "maximálna clona pri minimálnom ohnisku" +msgstr "Maximálna clona pri minimálnom ohnisku" #: libexif/fuji/mnote-fuji-tag.c:63 msgid "Maximum Aperture at Maximum Focal" -msgstr "maximálna clona pri maximálnom ohnisku" +msgstr "Maximálna clona pri maximálnom ohnisku" #: libexif/fuji/mnote-fuji-tag.c:65 msgid "Order Number" @@ -4157,7 +4157,7 @@ msgstr "nastavenie sýtosti" #: libexif/olympus/mnote-olympus-tag.c:76 msgid "Noisereduction" -msgstr "redukcia Å¡umu" +msgstr "Redukcia Å¡umu" #: libexif/olympus/mnote-olympus-tag.c:79 msgid "Sensor pixel size" @@ -4502,7 +4502,7 @@ msgstr "blesk zapnutý" #: libexif/pentax/mnote-pentax-entry.c:94 msgid "Red-eye Reduction" -msgstr "redukcia Äervených oÄÃ" +msgstr "Korekcia Äervených oÄÃ" #: libexif/pentax/mnote-pentax-entry.c:140 msgid "TIFF" @@ -4592,7 +4592,7 @@ msgstr "auto, blesk sa nespustil" #: libexif/pentax/mnote-pentax-entry.c:196 msgid "Auto, Did not fire, Red-eye reduction" -msgstr "auto, blesk sa nespustil, redukcia Äervených oÄÃ" +msgstr "auto, blesk sa nespustil, korekcia Äervených oÄÃ" #: libexif/pentax/mnote-pentax-entry.c:197 msgid "Auto, Fired" @@ -4600,11 +4600,11 @@ msgstr "auto, blesk sa spustil" #: libexif/pentax/mnote-pentax-entry.c:199 msgid "Auto, Fired, Red-eye reduction" -msgstr "auto, blesk sa spustil, redukcia Äervených oÄÃ" +msgstr "auto, blesk sa spustil, korekcia Äervených oÄÃ" #: libexif/pentax/mnote-pentax-entry.c:200 msgid "On, Red-eye reduction" -msgstr "zapnutý, redukcia Äervených oÄÃ" +msgstr "zapnutý, korekcia Äervených oÄÃ" #: libexif/pentax/mnote-pentax-entry.c:201 msgid "On, Wireless" @@ -4620,7 +4620,7 @@ msgstr "zapnuté, pomalá synchr." #: libexif/pentax/mnote-pentax-entry.c:204 msgid "On, Slow-sync, Red-eye reduction" -msgstr "zapnutý, pomalá synch., redukcia Äervených oÄÃ" +msgstr "zapnutý, pomalá synch., korekcia Äervených oÄÃ" #: libexif/pentax/mnote-pentax-entry.c:205 msgid "On, Trailing-curtain Sync" @@ -4628,7 +4628,7 @@ msgstr "zapnuté, synchr. koncovej zácl #: libexif/pentax/mnote-pentax-entry.c:212 msgid "Pan Focus" -msgstr "panorámovaÅ¥ zaostrenie" +msgstr "posúvaÅ¥ zaostrenie" # AF = automatické zaostrenie #: libexif/pentax/mnote-pentax-entry.c:213 @@ -4789,7 +4789,7 @@ msgstr "VzdialenosÅ¥ fotografovaných ob #: libexif/pentax/mnote-pentax-tag.c:73 msgid "Bestshot mode" -msgstr "režim najlepÅ¡ieho snÃmku" +msgstr "režim najlepÅ¡ej snÃmky" #: test/nls/test-nls.c:20 test/nls/test-nls.c:23 test/nls/test-nls.c:24 msgid "[DO_NOT_TRANSLATE_THIS_MARKER]" |
From: Dan F. <dfa...@us...> - 2008-04-03 17:29:55
|
Update of /cvsroot/libexif/libexif/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24196/po Modified Files: sk.po Log Message: po/sk.po: Updated Slovak translation by Ivan Masár Index: sk.po =================================================================== RCS file: /cvsroot/libexif/libexif/po/sk.po,v retrieving revision 1.12 retrieving revision 1.13 diff -u -p -d -r1.12 -r1.13 --- sk.po 15 Dec 2007 07:56:35 -0000 1.12 +++ sk.po 3 Apr 2008 17:29:48 -0000 1.13 @@ -1,14 +1,14 @@ # translation of libexif-0.6.16.pot to Slovak -# Copyright (C) YEAR Lutz Müller and others +# Copyright (C) 2007 Lutz Müller and others # This file is distributed under the same license as the libexif package. -# Ivan Masár <he...@ce...>, 2007. +# Ivan Masár <he...@ce...>, 2007, 2008. # msgid "" msgstr "" -"Project-Id-Version: libexif 0.6.16\n" -"Report-Msgid-Bugs-To: lib...@li...\n" [...3166 lines suppressed...] -#, fuzzy msgid "Sequence Shot Interval" -msgstr "poradové ÄÃslo" +msgstr "Interval snÃmok v poradÃ" #: libexif/pentax/mnote-pentax-entry.c:78 #: libexif/pentax/mnote-pentax-entry.c:132 @@ -5562,6 +4795,12 @@ msgstr "režim najlepÅ¡ieho snÃmku" msgid "[DO_NOT_TRANSLATE_THIS_MARKER]" msgstr "[DO_NOT_TRANSLATE_THIS_MARKER]" +#~ msgid "cloudy" +#~ msgstr "oblaÄno" + +#~ msgid "close" +#~ msgstr "zblÃzka" + #~ msgid "Internal error." #~ msgstr "Vnútorná chyba." |
From: Dan F. <dfa...@us...> - 2008-04-03 17:29:53
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24196 Modified Files: ChangeLog Log Message: po/sk.po: Updated Slovak translation by Ivan Masár Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.270 retrieving revision 1.271 diff -u -p -d -r1.270 -r1.271 --- ChangeLog 20 Feb 2008 19:02:24 -0000 1.270 +++ ChangeLog 3 Apr 2008 17:29:47 -0000 1.271 @@ -1,3 +1,7 @@ +2008-04-03 Dan Fandrich <da...@co...> + + po/sk.po: Updated Slovak translation by Ivan Masár + 2008-02-20 Lutz Mueller <lu...@us...> Follow-up on #1774591: |
From: Dan F. <dfa...@us...> - 2008-03-28 06:10:44
|
Update of /cvsroot/libexif/exif/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3468/po Added Files: zh_CN.po Log Message: Added Chinese (simplifed) translation by Ji ZhengYu --- NEW FILE: zh_CN.po --- (This appears to be a binary file; contents omitted.) |
From: Dan F. <dfa...@us...> - 2008-03-28 06:10:43
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3468 Modified Files: ChangeLog NEWS configure.ac Log Message: Added Chinese (simplifed) translation by Ji ZhengYu Index: NEWS =================================================================== RCS file: /cvsroot/libexif/exif/NEWS,v retrieving revision 1.12 retrieving revision 1.13 diff -u -p -d -r1.12 -r1.13 --- NEWS 20 Mar 2008 19:05:01 -0000 1.12 +++ NEWS 28 Mar 2008 06:10:37 -0000 1.13 @@ -1,7 +1,7 @@ exif-0.6.16.x: * Fixed the output of -s and -t when iconv is configured * Updated translations: pl - * Added translations: nl sv vi + * Added translations: nl sv vi zh_CN * Fixed a double character encoding conversion problem with recent GNU gettext because version >= 0.10.36 does the conversion of message texts itself. Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/exif/configure.ac,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- configure.ac 20 Mar 2008 19:05:01 -0000 1.17 +++ configure.ac 28 Mar 2008 06:10:37 -0000 1.18 @@ -39,7 +39,7 @@ GP_PKG_CONFIG # i18n support # --------------------------------------------------------------------------- GP_GETTEXT_HACK([${PACKAGE}],[Lutz Mueller and others]) -ALL_LINGUAS="de es fr nl pl sv vi" +ALL_LINGUAS="de es fr nl pl sv vi zh_CN" AM_GNU_GETTEXT_VERSION([0.14.1]) AM_GNU_GETTEXT([external]) AM_PO_SUBDIRS() Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/exif/ChangeLog,v retrieving revision 1.69 retrieving revision 1.70 diff -u -p -d -r1.69 -r1.70 --- ChangeLog 20 Mar 2008 19:05:01 -0000 1.69 +++ ChangeLog 28 Mar 2008 06:10:37 -0000 1.70 @@ -1,3 +1,7 @@ +2008-03-27 Dan Fandrich <da...@co...> + + Added Chinese (simplifed) translation by Ji ZhengYu + 2008-03-20 Dan Fandrich <da...@co...> Added Vietnamese translation by Clytie Siddall |
From: Dan F. <dfa...@us...> - 2008-03-20 19:05:11
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7506 Modified Files: ChangeLog NEWS configure.ac Log Message: Added Vietnamese translation by Clytie Siddall Index: NEWS =================================================================== RCS file: /cvsroot/libexif/exif/NEWS,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- NEWS 29 Jan 2008 20:53:09 -0000 1.11 +++ NEWS 20 Mar 2008 19:05:01 -0000 1.12 @@ -1,7 +1,7 @@ exif-0.6.16.x: * Fixed the output of -s and -t when iconv is configured * Updated translations: pl - * Added translations: nl sv + * Added translations: nl sv vi * Fixed a double character encoding conversion problem with recent GNU gettext because version >= 0.10.36 does the conversion of message texts itself. Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/exif/configure.ac,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -d -r1.16 -r1.17 --- configure.ac 17 Feb 2008 18:17:08 -0000 1.16 +++ configure.ac 20 Mar 2008 19:05:01 -0000 1.17 @@ -39,7 +39,7 @@ GP_PKG_CONFIG # i18n support # --------------------------------------------------------------------------- GP_GETTEXT_HACK([${PACKAGE}],[Lutz Mueller and others]) -ALL_LINGUAS="de es fr nl pl sv" +ALL_LINGUAS="de es fr nl pl sv vi" AM_GNU_GETTEXT_VERSION([0.14.1]) AM_GNU_GETTEXT([external]) AM_PO_SUBDIRS() Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/exif/ChangeLog,v retrieving revision 1.68 retrieving revision 1.69 diff -u -p -d -r1.68 -r1.69 --- ChangeLog 22 Feb 2008 01:58:32 -0000 1.68 +++ ChangeLog 20 Mar 2008 19:05:01 -0000 1.69 @@ -1,3 +1,7 @@ +2008-03-20 Dan Fandrich <da...@co...> + + Added Vietnamese translation by Clytie Siddall + 2008-02-22 Lutz Mueller <lu...@us...> Make libexif-testsuite pass again (thanks to Dan Fandrich |
From: Dan F. <dfa...@us...> - 2008-03-20 19:05:07
|
Update of /cvsroot/libexif/exif/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7506/po Added Files: vi.po Log Message: Added Vietnamese translation by Clytie Siddall --- NEW FILE: vi.po --- (This appears to be a binary file; contents omitted.) |
From: Jan P. <pa...@us...> - 2008-02-22 07:06:20
|
Update of /cvsroot/libexif/libexif/libexif/fuji In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv31717 Modified Files: exif-mnote-data-fuji.c Log Message: Match remembered buffer size to really allocated size Index: exif-mnote-data-fuji.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/exif-mnote-data-fuji.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-mnote-data-fuji.c 17 Feb 2008 18:31:56 -0000 1.4 +++ exif-mnote-data-fuji.c 22 Feb 2008 07:06:11 -0000 1.5 @@ -121,7 +121,6 @@ exif_mnote_data_fuji_save (ExifMnoteData if (s & 1) ts += 1; t = exif_mem_realloc (ne->mem, *buf, ts); if (!t) { - *buf_size = 0; return; } *buf = t; |
From: Lutz M. <lu...@us...> - 2008-02-22 01:58:36
|
Update of /cvsroot/libexif/exif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30001/exif Modified Files: main.c actions.c Log Message: 2008-02-22 Lutz Mueller <lu...@us...> Make libexif-testsuite pass again (thanks to Dan Fandrich <da...@co...> for alerting me): * exif/actions.c: (action_remove_tag) Make both ifd and tag optional. (action_show_tag) Make ifd optional. * exif/main.c: (main) Don't require an ifd for the --remove option. Index: main.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/main.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -p -d -r1.63 -r1.64 --- main.c 17 Feb 2008 18:17:08 -0000 1.63 +++ main.c 22 Feb 2008 01:58:32 -0000 1.64 @@ -259,7 +259,7 @@ main (int argc, const char **argv) return 1; } if (((p.ifd < EXIF_IFD_0) || (p.ifd >= EXIF_IFD_COUNT)) && - (p.set_value || remove_tag || show_description)) { + (p.set_value || show_description)) { exif_log (log, -1, "exif", _("You need to specify an IFD!")); return 1; } Index: actions.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/actions.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -p -d -r1.32 -r1.33 --- actions.c 17 Feb 2008 18:17:08 -0000 1.32 +++ actions.c 22 Feb 2008 01:58:32 -0000 1.33 @@ -221,21 +221,28 @@ action_set_value (ExifData *ed, ExifLog void action_remove_tag (ExifData *ed, ExifLog *log, ExifParams p) { + ExifIfd ifd; ExifEntry *e; - if (!p.tag) { + /* We do have 2 optional parameters: ifd and tag */ + if (!p.tag && (p.ifd < EXIF_IFD_0 || p.ifd >= EXIF_IFD_COUNT)) + for (ifd = EXIF_IFD_0; ifd < EXIF_IFD_COUNT; ifd++) + while (ed->ifd[ifd] && ed->ifd[ifd]->count) + exif_content_remove_entry (ed->ifd[ifd], + ed->ifd[ifd]->entries[0]); + else if (!p.tag) while (ed->ifd[p.ifd] && ed->ifd[p.ifd]->count) - exif_content_remove_entry ( - ed->ifd[p.ifd], - ed->ifd[p.ifd]->entries[0]); - } else { - if (!((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag)))) - exif_log (log, -1, "exif", _("IFD '%s' does not contain a " - "tag '%s'!"), exif_ifd_get_name (p.ifd), + exif_content_remove_entry (ed->ifd[p.ifd], + ed->ifd[p.ifd]->entries[0]); + else if (p.ifd < EXIF_IFD_0 || p.ifd >= EXIF_IFD_COUNT) + while ((e = exif_data_get_entry (ed, p.tag))) + exif_content_remove_entry (e->parent, e); + else if (!((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag)))) + exif_log (log, -1, "exif", _("IFD '%s' does not contain a " + "tag '%s'!"), exif_ifd_get_name (p.ifd), exif_tag_get_name_in_ifd (p.tag, p.ifd)); - else - exif_content_remove_entry (ed->ifd[p.ifd], e); - } + else + exif_content_remove_entry (ed->ifd[p.ifd], e); } void @@ -292,6 +299,7 @@ action_show_tag (ExifData *ed, ExifLog * if (!ed) return; + /* We have one optional parameter: ifd */ if ((p.ifd >= EXIF_IFD_0) && (p.ifd < EXIF_IFD_COUNT)) { if ((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag))) show_entry (e, p.machine_readable); @@ -301,7 +309,11 @@ action_show_tag (ExifData *ed, ExifLog * exif_ifd_get_name (p.ifd), exif_tag_get_name (p.tag)); } else { - for (i = 0; i < EXIF_IFD_COUNT; i++) + if (!exif_data_get_entry (ed, p.tag)) + exif_log (log, -1, "exif", _("'%s' does not contain " + "tag '%s'."), p.fin, + exif_tag_get_name (p.tag)); + else for (i = 0; i < EXIF_IFD_COUNT; i++) if ((e = exif_content_get_entry (ed->ifd[i], p.tag))) show_entry (e, p.machine_readable); } |
From: Lutz M. <lu...@us...> - 2008-02-22 01:58:35
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30001 Modified Files: ChangeLog Log Message: 2008-02-22 Lutz Mueller <lu...@us...> Make libexif-testsuite pass again (thanks to Dan Fandrich <da...@co...> for alerting me): * exif/actions.c: (action_remove_tag) Make both ifd and tag optional. (action_show_tag) Make ifd optional. * exif/main.c: (main) Don't require an ifd for the --remove option. Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/exif/ChangeLog,v retrieving revision 1.67 retrieving revision 1.68 diff -u -p -d -r1.67 -r1.68 --- ChangeLog 17 Feb 2008 18:17:08 -0000 1.67 +++ ChangeLog 22 Feb 2008 01:58:32 -0000 1.68 @@ -1,3 +1,12 @@ +2008-02-22 Lutz Mueller <lu...@us...> + + Make libexif-testsuite pass again (thanks to Dan Fandrich + <da...@co...> for alerting me): + + * exif/actions.c: (action_remove_tag) Make both ifd and tag optional. + (action_show_tag) Make ifd optional. + * exif/main.c: (main) Don't require an ifd for the --remove option. + 2008-02-17 Lutz Mueller <lu...@us...> * exif/main.c: Move the remaining actions to... |
From: Lutz M. <lu...@us...> - 2008-02-20 19:02:30
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv20111/libexif Modified Files: exif-data.c Log Message: 2008-02-20 Lutz Mueller <lu...@us...> Follow-up on #1774591: * libexif/exif-data.c: (exif_data_save_data_content) Remove check for now impossible NULL value. Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.110 retrieving revision 1.111 diff -u -p -d -r1.110 -r1.111 --- exif-data.c 17 Feb 2008 18:31:55 -0000 1.110 +++ exif-data.c 20 Feb 2008 19:02:26 -0000 1.111 @@ -544,11 +544,9 @@ exif_data_save_data_content (ExifData *d exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Saving %i entries (IFD '%s', offset: %i)...", ifd->count, exif_ifd_get_name (i), offset); - for (j = 0; j < ifd->count; j++) { - exif_data_save_data_entry (data, ifd->entries[j], d, ds, offset + 12 * j); - if (!*d) - return; /* out of memory */ - } + for (j = 0; j < ifd->count; j++) + exif_data_save_data_entry (data, ifd->entries[j], d, ds, + offset + 12 * j); offset += 12 * ifd->count; |
From: Lutz M. <lu...@us...> - 2008-02-20 19:02:30
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv20111 Modified Files: ChangeLog Log Message: 2008-02-20 Lutz Mueller <lu...@us...> Follow-up on #1774591: * libexif/exif-data.c: (exif_data_save_data_content) Remove check for now impossible NULL value. Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.269 retrieving revision 1.270 diff -u -p -d -r1.269 -r1.270 --- ChangeLog 17 Feb 2008 18:31:54 -0000 1.269 +++ ChangeLog 20 Feb 2008 19:02:24 -0000 1.270 @@ -1,3 +1,10 @@ +2008-02-20 Lutz Mueller <lu...@us...> + + Follow-up on #1774591: + + * libexif/exif-data.c: (exif_data_save_data_content) Remove check for + now impossible NULL value. + 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: |
Update of /cvsroot/libexif/libexif/libexif/pentax In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107/libexif/pentax Modified Files: exif-mnote-data-pentax.c exif-mnote-data-pentax.h mnote-pentax-entry.c mnote-pentax-entry.h mnote-pentax-tag.c mnote-pentax-tag.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: mnote-pentax-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-tag.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -d -r1.10 -r1.11 --- mnote-pentax-tag.c 31 Jan 2008 08:25:34 -0000 1.10 +++ mnote-pentax-tag.c 17 Feb 2008 18:31:57 -0000 1.11 @@ -1,6 +1,6 @@ /* mnote-pentax-tag.c: * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-pentax.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- exif-mnote-data-pentax.c 13 May 2007 19:21:47 -0000 1.11 +++ exif-mnote-data-pentax.c 17 Feb 2008 18:31:57 -0000 1.12 @@ -1,6 +1,6 @@ /* exif-mnote-data-pentax.c * - * Copyright © 2002, 2003 Lutz Mueller <lu...@us...> + * Copyright (c) 2002, 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-pentax-entry.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-entry.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -d -r1.2 -r1.3 --- mnote-pentax-entry.h 7 Jan 2004 15:01:39 -0000 1.2 +++ mnote-pentax-entry.h 17 Feb 2008 18:31:57 -0000 1.3 @@ -1,6 +1,6 @@ /* mnote-pentax-entry.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-pentax.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-mnote-data-pentax.h 13 May 2007 19:21:47 -0000 1.4 +++ exif-mnote-data-pentax.h 17 Feb 2008 18:31:57 -0000 1.5 @@ -1,6 +1,6 @@ /* exif-mnote-data-pentax.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-pentax-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-tag.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -d -r1.2 -r1.3 --- mnote-pentax-tag.h 13 May 2007 19:21:47 -0000 1.2 +++ mnote-pentax-tag.h 17 Feb 2008 18:31:57 -0000 1.3 @@ -1,6 +1,6 @@ /* mnote-pentax-tag.h * - * Copyright © 2002, 2003 Lutz Mueller <lu...@us...> + * Copyright (c) 2002, 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-pentax-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-entry.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- mnote-pentax-entry.c 15 Dec 2007 16:47:47 -0000 1.17 +++ mnote-pentax-entry.c 17 Feb 2008 18:31:57 -0000 1.18 @@ -1,6 +1,6 @@ /* mnote-pentax-entry.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107/libexif Modified Files: exif-byte-order.c exif-byte-order.h exif-content.c exif-content.h exif-data-type.h exif-data.c exif-data.h exif-entry.c exif-entry.h exif-format.c exif-format.h exif-ifd.c exif-ifd.h exif-loader.c exif-loader.h exif-log.c exif-log.h exif-mem.h exif-mnote-data-priv.h exif-mnote-data.c exif-mnote-data.h exif-tag.c exif-tag.h exif-utils.c exif-utils.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: exif-mem.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-mem.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- exif-mem.h 21 May 2007 13:53:34 -0000 1.5 +++ exif-mem.h 17 Feb 2008 18:31:56 -0000 1.6 @@ -5,7 +5,7 @@ /* exif-mem.h * - * Copyright © 2003 Lutz Müller <lu...@us...> + * Copyright (c) 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-byte-order.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-byte-order.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-byte-order.h 15 Dec 2002 11:41:11 -0000 1.4 +++ exif-byte-order.h 17 Feb 2008 18:31:55 -0000 1.5 @@ -1,6 +1,6 @@ /* exif-byte-order.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-loader.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-loader.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- exif-loader.h 27 Jun 2007 12:30:24 -0000 1.6 +++ exif-loader.h 17 Feb 2008 18:31:56 -0000 1.7 @@ -2,7 +2,7 @@ * \brief Defines the ExifLoader type */ /* - * Copyright © 2003 Lutz Müller <lu...@us...> + * Copyright (c) 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-byte-order.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-byte-order.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- exif-byte-order.c 10 Nov 2004 18:53:39 -0000 1.5 +++ exif-byte-order.c 17 Feb 2008 18:31:55 -0000 1.6 @@ -1,6 +1,6 @@ /* exif-byte-order.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-loader.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-loader.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -p -d -r1.28 -r1.29 --- exif-loader.c 17 Feb 2008 18:08:00 -0000 1.28 +++ exif-loader.c 17 Feb 2008 18:31:55 -0000 1.29 @@ -1,6 +1,6 @@ /* exif-loader.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-utils.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-utils.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -p -d -r1.13 -r1.14 --- exif-utils.c 21 May 2007 13:48:25 -0000 1.13 +++ exif-utils.c 17 Feb 2008 18:31:56 -0000 1.14 @@ -1,6 +1,6 @@ /* exif-utils.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-content.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-content.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -p -d -r1.24 -r1.25 --- exif-content.c 16 Feb 2008 19:11:40 -0000 1.24 +++ exif-content.c 17 Feb 2008 18:31:55 -0000 1.25 @@ -1,6 +1,6 @@ /* exif-content.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-utils.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-utils.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- exif-utils.h 26 Jun 2007 02:06:00 -0000 1.17 +++ exif-utils.h 17 Feb 2008 18:31:56 -0000 1.18 @@ -1,6 +1,6 @@ /* exif-utils.h * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-content.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-content.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -p -d -r1.13 -r1.14 --- exif-content.h 30 Apr 2005 00:55:28 -0000 1.13 +++ exif-content.h 17 Feb 2008 18:31:55 -0000 1.14 @@ -1,6 +1,6 @@ /* exif-content.h * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-data.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -p -d -r1.14 -r1.15 --- exif-data.h 26 Jun 2007 02:06:00 -0000 1.14 +++ exif-data.h 17 Feb 2008 18:31:55 -0000 1.15 @@ -1,7 +1,7 @@ /*! \file exif-data.h * \brief FIXME foo bar blah * - * \author Lutz Müller <lu...@us...> + * \author Lutz Mueller <lu...@us...> * \date 2001-2005 * * This library is free software; you can redistribute it and/or Index: exif-log.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-log.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -d -r1.7 -r1.8 --- exif-log.c 30 Oct 2007 05:03:05 -0000 1.7 +++ exif-log.c 17 Feb 2008 18:31:56 -0000 1.8 @@ -1,6 +1,6 @@ /* exif-log.c * - * Copyright © 2004 Lutz Müller <lu...@us...> + * Copyright (c) 2004 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-format.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-format.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- exif-format.h 1 Dec 2003 18:09:28 -0000 1.6 +++ exif-format.h 17 Feb 2008 18:31:55 -0000 1.7 @@ -1,6 +1,6 @@ /* exif-format.h * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-log.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-log.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -p -d -r1.8 -r1.9 --- exif-log.h 30 Oct 2007 05:03:05 -0000 1.8 +++ exif-log.h 17 Feb 2008 18:31:56 -0000 1.9 @@ -1,7 +1,7 @@ /*! \file exif-log.h * \brief log message infrastructure * - * Copyright © 2004 Lutz Müller <lu...@us...> + * Copyright (c) 2004 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-format.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-format.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -d -r1.15 -r1.16 --- exif-format.c 30 Oct 2007 03:23:28 -0000 1.15 +++ exif-format.c 17 Feb 2008 18:31:55 -0000 1.16 @@ -1,6 +1,6 @@ /* exif-format.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-mnote-data.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- exif-mnote-data.c 14 Nov 2004 21:56:00 -0000 1.11 +++ exif-mnote-data.c 17 Feb 2008 18:31:56 -0000 1.12 @@ -1,6 +1,6 @@ /* exif-mnote-data.c * - * Copyright (C) 2003 Lutz Müller <lu...@us...> + * Copyright (C) 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -p -d -r1.39 -r1.40 --- exif-tag.c 31 Jan 2008 08:25:33 -0000 1.39 +++ exif-tag.c 17 Feb 2008 18:31:56 -0000 1.40 @@ -1,6 +1,6 @@ /* exif-tag.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-priv.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-mnote-data-priv.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -d -r1.7 -r1.8 --- exif-mnote-data-priv.h 4 Oct 2004 06:26:59 -0000 1.7 +++ exif-mnote-data-priv.h 17 Feb 2008 18:31:56 -0000 1.8 @@ -1,6 +1,6 @@ /* exif-mnote-data-priv.h * - * Copyright © 2003 Lutz Müller <lu...@us...> + * Copyright (c) 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -d -r1.16 -r1.17 --- exif-tag.h 7 Nov 2007 06:53:20 -0000 1.16 +++ exif-tag.h 17 Feb 2008 18:31:56 -0000 1.17 @@ -1,6 +1,6 @@ /* exif-tag.h * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-mnote-data.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-mnote-data.h 13 Jul 2004 15:16:37 -0000 1.4 +++ exif-mnote-data.h 17 Feb 2008 18:31:56 -0000 1.5 @@ -1,6 +1,6 @@ /* exif-mnote-data.h * - * Copyright © 2003 Lutz Müller <lu...@us...> + * Copyright (c) 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-data-type.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data-type.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- exif-data-type.h 30 Apr 2005 00:55:28 -0000 1.1 +++ exif-data-type.h 17 Feb 2008 18:31:55 -0000 1.2 @@ -1,6 +1,6 @@ /* exif-data-tag.h * - * Copyright © 2005 Lutz Müller <lu...@us...> + * Copyright (c) 2005 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-ifd.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-ifd.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- exif-ifd.c 30 Oct 2007 03:23:28 -0000 1.6 +++ exif-ifd.c 17 Feb 2008 18:31:55 -0000 1.7 @@ -1,6 +1,6 @@ /* exif-ifd.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-entry.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -d -r1.15 -r1.16 --- exif-entry.h 26 Jun 2007 02:06:00 -0000 1.15 +++ exif-entry.h 17 Feb 2008 18:31:55 -0000 1.16 @@ -1,7 +1,7 @@ /*! \file exif-entry.h * \brief Handling EXIF entries * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v retrieving revision 1.117 retrieving revision 1.118 diff -u -p -d -r1.117 -r1.118 --- exif-entry.c 14 Feb 2008 18:52:29 -0000 1.117 +++ exif-entry.c 17 Feb 2008 18:31:55 -0000 1.118 @@ -1,6 +1,6 @@ /* exif-entry.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-ifd.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-ifd.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -d -r1.3 -r1.4 --- exif-ifd.h 27 Jun 2007 11:14:35 -0000 1.3 +++ exif-ifd.h 17 Feb 2008 18:31:55 -0000 1.4 @@ -1,6 +1,6 @@ /* exif-ifd.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.109 retrieving revision 1.110 diff -u -p -d -r1.109 -r1.110 --- exif-data.c 16 Feb 2008 19:11:40 -0000 1.109 +++ exif-data.c 17 Feb 2008 18:31:55 -0000 1.110 @@ -1,6 +1,6 @@ /* exif-data.c * - * Copyright © 2001 Lutz Müller <lu...@us...> + * Copyright (c) 2001 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
Update of /cvsroot/libexif/libexif/libexif/olympus In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107/libexif/olympus Modified Files: exif-mnote-data-olympus.c exif-mnote-data-olympus.h mnote-olympus-entry.c mnote-olympus-entry.h mnote-olympus-tag.c mnote-olympus-tag.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: mnote-olympus-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-tag.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -d -r1.15 -r1.16 --- mnote-olympus-tag.c 31 Jan 2008 08:25:34 -0000 1.15 +++ mnote-olympus-tag.c 17 Feb 2008 18:31:56 -0000 1.16 @@ -1,6 +1,6 @@ /* mnote-olympus-tag.c: * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-olympus-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-tag.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -d -r1.7 -r1.8 --- mnote-olympus-tag.h 13 Nov 2007 02:31:23 -0000 1.7 +++ mnote-olympus-tag.h 17 Feb 2008 18:31:56 -0000 1.8 @@ -1,6 +1,6 @@ /* mnote-olympus-tag.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-olympus-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-entry.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -p -d -r1.39 -r1.40 --- mnote-olympus-entry.c 15 Dec 2007 16:42:14 -0000 1.39 +++ mnote-olympus-entry.c 17 Feb 2008 18:31:56 -0000 1.40 @@ -1,6 +1,6 @@ /* mnote-olympus-entry.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-olympus.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/exif-mnote-data-olympus.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -p -d -r1.33 -r1.34 --- exif-mnote-data-olympus.c 16 Feb 2008 19:11:41 -0000 1.33 +++ exif-mnote-data-olympus.c 17 Feb 2008 18:31:56 -0000 1.34 @@ -1,6 +1,6 @@ /* exif-mnote-data-olympus.c * - * Copyright © 2002, 2003 Lutz Mueller <lu...@us...> + * Copyright (c) 2002, 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-olympus.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/exif-mnote-data-olympus.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -p -d -r1.8 -r1.9 --- exif-mnote-data-olympus.h 10 Nov 2007 08:02:33 -0000 1.8 +++ exif-mnote-data-olympus.h 17 Feb 2008 18:31:56 -0000 1.9 @@ -1,6 +1,6 @@ /* mnote-olympus-data.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-olympus-entry.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-entry.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -d -r1.2 -r1.3 --- mnote-olympus-entry.h 7 Jan 2004 14:57:38 -0000 1.2 +++ mnote-olympus-entry.h 17 Feb 2008 18:31:56 -0000 1.3 @@ -1,6 +1,6 @@ /* mnote-olympus-entry.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
Update of /cvsroot/libexif/libexif/libexif/fuji In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107/libexif/fuji Modified Files: exif-mnote-data-fuji.c exif-mnote-data-fuji.h mnote-fuji-entry.c mnote-fuji-entry.h mnote-fuji-tag.c mnote-fuji-tag.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: exif-mnote-data-fuji.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/exif-mnote-data-fuji.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -d -r1.3 -r1.4 --- exif-mnote-data-fuji.c 16 Feb 2008 19:11:40 -0000 1.3 +++ exif-mnote-data-fuji.c 17 Feb 2008 18:31:56 -0000 1.4 @@ -1,6 +1,6 @@ /* exif-mnote-data-fuji.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-fuji-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/mnote-fuji-entry.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -d -r1.3 -r1.4 --- mnote-fuji-entry.c 15 Dec 2007 16:47:47 -0000 1.3 +++ mnote-fuji-entry.c 17 Feb 2008 18:31:56 -0000 1.4 @@ -1,6 +1,6 @@ /* mnote-fuji-entry.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-fuji.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/exif-mnote-data-fuji.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- exif-mnote-data-fuji.h 7 Dec 2007 08:46:49 -0000 1.1 +++ exif-mnote-data-fuji.h 17 Feb 2008 18:31:56 -0000 1.2 @@ -1,6 +1,6 @@ /* exif-mnote-data-fuji.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-fuji-entry.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/mnote-fuji-entry.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- mnote-fuji-entry.h 7 Dec 2007 08:46:49 -0000 1.1 +++ mnote-fuji-entry.h 17 Feb 2008 18:31:56 -0000 1.2 @@ -1,6 +1,6 @@ /* mnote-fuji-entry.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-fuji-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/mnote-fuji-tag.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- mnote-fuji-tag.c 31 Jan 2008 08:25:34 -0000 1.4 +++ mnote-fuji-tag.c 17 Feb 2008 18:31:56 -0000 1.5 @@ -1,6 +1,6 @@ /* mnote-fuji-tag.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-fuji-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/fuji/mnote-fuji-tag.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- mnote-fuji-tag.h 7 Dec 2007 08:46:49 -0000 1.1 +++ mnote-fuji-tag.h 17 Feb 2008 18:31:56 -0000 1.2 @@ -1,6 +1,6 @@ /* mnote-fuji-tag.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
From: Lutz M. <lu...@us...> - 2008-02-17 18:32:00
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107 Modified Files: ChangeLog COPYING Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: COPYING =================================================================== RCS file: /cvsroot/libexif/libexif/COPYING,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -d -r1.2 -r1.3 --- COPYING 15 Dec 2002 11:41:10 -0000 1.2 +++ COPYING 17 Feb 2008 18:31:55 -0000 1.3 @@ -1,7 +1,7 @@ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 - Copyright © 1991, 1999 Free Software Foundation, Inc. + Copyright (c) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -471,7 +471,7 @@ convey the exclusion of warranty; and ea "copyright" line and a pointer to where the full notice is found. <one line to give the library's name and a brief idea of what it does.> - Copyright © <year> <name of author> + Copyright (c) <year> <name of author> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.268 retrieving revision 1.269 diff -u -p -d -r1.268 -r1.269 --- ChangeLog 17 Feb 2008 18:07:59 -0000 1.268 +++ ChangeLog 17 Feb 2008 18:31:54 -0000 1.269 @@ -1,5 +1,12 @@ 2008-02-17 Lutz Mueller <lu...@us...> + Fix #1865046: + + * COPYING: + * libexif/...: Use 'ue' instead of some strange German character. + +2008-02-17 Lutz Mueller <lu...@us...> + * libexif/exif-loader.c: (exif_loader_get_data) Return NULL if no EXIF data has been found. |
Update of /cvsroot/libexif/libexif/libexif/canon In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32107/libexif/canon Modified Files: exif-mnote-data-canon.c exif-mnote-data-canon.h mnote-canon-entry.c mnote-canon-entry.h mnote-canon-tag.c mnote-canon-tag.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> Fix #1865046: * COPYING: * libexif/...: Use 'ue' instead of some strange German character. Index: mnote-canon-entry.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/mnote-canon-entry.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -d -r1.3 -r1.4 --- mnote-canon-entry.h 22 Aug 2005 22:17:31 -0000 1.3 +++ mnote-canon-entry.h 17 Feb 2008 18:31:56 -0000 1.4 @@ -1,6 +1,6 @@ /* mnote-canon-entry.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-canon-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/mnote-canon-entry.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -p -d -r1.26 -r1.27 --- mnote-canon-entry.c 15 Dec 2007 16:42:13 -0000 1.26 +++ mnote-canon-entry.c 17 Feb 2008 18:31:56 -0000 1.27 @@ -1,7 +1,7 @@ /* mnote-canon-entry.c * - * Copyright © 2002 Lutz Müller <lu...@us...> - * Copyright © 2003 Matthieu Castet <ma...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> + * Copyright (c) 2003 Matthieu Castet <ma...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-canon-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/mnote-canon-tag.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- mnote-canon-tag.h 12 Sep 2007 05:46:23 -0000 1.5 +++ mnote-canon-tag.h 17 Feb 2008 18:31:56 -0000 1.6 @@ -1,6 +1,6 @@ /* mnote-canon-tag.h * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-canon.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/exif-mnote-data-canon.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- exif-mnote-data-canon.c 16 Feb 2008 19:11:40 -0000 1.17 +++ exif-mnote-data-canon.c 17 Feb 2008 18:31:56 -0000 1.18 @@ -1,7 +1,7 @@ /* exif-mnote-data-canon.c * - * Copyright © 2002, 2003 Lutz Müller <lu...@us...> - * Copyright © 2003 Matthieu Castet <ma...@us...> + * Copyright (c) 2002, 2003 Lutz Mueller <lu...@us...> + * Copyright (c) 2003 Matthieu Castet <ma...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: mnote-canon-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/mnote-canon-tag.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -d -r1.16 -r1.17 --- mnote-canon-tag.c 31 Jan 2008 08:25:34 -0000 1.16 +++ mnote-canon-tag.c 17 Feb 2008 18:31:56 -0000 1.17 @@ -1,6 +1,6 @@ /* mnote-canon-tag.c * - * Copyright © 2002 Lutz Müller <lu...@us...> + * Copyright (c) 2002 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public Index: exif-mnote-data-canon.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/exif-mnote-data-canon.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-mnote-data-canon.h 9 May 2007 06:15:23 -0000 1.4 +++ exif-mnote-data-canon.h 17 Feb 2008 18:31:56 -0000 1.5 @@ -1,6 +1,6 @@ /* exif-mnote-data-canon.h * - * Copyright © 2002, 2003 Lutz Müller <lu...@us...> + * Copyright (c) 2002, 2003 Lutz Mueller <lu...@us...> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public |
From: Lutz M. <lu...@us...> - 2008-02-17 18:17:20
|
Update of /cvsroot/libexif/exif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25690/exif Modified Files: main.c actions.c actions.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> * exif/main.c: Move the remaining actions to... * exif/actions.[c,h]: ...here. While at it, implement a --create-exif option (suggestion and patch by Alexander Drozdov <dza...@mt...>). This needs latest libexif, therefore ... * configure.ac: ...require at least libexif 0.6.16.2. Index: main.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/main.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -p -d -r1.62 -r1.63 --- main.c 17 Feb 2008 11:49:03 -0000 1.62 +++ main.c 17 Feb 2008 18:17:08 -0000 1.63 @@ -33,8 +33,6 @@ #include <libexif/exif-utils.h> #include <libexif/exif-loader.h> -#include "libjpeg/jpeg-data.h" - #include "actions.h" #include "exif-i18n.h" #include "utils.h" @@ -55,124 +53,6 @@ # define POPT_TABLEEND { NULL, '\0', 0, 0, 0, NULL, NULL } #endif -static void -internal_error (void) -{ - fprintf (stderr, _("Internal error. Please " - "contact <%s>."), - PACKAGE_BUGREPORT); - fputc ('\n', stderr); - exit (1); -} - -static void -convert_arg_to_entry (const char *set_value, ExifEntry *e, ExifByteOrder o) -{ - unsigned int i, numcomponents; - char *value_p; - - /* - * ASCII strings are handled separately, - * since they don't require any conversion. - */ - if (e->format == EXIF_FORMAT_ASCII) { - if (e->data) free (e->data); - e->components = strlen (set_value) + 1; - e->size = sizeof (char) * e->components; - e->data = malloc (e->size); - if (!e->data) { - fprintf (stderr, _("Not enough memory.")); - fputc ('\n', stderr); - exit (1); - } - strcpy ((char *) e->data, (char *) set_value); - return; - } - - /* - * Make sure we can handle this entry - */ - if ((e->components == 0) && *set_value) { - fprintf (stderr, _("Setting a value for this tag " - "is unsupported!")); - fputc ('\n', stderr); - exit (1); - } - - value_p = (char*) set_value; - numcomponents = e->components; - for (i = 0; i < numcomponents; ++i) { - const char *begin, *end; - unsigned char *buf, s; - static const char comp_separ = ' '; - - begin = value_p; - value_p = strchr (begin, comp_separ); - if (!value_p) { - if (i != numcomponents - 1) { - fprintf (stderr, _("Too few components " - "specified!")); - fputc ('\n', stderr); - exit (1); - } - end = begin + strlen (begin); - } else end = value_p++; - - buf = malloc ((end - begin + 1) * sizeof (char)); - strncpy ((char *) buf, (char *) begin, end - begin); - buf[end - begin] = '\0'; - - s = exif_format_get_size (e->format); - switch (e->format) { - case EXIF_FORMAT_ASCII: - internal_error (); /* Previously handled */ - break; - case EXIF_FORMAT_SHORT: - exif_set_short (e->data + (s * i), o, atoi ((char *) buf)); - break; - case EXIF_FORMAT_SSHORT: - exif_set_sshort (e->data + (s * i), o, atoi ((char *) buf)); - break; - case EXIF_FORMAT_RATIONAL: - /* - * Hack to simplify the loop for rational numbers. - * Should really be using exif_set_rational instead - */ - if (i == 0) numcomponents *= 2; - s /= 2; - /* Fall through to LONG handler */ - case EXIF_FORMAT_LONG: - exif_set_long (e->data + (s * i), o, atol ((char *) buf)); - break; - case EXIF_FORMAT_SRATIONAL: - /* - * Hack to simplify the loop for rational numbers. - * Should really be using exif_set_srational instead - */ - if (i == 0) numcomponents *= 2; - s /= 2; - /* Fall through to SLONG handler */ - case EXIF_FORMAT_SLONG: - exif_set_slong (e->data + (s * i), o, atol ((char *) buf)); - break; - case EXIF_FORMAT_BYTE: - case EXIF_FORMAT_SBYTE: - case EXIF_FORMAT_FLOAT: - case EXIF_FORMAT_DOUBLE: - case EXIF_FORMAT_UNDEFINED: - default: - fprintf (stderr, _("Not yet implemented!")); - fputc ('\n', stderr); - exit (1); - } - free (buf); - } - if (value_p && *value_p) { - fprintf (stderr, _("Warning; Too many components specified!")); - fputc ('\n', stderr); - } -} - /* escape codes for output colors */ #define COL_BLUE "\033[34m" #define COL_GREEN "\033[32m" @@ -197,70 +77,27 @@ convert_arg_to_entry (const char *set_va } \ } while (0) -static void -log_func_exit (ExifLog *log, ExifLogCode code, const char *domain, - const char *format, va_list args, void *data) -{ - switch (code) { - case -1: - put_colorstring (stderr, COL_RED); - vfprintf (stderr, format, args); - fprintf (stderr, "\n"); - put_colorstring (stderr, COL_NORMAL); - exit (1); - case EXIF_LOG_CODE_NO_MEMORY: - case EXIF_LOG_CODE_CORRUPT_DATA: - put_colorstring (stderr, COL_RED); - fprintf (stderr, "%s (%s):\n", exif_log_code_get_title (code), domain); - vfprintf (stderr, format, args); - fprintf (stderr, "\n"); - put_colorstring (stderr, COL_NORMAL); - exit (1); - default: - return; - } -} - -static int -save_exif_data_to_file (ExifData *ed, ExifLog *log, ExifParams p) -{ - JPEGData *jdata; - unsigned char *d = NULL; - unsigned int ds; - - /* Parse the JPEG file. */ - jdata = jpeg_data_new (); - jpeg_data_log (jdata, log); - jpeg_data_load_file (jdata, p.fin); - - /* Make sure the EXIF data is not too big. */ - exif_data_save_data (ed, &d, &ds); - if (ds) { - free (d); - if (ds > 0xffff) { - fprintf (stderr, _("Too much EXIF data (%i bytes). " - "Only %i bytes are allowed."), ds, 0xffff); - fputc ('\n', stderr); - return (1); - } - }; - - jpeg_data_set_exif_data (jdata, ed); - - /* Save the modified image. */ - jpeg_data_save_file (jdata, p.fout); - jpeg_data_unref (jdata); - - fprintf (stdout, _("Wrote file '%s'."), p.fout); - fprintf (stdout, "\n"); +typedef struct { + unsigned int debug; - return (0); -} + /* input */ + int ignore_corrupted; + /* output */ + int corrupted; +} LogArg; static void log_func (ExifLog *log, ExifLogCode code, const char *domain, const char *format, va_list args, void *data) { + LogArg *log_arg = data; + + log_arg->corrupted = 0; + + /* + * When debugging, continue as far as possible. If not, make all errors + * fatal. + */ switch (code) { case -1: put_colorstring (stderr, COL_RED); @@ -269,14 +106,20 @@ log_func (ExifLog *log, ExifLogCode code put_colorstring (stderr, COL_NORMAL); exit (1); case EXIF_LOG_CODE_DEBUG: - put_colorstring (stdout, COL_GREEN); - fprintf (stdout, "%s: ", domain); - vfprintf (stdout, format, args); - put_colorstring (stdout, COL_NORMAL); - printf ("\n"); + if (log_arg->debug) { + put_colorstring (stdout, COL_GREEN); + fprintf (stdout, "%s: ", domain); + vfprintf (stdout, format, args); + put_colorstring (stdout, COL_NORMAL); + printf ("\n"); + } break; - case EXIF_LOG_CODE_NO_MEMORY: case EXIF_LOG_CODE_CORRUPT_DATA: + log_arg->corrupted = 1; + /* We ignore corrupted data event in some cases */ + if (log_arg->ignore_corrupted) + return; + case EXIF_LOG_CODE_NO_MEMORY: put_colorstring (stderr, "\033[31;1m"); put_colorstring (stderr, "\033[31;4m"); fprintf (stderr, exif_log_code_get_title (code)); @@ -289,13 +132,17 @@ log_func (ExifLog *log, ExifLogCode code vfprintf (stderr, format, args); put_colorstring (stderr, COL_NORMAL); fprintf (stderr, "\n"); + if (!log_arg->debug) + exit (1); break; default: - put_colorstring (stdout, COL_BLUE); - printf ("%s: ", domain); - vprintf (format, args); - put_colorstring (stdout, COL_NORMAL); - printf ("\n"); + if (log_arg->debug) { + put_colorstring (stdout, COL_BLUE); + printf ("%s: ", domain); + vprintf (format, args); + put_colorstring (stdout, COL_NORMAL); + printf ("\n"); + } break; } } @@ -308,12 +155,13 @@ log_func (ExifLog *log, ExifLogCode code */ static unsigned int list_tags = 0, show_description = 0; static unsigned int xml_output = 0; -static unsigned int extract_thumbnail = 0, remove_thumbnail = 0; -static unsigned int remove_tag = 0; -static unsigned int list_mnote = 0, debug = 0; +static unsigned int extract_thumbnail = 0, remove_thumb = 0; +static unsigned int remove_tag = 0, create_exif = 0; +static unsigned int list_mnote = 0; static unsigned int show_version = 0; -static const char *set_value = NULL, *ifd_string = NULL, *tag_string = NULL; -static ExifParams p = {0, EXIF_IFD_COUNT, 0, 0, NULL, {0, }}; +static const char *ifd_string = NULL, *tag_string = NULL; +static ExifParams p = {0, EXIF_IFD_COUNT, 0, 0, NULL, NULL, NULL}; +LogArg log_arg = {0, 0, 0}; int main (int argc, const char **argv) @@ -321,11 +169,10 @@ main (int argc, const char **argv) /* POPT_ARG_NONE needs an int, not char! */ poptContext ctx; const char **args, *output = NULL; - const char *ithumbnail = NULL; const struct poptOption options[] = { POPT_AUTOHELP - {"version", 'v', POPT_ARG_NONE, &show_version, 0, - N_("Display software version"), NULL}, + {"version", 'v', POPT_ARG_NONE, &show_version, 0, + N_("Display software version"), NULL}, {"ids", 'i', POPT_ARG_NONE, &p.use_ids, 0, N_("Show IDs instead of tag names"), NULL}, {"tag", 't', POPT_ARG_STRING, &tag_string, 0, @@ -342,31 +189,32 @@ main (int argc, const char **argv) N_("Show description of tag"), NULL}, {"extract-thumbnail", 'e', POPT_ARG_NONE, &extract_thumbnail, 0, N_("Extract thumbnail"), NULL}, - {"remove-thumbnail", 'r', POPT_ARG_NONE, &remove_thumbnail, 0, + {"remove-thumbnail", 'r', POPT_ARG_NONE, &remove_thumb, 0, N_("Remove thumbnail"), NULL}, - {"insert-thumbnail", 'n', POPT_ARG_STRING, &ithumbnail, 0, + {"insert-thumbnail", 'n', POPT_ARG_STRING, &p.set_thumb, 0, N_("Insert FILE as thumbnail"), N_("FILE")}, {"output", 'o', POPT_ARG_STRING, &output, 0, N_("Write data to FILE"), N_("FILE")}, - {"set-value", '\0', POPT_ARG_STRING, &set_value, 0, + {"set-value", '\0', POPT_ARG_STRING, &p.set_value, 0, N_("Value"), NULL}, + {"create-exif", 'c', POPT_ARG_NONE, &create_exif, 0, + N_("Create EXIF data if not existing"), NULL}, {"machine-readable", 'm', POPT_ARG_NONE, &p.machine_readable, 0, N_("Output in a machine-readable (tab delimited) format"), NULL}, {"xml-output", 'x', POPT_ARG_NONE, &xml_output, 0, N_("Output in a XML format"), NULL}, - {"debug", 'd', POPT_ARG_NONE, &debug, 0, + {"debug", 'd', POPT_ARG_NONE, &log_arg.debug, 0, N_("Show debugging messages"), NULL}, POPT_TABLEEND}; ExifData *ed; - ExifEntry *e; - FILE *f; ExifLog *log = NULL; + char fout[1024] = {0, }; #ifdef ENABLE_GLIBC_MEMDEBUG - mcheck(NULL); - mtrace(); + mcheck (NULL); + mtrace (); #endif #ifdef ENABLE_NLS @@ -379,59 +227,57 @@ main (int argc, const char **argv) ctx = poptGetContext (PACKAGE, argc, argv, options, 0); poptSetOtherOptionHelp (ctx, _("[OPTION...] file")); - while (poptGetNextOpt (ctx) > 0) - ; - - /* Any command line parameters ? */ - if (argc <= 1) { - poptPrintHelp (ctx, stdout, 0); - poptFreeContext(ctx); - return (1); - } + while (poptGetNextOpt (ctx) > 0); - /* - * When debugging, continue as far as possible. If not, make all errors - * fatal. - */ log = exif_log_new (); - exif_log_set_func (log, debug ? log_func : log_func_exit, NULL); - - if (show_version) { - printf ("%s\n", VERSION); - exif_log_free(log); - poptFreeContext(ctx); - return 0; - } + exif_log_set_func (log, log_func, &log_arg); /* Identify the parameters */ if (ifd_string) { p.ifd = exif_ifd_from_string (ifd_string); if ((p.ifd < EXIF_IFD_0) || (p.ifd >= EXIF_IFD_COUNT) || - !exif_ifd_get_name (p.ifd)) + !exif_ifd_get_name (p.ifd)) { exif_log (log, -1, "exif", _("Invalid IFD '%s'. Valid IFDs are " "'0', '1', 'EXIF', 'GPS', and " "'Interoperability'."), ifd_string); + return 1; + } } if (tag_string) { p.tag = exif_tag_from_string (tag_string); if (p.tag == 0xffff) { exif_log (log, -1, "exif", _("Invalid tag '%s'!"), tag_string); - p.tag = 0; + return 1; } } - memset (p.fout, 0, sizeof (p.fout)); - if (output) - strncpy (p.fout, output, sizeof (p.fout) - 1); /* Check for all necessary parameters */ - if (!p.tag && (set_value || show_description)) - exif_log (log, -1, "exif", _("You need to specify a tag!")); + if (!p.tag && (p.set_value || show_description)) { + exif_log (log, -1, "exif", _("You need to specify a tag!")); + return 1; + } if (((p.ifd < EXIF_IFD_0) || (p.ifd >= EXIF_IFD_COUNT)) && - (set_value || remove_tag)) + (p.set_value || remove_tag || show_description)) { exif_log (log, -1, "exif", _("You need to specify an IFD!")); + return 1; + } + + /* No command: Show help */ + if (argc <= 1) { + poptPrintHelp (ctx, stdout, 0); + poptFreeContext(ctx); + return (1); + } + /* Commands not related to file. You can only specify one. */ + if (show_version) { + printf ("%s\n", VERSION); + exif_log_free (log); + poptFreeContext (ctx); + return 0; + } if (show_description) { /* * The C() macro can point to a static buffer so these printfs @@ -444,166 +290,92 @@ main (int argc, const char **argv) printf ("%s\n", C(exif_tag_get_description_in_ifd (p.tag, p.ifd))); - exif_log_free(log); - poptFreeContext(ctx); - return (0); + exif_log_free (log); + poptFreeContext (ctx); + return 0; } - args = poptGetArgs (ctx); - - if (args) { - while (*args) { - ExifLoader *l; + /* Commands related to files */ + if (!((args = poptGetArgs (ctx)))) { + poptPrintHelp (ctx, stdout, 0); + exif_log_free (log); + poptFreeContext (ctx); + return 1; + } + while (*args) { + ExifLoader *l; - /* Identify the parameters */ - if (!output) { - strncpy (p.fout, *args, sizeof (p.fout) - 1); - strncat (p.fout, ".modified.jpeg", - sizeof (p.fout) - 1); - } - p.fin = *args; + /* Identify the parameters */ + if (output) + strncpy (fout, output, sizeof (fout) - 1); + else { + strncpy (fout, *args, sizeof (fout) - 1); + strncat (fout, ".modified.jpeg", + sizeof (fout) - 1); + } + p.fin = *args; - /* - * Try to read EXIF data from the file. - * If there is no EXIF data, exit. - */ - l = exif_loader_new (); - exif_loader_log (l, log); - exif_loader_write_file (l, *args); - ed = exif_loader_get_data (l); - exif_loader_unref (l); - if (!ed || ! (ed->data || ed->size || - ed->ifd[EXIF_IFD_0]->count || - ed->ifd[EXIF_IFD_1]->count || - ed->ifd[EXIF_IFD_EXIF]->count || - ed->ifd[EXIF_IFD_GPS]->count || - ed->ifd[EXIF_IFD_INTEROPERABILITY]->count)) { + /* + * Try to read EXIF data from the file. + * If there is no EXIF data, create it if the user + * told us to do so. + */ + l = exif_loader_new (); + exif_loader_log (l, log); + if (create_exif) + log_arg.ignore_corrupted = 1; + exif_loader_write_file (l, *args); + log_arg.ignore_corrupted = 0; + if (!log_arg.corrupted) + create_exif = 0; + ed = exif_loader_get_data (l); + exif_loader_unref (l); + if (!ed) { + if (create_exif) { + ed = exif_data_new (); + exif_data_log (ed, log); + } else { exif_log (log, -1, "exif", _("'%s' does not " - "contain EXIF data!"), *args); - /* Never gets here--exif_log has exit()ed */ + "contain EXIF data!"), *args); + return 1; } + } - if (list_tags) { - action_tag_table (ed, p); - - } else if (p.tag && !set_value && !remove_tag) { - action_show_tag (ed, log, p); - - } else if (extract_thumbnail) { - action_extract_thumb (ed, log, p); - - } else if (remove_thumbnail) { - - /* Get rid of the thumbnail */ - if (ed->data) { - free (ed->data); - ed->data = NULL; - } - ed->size = 0; - - /* Save the new data. */ - save_exif_data_to_file (ed, log, p); - - } else if (ithumbnail) { - - /* Get rid of the old thumbnail */ - if (ed->data) { - free (ed->data); - ed->data = NULL; - } - ed->size = 0; - - /* Insert new thumbnail */ - f = fopen (ithumbnail, "rb"); - if (!f) -#ifdef __GNUC__ - exif_log (log, -1, "exif", _("Could not open " - "'%s' (%m)!"), ithumbnail); -#else - exif_log (log, -1, "exif", _("Could not open " - "'%s' (%s)!"), ithumbnail, - strerror (errno)); -#endif - fseek (f, 0, SEEK_END); - ed->size = ftell (f); - ed->data = malloc (sizeof (char) * ed->size); - if (ed->size && !ed->data) EXIF_LOG_NO_MEMORY (log, "exif", ed->size); - fseek (f, 0, SEEK_SET); - if (fread (ed->data, sizeof (char), - ed->size, f) != ed->size) -#ifdef __GNUC__ - exif_log (log, -1, "exif", _("Could not read " - "'%s' (%m)."), ithumbnail); -#else - exif_log (log, -1, "exif", _("Could not read " - "'%s' (%s)."), ithumbnail, - strerror (errno)); -#endif - fclose (f); - - save_exif_data_to_file (ed, log, p); - - } else if (set_value) { - - /* If the entry doesn't exist, create it. */ - e = exif_content_get_entry (ed->ifd[p.ifd], p.tag); - if (!e) { - e = exif_entry_new (); - exif_content_add_entry (ed->ifd[p.ifd], e); - exif_entry_initialize (e, p.tag); - } - - /* Now set the value and save the data. */ - convert_arg_to_entry (set_value, e, - exif_data_get_byte_order (ed)); - save_exif_data_to_file (ed, log, p); - - } else if (remove_tag) { - - if (!p.tag) { - while (ed->ifd[p.ifd] && - ed->ifd[p.ifd]->count) - exif_content_remove_entry ( - ed->ifd[p.ifd], - ed->ifd[p.ifd]->entries[0]); - } else { - e = exif_content_get_entry ( - ed->ifd[p.ifd], p.tag); - if (!e) - exif_log (log, -1, "exif", _("IFD '%s' does not contain a " - "tag '%s'!"), - exif_ifd_get_name (p.ifd), - exif_tag_get_name_in_ifd (p.tag, p.ifd)); - exif_content_remove_entry (ed->ifd[p.ifd], e); - } - - /* Save modified data. */ - save_exif_data_to_file (ed, log, p); - - } else if (p.machine_readable) { - action_tag_list_machine (ed, p); - - } else if (xml_output) { - action_tag_list_xml (ed, p); - - } else if (list_mnote) { - action_mnote_list (ed, p); + if (list_tags) + action_tag_table (ed, p); + else if (p.tag && !p.set_value && !remove_tag) + action_show_tag (ed, log, p); + else if (extract_thumbnail) + action_save_thumb (ed, log, p, fout); + else if (remove_thumb) + action_remove_thumb (ed, log, p); + else if (p.set_thumb) + action_insert_thumb (ed, log, p); + else if (p.set_value) + action_set_value (ed, log, p); + else if (remove_tag) + action_remove_tag (ed, log, p); + else if (p.machine_readable) + action_tag_list_machine (ed, p); + else if (xml_output) + action_tag_list_xml (ed, p); + else if (list_mnote) + action_mnote_list (ed, p); + else if (create_exif) + /* Nothing here. Data will be saved later. */ + ; + else + action_tag_list (ed, p); - } else - action_tag_list (ed, p); + if (create_exif || p.set_thumb || remove_tag || remove_thumb) + action_save (ed, log, p, fout); - exif_data_unref (ed); - args++; - } - } else { - poptPrintHelp (ctx, stdout, 0); - exif_log_free(log); - poptFreeContext(ctx); - return(1); + exif_data_unref (ed); + args++; } - exif_log_free(log); + exif_log_free (log); poptFreeContext (ctx); - return (0); + return 0; } Index: actions.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/actions.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -p -d -r1.31 -r1.32 --- actions.c 17 Feb 2008 11:49:03 -0000 1.31 +++ actions.c 17 Feb 2008 18:17:08 -0000 1.32 @@ -21,6 +21,7 @@ #include "config.h" #include "actions.h" #include "exif-i18n.h" +#include "libjpeg/jpeg-data.h" #include <stdio.h> #include <stdlib.h> @@ -34,6 +35,147 @@ #define CN(s) ((s) ? (s) : "(NULL)") static void +convert_arg_to_entry (const char *set_value, ExifEntry *e, ExifByteOrder o, ExifLog *log) +{ + unsigned int i, numcomponents; + char *value_p; + + /* + * ASCII strings are handled separately, + * since they don't require any conversion. + */ + if (e->format == EXIF_FORMAT_ASCII) { + if (e->data) free (e->data); + e->components = strlen (set_value) + 1; + e->size = sizeof (char) * e->components; + e->data = malloc (e->size); + if (!e->data) { + fprintf (stderr, _("Not enough memory.")); + fputc ('\n', stderr); + exit (1); + } + strcpy ((char *) e->data, (char *) set_value); + return; + } + + /* + * Make sure we can handle this entry + */ + if ((e->components == 0) && *set_value) { + fprintf (stderr, _("Setting a value for this tag " + "is unsupported!")); + fputc ('\n', stderr); + exit (1); + } + + value_p = (char*) set_value; + numcomponents = e->components; + for (i = 0; i < numcomponents; ++i) { + const char *begin, *end; + unsigned char *buf, s; + static const char comp_separ = ' '; + + begin = value_p; + value_p = strchr (begin, comp_separ); + if (!value_p) { + if (i != numcomponents - 1) { + fprintf (stderr, _("Too few components " + "specified!")); + fputc ('\n', stderr); + exit (1); + } + end = begin + strlen (begin); + } else end = value_p++; + + buf = malloc ((end - begin + 1) * sizeof (char)); + strncpy ((char *) buf, (char *) begin, end - begin); + buf[end - begin] = '\0'; + + s = exif_format_get_size (e->format); + switch (e->format) { + case EXIF_FORMAT_ASCII: + exif_log (log, -1, "exif", _("Internal error. " + "Please contact <%s>."), PACKAGE_BUGREPORT); + break; + case EXIF_FORMAT_SHORT: + exif_set_short (e->data + (s * i), o, atoi ((char *) buf)); + break; + case EXIF_FORMAT_SSHORT: + exif_set_sshort (e->data + (s * i), o, atoi ((char *) buf)); + break; + case EXIF_FORMAT_RATIONAL: + /* + * Hack to simplify the loop for rational numbers. + * Should really be using exif_set_rational instead + */ + if (i == 0) numcomponents *= 2; + s /= 2; + /* Fall through to LONG handler */ + case EXIF_FORMAT_LONG: + exif_set_long (e->data + (s * i), o, atol ((char *) buf)); + break; + case EXIF_FORMAT_SRATIONAL: + /* + * Hack to simplify the loop for rational numbers. + * Should really be using exif_set_srational instead + */ + if (i == 0) numcomponents *= 2; + s /= 2; + /* Fall through to SLONG handler */ + case EXIF_FORMAT_SLONG: + exif_set_slong (e->data + (s * i), o, atol ((char *) buf)); + break; + case EXIF_FORMAT_BYTE: + case EXIF_FORMAT_SBYTE: + case EXIF_FORMAT_FLOAT: + case EXIF_FORMAT_DOUBLE: + case EXIF_FORMAT_UNDEFINED: + default: + fprintf (stderr, _("Not yet implemented!")); + fputc ('\n', stderr); + exit (1); + } + free (buf); + } + if (value_p && *value_p) { + fprintf (stderr, _("Warning; Too many components specified!")); + fputc ('\n', stderr); + } +} + +void +action_save (ExifData *ed, ExifLog *log, ExifParams p, const char *fout) +{ + JPEGData *jdata; + unsigned char *d = NULL; + unsigned int ds; + + /* Parse the JPEG file. */ + jdata = jpeg_data_new (); + jpeg_data_log (jdata, log); + jpeg_data_load_file (jdata, p.fin); + + /* Make sure the EXIF data is not too big. */ + exif_data_save_data (ed, &d, &ds); + if (ds) { + free (d); + if (ds > 0xffff) + exif_log (log, -1, "exif", _("Too much EXIF data " + "(%i bytes). Only %i bytes are allowed."), + ds, 0xffff); + }; + + jpeg_data_set_exif_data (jdata, ed); + + /* Save the modified image. */ + jpeg_data_save_file (jdata, fout); + jpeg_data_unref (jdata); + + fprintf (stdout, _("Wrote file '%s'."), fout); + fprintf (stdout, "\n"); +} + +static void show_entry (ExifEntry *entry, unsigned int machine_readable) { ExifIfd ifd = exif_entry_get_ifd (entry); @@ -61,6 +203,88 @@ show_entry (ExifEntry *entry, unsigned i } void +action_set_value (ExifData *ed, ExifLog *log, ExifParams p) +{ + ExifEntry *e; + + /* If the entry doesn't exist, create it. */ + if (!((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag)))) { + e = exif_entry_new (); + exif_content_add_entry (ed->ifd[p.ifd], e); + exif_entry_initialize (e, p.tag); + } + + /* Now set the value and save the data. */ + convert_arg_to_entry (p.set_value, e, exif_data_get_byte_order (ed), log); +} + +void +action_remove_tag (ExifData *ed, ExifLog *log, ExifParams p) +{ + ExifEntry *e; + + if (!p.tag) { + while (ed->ifd[p.ifd] && ed->ifd[p.ifd]->count) + exif_content_remove_entry ( + ed->ifd[p.ifd], + ed->ifd[p.ifd]->entries[0]); + } else { + if (!((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag)))) + exif_log (log, -1, "exif", _("IFD '%s' does not contain a " + "tag '%s'!"), exif_ifd_get_name (p.ifd), + exif_tag_get_name_in_ifd (p.tag, p.ifd)); + else + exif_content_remove_entry (ed->ifd[p.ifd], e); + } +} + +void +action_remove_thumb (ExifData *ed, ExifLog *log, ExifParams p) +{ + if (ed->data) { + free (ed->data); + ed->data = NULL; + } + ed->size = 0; +} + +void +action_insert_thumb (ExifData *ed, ExifLog *log, ExifParams p) +{ + FILE *f; + + if (!ed) return; + + /* Get rid of the thumbnail */ + action_remove_thumb (ed, log, p); + + /* Insert new thumbnail */ + f = fopen (p.set_thumb, "rb"); + if (!f) +#ifdef __GNUC__ + exif_log (log, -1, "exif", _("Could not open " + "'%s' (%m)!"), p.set_thumb); +#else + exif_log (log, -1, "exif", _("Could not open " + "'%s' (%s)!"), p.set_thumb, strerror (errno)); +#endif + fseek (f, 0, SEEK_END); + ed->size = ftell (f); + ed->data = malloc (sizeof (char) * ed->size); + if (ed->size && !ed->data) EXIF_LOG_NO_MEMORY (log, "exif", ed->size); + fseek (f, 0, SEEK_SET); + if (fread (ed->data, sizeof (char), ed->size, f) != ed->size) +#ifdef __GNUC__ + exif_log (log, -1, "exif", _("Could not read " + "'%s' (%m)."), p.set_thumb); +#else + exif_log (log, -1, "exif", _("Could not read " + "'%s' (%s)."), p.set_thumb, strerror (errno)); +#endif + fclose (f); +} + +void action_show_tag (ExifData *ed, ExifLog *log, ExifParams p) { ExifEntry *e; @@ -84,7 +308,7 @@ action_show_tag (ExifData *ed, ExifLog * } void -action_extract_thumb (ExifData *ed, ExifLog *log, ExifParams p) +action_save_thumb (ExifData *ed, ExifLog *log, ExifParams p, const char *fout) { FILE *f; @@ -98,18 +322,18 @@ action_extract_thumb (ExifData *ed, Exif } /* Save the thumbnail */ - f = fopen (p.fout, "wb"); + f = fopen (fout, "wb"); if (!f) #ifdef __GNUC__ exif_log (log, -1, "exif", _("Could not open '%s' for " - "writing (%m)!"), p.fout); + "writing (%m)!"), fout); #else exif_log (log, -1, "exif", _("Could not open '%s' for " - "writing (%s)!"), p.fout, strerror (errno)); + "writing (%s)!"), fout, strerror (errno)); #endif fwrite (ed->data, 1, ed->size, f); fclose (f); - fprintf (stdout, _("Wrote file '%s'."), p.fout); + fprintf (stdout, _("Wrote file '%s'."), fout); fprintf (stdout, "\n"); } Index: actions.h =================================================================== RCS file: /cvsroot/libexif/exif/exif/actions.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -d -r1.9 -r1.10 --- actions.h 17 Feb 2008 11:49:04 -0000 1.9 +++ actions.h 17 Feb 2008 18:17:08 -0000 1.10 @@ -31,11 +31,19 @@ typedef struct { unsigned int use_ids; const char *fin; - char fout[1024]; + + const char *set_value; + const char *set_thumb; } ExifParams; -void action_extract_thumb (ExifData *, ExifLog *, ExifParams); +void action_insert_thumb (ExifData *, ExifLog *, ExifParams); +void action_remove_thumb (ExifData *, ExifLog *, ExifParams); void action_show_tag (ExifData *, ExifLog *, ExifParams); +void action_set_value (ExifData *, ExifLog *, ExifParams); +void action_remove_tag (ExifData *, ExifLog *, ExifParams); + +void action_save (ExifData *, ExifLog *, ExifParams, const char *); +void action_save_thumb (ExifData *, ExifLog *, ExifParams, const char *); void action_tag_table (ExifData *, ExifParams); void action_tag_list (ExifData *, ExifParams); |
From: Lutz M. <lu...@us...> - 2008-02-17 18:17:20
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25690 Modified Files: ChangeLog configure.ac exif.1 Log Message: 2008-02-17 Lutz Mueller <lu...@us...> * exif/main.c: Move the remaining actions to... * exif/actions.[c,h]: ...here. While at it, implement a --create-exif option (suggestion and patch by Alexander Drozdov <dza...@mt...>). This needs latest libexif, therefore ... * configure.ac: ...require at least libexif 0.6.16.2. Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/exif/configure.ac,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -d -r1.15 -r1.16 --- configure.ac 29 Jan 2008 20:53:09 -0000 1.15 +++ configure.ac 17 Feb 2008 18:17:08 -0000 1.16 @@ -38,7 +38,7 @@ GP_PKG_CONFIG # --------------------------------------------------------------------------- # i18n support # --------------------------------------------------------------------------- -GP_GETTEXT_HACK([${PACKAGE}],[Lutz Müller and others]) +GP_GETTEXT_HACK([${PACKAGE}],[Lutz Mueller and others]) ALL_LINGUAS="de es fr nl pl sv" AM_GNU_GETTEXT_VERSION([0.14.1]) AM_GNU_GETTEXT([external]) @@ -66,7 +66,7 @@ AC_ARG_ENABLE(gettext-iconv, # --------------------------------------------------------------------------- # libraries needed # --------------------------------------------------------------------------- -GP_CHECK_LIBRARY([LIBEXIF],[libexif],[>= 0.6.13]) +GP_CHECK_LIBRARY([LIBEXIF],[libexif],[>= 0.6.16.2]) # --------------------------------------------------------------------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/exif/ChangeLog,v retrieving revision 1.66 retrieving revision 1.67 diff -u -p -d -r1.66 -r1.67 --- ChangeLog 17 Feb 2008 11:49:05 -0000 1.66 +++ ChangeLog 17 Feb 2008 18:17:08 -0000 1.67 @@ -1,5 +1,13 @@ 2008-02-17 Lutz Mueller <lu...@us...> + * exif/main.c: Move the remaining actions to... + * exif/actions.[c,h]: ...here. While at it, implement a --create-exif + option (suggestion and patch by Alexander Drozdov + <dza...@mt...>). This needs latest libexif, therefore ... + * configure.ac: ...require at least libexif 0.6.16.2. + +2008-02-17 Lutz Mueller <lu...@us...> + In preparation of adding new command line options: * exif/main.c: Move more individual actions to... Index: exif.1 =================================================================== RCS file: /cvsroot/libexif/exif/exif.1,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -d -r1.9 -r1.10 --- exif.1 9 Feb 2008 23:57:08 -0000 1.9 +++ exif.1 17 Feb 2008 18:17:08 -0000 1.10 @@ -103,6 +103,9 @@ Set the data for the tag specified with Compound values consisting of multiple components are separated with spaces. .TP +.BI "\-c, \-\-create" +Create EXIF data if not existing +.TP .BI "\-m, \-\-machine\-readable" Produce output in a machine-readable (tab-delimited) format. The \-\-xml-output and \-\-machine\-readable options are mutually exclusive. |
From: Lutz M. <lu...@us...> - 2008-02-17 18:08:05
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21978/libexif Modified Files: exif-loader.c Log Message: 2008-02-17 Lutz Mueller <lu...@us...> * libexif/exif-loader.c: (exif_loader_get_data) Return NULL if no EXIF data has been found. Index: exif-loader.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-loader.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -d -r1.27 -r1.28 --- exif-loader.c 1 Feb 2008 23:14:50 -0000 1.27 +++ exif-loader.c 17 Feb 2008 18:08:00 -0000 1.28 @@ -381,7 +381,8 @@ exif_loader_get_data (ExifLoader *loader { ExifData *ed; - if (!loader || (loader->data_format == EL_DATA_FORMAT_UNKNOWN)) + if (!loader || (loader->data_format == EL_DATA_FORMAT_UNKNOWN) || + !loader->bytes_read) return NULL; ed = exif_data_new_mem (loader->mem); |
From: Lutz M. <lu...@us...> - 2008-02-17 18:08:05
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21978 Modified Files: ChangeLog Log Message: 2008-02-17 Lutz Mueller <lu...@us...> * libexif/exif-loader.c: (exif_loader_get_data) Return NULL if no EXIF data has been found. Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.267 retrieving revision 1.268 diff -u -p -d -r1.267 -r1.268 --- ChangeLog 16 Feb 2008 19:11:40 -0000 1.267 +++ ChangeLog 17 Feb 2008 18:07:59 -0000 1.268 @@ -1,3 +1,8 @@ +2008-02-17 Lutz Mueller <lu...@us...> + + * libexif/exif-loader.c: (exif_loader_get_data) Return NULL if no + EXIF data has been found. + 2008-02-16 Lutz Mueller <lu...@us...> Jan Patera <pa...@pi...> spotted a problem with my last fix |
From: Lutz M. <lu...@us...> - 2008-02-17 11:49:14
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5927 Modified Files: ChangeLog Log Message: 2008-02-17 Lutz Mueller <lu...@us...> In preparation of adding new command line options: * exif/main.c: Move more individual actions to... * exif/actions.[c,h]: ...here. That should make the file main.c more readable. Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/exif/ChangeLog,v retrieving revision 1.65 retrieving revision 1.66 diff -u -p -d -r1.65 -r1.66 --- ChangeLog 10 Feb 2008 09:20:15 -0000 1.65 +++ ChangeLog 17 Feb 2008 11:49:05 -0000 1.66 @@ -1,3 +1,11 @@ +2008-02-17 Lutz Mueller <lu...@us...> + + In preparation of adding new command line options: + + * exif/main.c: Move more individual actions to... + * exif/actions.[c,h]: ...here. That should make the file main.c more + readable. + 2008-02-10 Lutz Mueller <lu...@us...> Patch by Alexander Drozdov <dza...@mt...>: |
From: Lutz M. <lu...@us...> - 2008-02-17 11:49:14
|
Update of /cvsroot/libexif/exif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5927/d Modified Files: main.c actions.c actions.h Log Message: 2008-02-17 Lutz Mueller <lu...@us...> In preparation of adding new command line options: * exif/main.c: Move more individual actions to... * exif/actions.[c,h]: ...here. That should make the file main.c more readable. Index: main.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/main.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -p -d -r1.61 -r1.62 --- main.c 10 Feb 2008 05:25:06 -0000 1.61 +++ main.c 17 Feb 2008 11:49:03 -0000 1.62 @@ -66,46 +66,6 @@ internal_error (void) } static void -show_entry (ExifEntry *entry, unsigned int machine_readable) -{ - ExifIfd ifd = exif_entry_get_ifd (entry); - - if (machine_readable) { - char b[1024]; - - fprintf (stdout, "%s\n", C(exif_entry_get_value (entry, b, sizeof (b)))); - return; - } - - /* - * The C() macro can point to a static buffer so these printfs - * must be done separately. - */ - printf (_("EXIF entry '%s' "), - C(exif_tag_get_title_in_ifd (entry->tag, ifd))); - printf (_("(0x%x, '%s') "), - entry->tag, - C(exif_tag_get_name_in_ifd (entry->tag, ifd))); - printf (_("exists in IFD '%s':\n"), - C(exif_ifd_get_name (ifd))); - - exif_entry_dump (entry, 0); -} - -static void -search_entry (ExifData *ed, ExifTag tag, unsigned int machine_readable) -{ - ExifEntry *entry; - unsigned int i; - - for (i = 0; i < EXIF_IFD_COUNT; i++) { - entry = exif_content_get_entry (ed->ifd[i], tag); - if (entry) - show_entry (entry, machine_readable); - } -} - -static void convert_arg_to_entry (const char *set_value, ExifEntry *e, ExifByteOrder o) { unsigned int i, numcomponents; @@ -262,8 +222,7 @@ log_func_exit (ExifLog *log, ExifLogCode } static int -save_exif_data_to_file (ExifData *ed, ExifLog *log, - const char *fname, const char *target) +save_exif_data_to_file (ExifData *ed, ExifLog *log, ExifParams p) { JPEGData *jdata; unsigned char *d = NULL; @@ -272,7 +231,7 @@ save_exif_data_to_file (ExifData *ed, Ex /* Parse the JPEG file. */ jdata = jpeg_data_new (); jpeg_data_log (jdata, log); - jpeg_data_load_file (jdata, fname); + jpeg_data_load_file (jdata, p.fin); /* Make sure the EXIF data is not too big. */ exif_data_save_data (ed, &d, &ds); @@ -289,10 +248,10 @@ save_exif_data_to_file (ExifData *ed, Ex jpeg_data_set_exif_data (jdata, ed); /* Save the modified image. */ - jpeg_data_save_file (jdata, target); + jpeg_data_save_file (jdata, p.fout); jpeg_data_unref (jdata); - fprintf (stdout, _("Wrote file '%s'."), target); + fprintf (stdout, _("Wrote file '%s'."), p.fout); fprintf (stdout, "\n"); return (0); @@ -341,28 +300,20 @@ log_func (ExifLog *log, ExifLogCode code } } -typedef struct _ExifOptions ExifOptions; -struct _ExifOptions { - unsigned int use_ids; - ExifTag tag; -}; - /* * Static variables. I had them first in main (), but people * compiling exif on IRIX complained about that not being compatible * with the "SGI MIPSpro C compiler". I don't understand and still think * these variables belong into main (). */ -static unsigned int list_tags = 0, show_description = 0, machine_readable = 0; +static unsigned int list_tags = 0, show_description = 0; static unsigned int xml_output = 0; static unsigned int extract_thumbnail = 0, remove_thumbnail = 0; static unsigned int remove_tag = 0; static unsigned int list_mnote = 0, debug = 0; static unsigned int show_version = 0; static const char *set_value = NULL, *ifd_string = NULL, *tag_string = NULL; -static ExifIfd ifd = EXIF_IFD_0; -static ExifTag tag = 0; -static ExifOptions eo = {0, 0}; +static ExifParams p = {0, EXIF_IFD_COUNT, 0, 0, NULL, {0, }}; int main (int argc, const char **argv) @@ -375,7 +326,7 @@ main (int argc, const char **argv) POPT_AUTOHELP {"version", 'v', POPT_ARG_NONE, &show_version, 0, N_("Display software version"), NULL}, - {"ids", 'i', POPT_ARG_NONE, &eo.use_ids, 0, + {"ids", 'i', POPT_ARG_NONE, &p.use_ids, 0, N_("Show IDs instead of tag names"), NULL}, {"tag", 't', POPT_ARG_STRING, &tag_string, 0, N_("Select tag"), N_("tag")}, @@ -399,7 +350,7 @@ main (int argc, const char **argv) N_("Write data to FILE"), N_("FILE")}, {"set-value", '\0', POPT_ARG_STRING, &set_value, 0, N_("Value"), NULL}, - {"machine-readable", 'm', POPT_ARG_NONE, &machine_readable, 0, + {"machine-readable", 'm', POPT_ARG_NONE, &p.machine_readable, 0, N_("Output in a machine-readable (tab delimited) format"), NULL}, {"xml-output", 'x', POPT_ARG_NONE, &xml_output, 0, @@ -410,7 +361,6 @@ main (int argc, const char **argv) POPT_TABLEEND}; ExifData *ed; ExifEntry *e; - char fname[1024]; FILE *f; ExifLog *log = NULL; @@ -453,35 +403,46 @@ main (int argc, const char **argv) return 0; } + /* Identify the parameters */ if (ifd_string) { - ifd = exif_ifd_from_string (ifd_string); - if ((ifd < EXIF_IFD_0) || (ifd >= EXIF_IFD_COUNT) || - !exif_ifd_get_name (ifd)) - exif_log (log, -1, "exif", _("Invalid IFD '%s'. Valid IFDs are " - "'0', '1', 'EXIF', 'GPS', and " - "'Interoperability'."), ifd_string); + p.ifd = exif_ifd_from_string (ifd_string); + if ((p.ifd < EXIF_IFD_0) || (p.ifd >= EXIF_IFD_COUNT) || + !exif_ifd_get_name (p.ifd)) + exif_log (log, -1, "exif", + _("Invalid IFD '%s'. Valid IFDs are " + "'0', '1', 'EXIF', 'GPS', and " + "'Interoperability'."), ifd_string); } - if (tag_string) { - tag = exif_tag_from_string (tag_string); - if (tag == 0xffff) - exif_log (log, -1, "exif", _("Invalid tag '%s'!"), tag_string); - eo.tag = tag; + p.tag = exif_tag_from_string (tag_string); + if (p.tag == 0xffff) { + exif_log (log, -1, "exif", _("Invalid tag '%s'!"), + tag_string); + p.tag = 0; + } } + memset (p.fout, 0, sizeof (p.fout)); + if (output) + strncpy (p.fout, output, sizeof (p.fout) - 1); + + /* Check for all necessary parameters */ + if (!p.tag && (set_value || show_description)) + exif_log (log, -1, "exif", _("You need to specify a tag!")); + if (((p.ifd < EXIF_IFD_0) || (p.ifd >= EXIF_IFD_COUNT)) && + (set_value || remove_tag)) + exif_log (log, -1, "exif", _("You need to specify an IFD!")); if (show_description) { - if (!eo.tag) exif_log (log, -1, "exif", _("Please specify a tag!")); /* * The C() macro can point to a static buffer so these printfs * must be done separately. */ printf (_("Tag '%s' "), - C(exif_tag_get_title_in_ifd (eo.tag, ifd))); - printf (_("(0x%04x, '%s'): "), - eo.tag, - C(exif_tag_get_name_in_ifd (eo.tag, ifd))); + C(exif_tag_get_title_in_ifd (p.tag, p.ifd))); + printf (_("(0x%04x, '%s'): "), p.tag, + C(exif_tag_get_name_in_ifd (p.tag, p.ifd))); printf ("%s\n", - C(exif_tag_get_description_in_ifd (eo.tag, ifd))); + C(exif_tag_get_description_in_ifd (p.tag, p.ifd))); exif_log_free(log); poptFreeContext(ctx); @@ -494,6 +455,14 @@ main (int argc, const char **argv) while (*args) { ExifLoader *l; + /* Identify the parameters */ + if (!output) { + strncpy (p.fout, *args, sizeof (p.fout) - 1); + strncat (p.fout, ".modified.jpeg", + sizeof (p.fout) - 1); + } + p.fin = *args; + /* * Try to read EXIF data from the file. * If there is no EXIF data, exit. @@ -514,58 +483,14 @@ main (int argc, const char **argv) /* Never gets here--exif_log has exit()ed */ } - /* Where do we save the output? */ - memset (fname, 0, sizeof (fname)); - if (output) - strncpy (fname, output, sizeof (fname) - 1); - else { - strncpy (fname, *args, sizeof (fname) - 1); - strncat (fname, ".modified.jpeg", - sizeof (fname) - 1); - } - if (list_tags) { - action_tag_table (*args, ed); + action_tag_table (ed, p); - } else if (tag && !set_value && !remove_tag) { - if ((ifd >= EXIF_IFD_0) && - (ifd < EXIF_IFD_COUNT)) { - e = exif_content_get_entry ( - ed->ifd[ifd], tag); - if (e) - show_entry (e, machine_readable); - else - exif_log (log, -1, "exif", _("IFD '%s' " - "does not contain tag '%s'."), ifd_string, tag_string); - } else { - search_entry (ed, eo.tag, machine_readable); - } + } else if (p.tag && !set_value && !remove_tag) { + action_show_tag (ed, log, p); } else if (extract_thumbnail) { - - /* No thumbnail? Exit. */ - if (!ed->data) - exif_log (log, -1, "exif", _("'%s' does not " - "contain a thumbnail!"), *args); - - /* Save the thumbnail */ - f = fopen (fname, "wb"); - if (!f) -#ifdef __GNUC__ - exif_log (log, -1, "exif", - _("Could not open '%s' for " - "writing (%m)!"), fname); -#else - exif_log (log, -1, "exif", - _("Could not open '%s' for " - "writing (%s)!"), fname, - strerror (errno)); -#endif - fwrite (ed->data, 1, ed->size, f); - fclose (f); - fprintf (stdout, _("Wrote file '%s'."), - fname); - fprintf (stdout, "\n"); + action_extract_thumb (ed, log, p); } else if (remove_thumbnail) { @@ -577,7 +502,7 @@ main (int argc, const char **argv) ed->size = 0; /* Save the new data. */ - save_exif_data_to_file (ed, log, *args, fname); + save_exif_data_to_file (ed, log, p); } else if (ithumbnail) { @@ -616,69 +541,56 @@ main (int argc, const char **argv) #endif fclose (f); - save_exif_data_to_file (ed, log, *args, fname); + save_exif_data_to_file (ed, log, p); } else if (set_value) { - /* We need a tag... */ - if (!tag) exif_log (log, -1, "exif", _("You need to specify a tag!")); - - /* ... and an IFD. */ - if ((ifd < EXIF_IFD_0) || - (ifd >= EXIF_IFD_COUNT)) - exif_log (log, -1, "exif", _("You need to specify an IFD!")); - /* If the entry doesn't exist, create it. */ - e = exif_content_get_entry (ed->ifd[ifd], tag); + e = exif_content_get_entry (ed->ifd[p.ifd], p.tag); if (!e) { e = exif_entry_new (); - exif_content_add_entry (ed->ifd[ifd], e); - exif_entry_initialize (e, tag); + exif_content_add_entry (ed->ifd[p.ifd], e); + exif_entry_initialize (e, p.tag); } /* Now set the value and save the data. */ convert_arg_to_entry (set_value, e, exif_data_get_byte_order (ed)); - save_exif_data_to_file (ed, log, *args, fname); + save_exif_data_to_file (ed, log, p); } else if (remove_tag) { - - /* We need an IFD. */ - if ((ifd < EXIF_IFD_0) || - (ifd >= EXIF_IFD_COUNT)) - exif_log (log, -1, "exif", _("You need to specify an IFD!")); - if (!tag) { - while (ed->ifd[ifd] && - ed->ifd[ifd]->count) + if (!p.tag) { + while (ed->ifd[p.ifd] && + ed->ifd[p.ifd]->count) exif_content_remove_entry ( - ed->ifd[ifd], - ed->ifd[ifd]->entries[0]); + ed->ifd[p.ifd], + ed->ifd[p.ifd]->entries[0]); } else { e = exif_content_get_entry ( - ed->ifd[ifd], tag); + ed->ifd[p.ifd], p.tag); if (!e) exif_log (log, -1, "exif", _("IFD '%s' does not contain a " "tag '%s'!"), - exif_ifd_get_name (ifd), - exif_tag_get_name_in_ifd (tag, ifd)); - exif_content_remove_entry (ed->ifd[ifd], e); + exif_ifd_get_name (p.ifd), + exif_tag_get_name_in_ifd (p.tag, p.ifd)); + exif_content_remove_entry (ed->ifd[p.ifd], e); } /* Save modified data. */ - save_exif_data_to_file (ed, log, *args, fname); + save_exif_data_to_file (ed, log, p); - } else if (machine_readable) { - action_tag_list_machine (*args, ed, eo.use_ids); + } else if (p.machine_readable) { + action_tag_list_machine (ed, p); } else if (xml_output) { - action_tag_list_xml (*args, ed, eo.use_ids); + action_tag_list_xml (ed, p); } else if (list_mnote) { - action_mnote_list (*args, ed, eo.use_ids); + action_mnote_list (ed, p); } else - action_tag_list (*args, ed, eo.use_ids); + action_tag_list (ed, p); exif_data_unref (ed); args++; Index: actions.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/actions.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -p -d -r1.30 -r1.31 --- actions.c 23 Jan 2008 22:38:40 -0000 1.30 +++ actions.c 17 Feb 2008 11:49:03 -0000 1.31 @@ -33,8 +33,88 @@ #define CN(s) ((s) ? (s) : "(NULL)") +static void +show_entry (ExifEntry *entry, unsigned int machine_readable) +{ + ExifIfd ifd = exif_entry_get_ifd (entry); + + if (machine_readable) { + char b[1024]; + + fprintf (stdout, "%s\n", C(exif_entry_get_value (entry, b, sizeof (b)))); + return; + } + + /* + * The C() macro can point to a static buffer so these printfs + * must be done separately. + */ + printf (_("EXIF entry '%s' "), + C(exif_tag_get_title_in_ifd (entry->tag, ifd))); + printf (_("(0x%x, '%s') "), + entry->tag, + C(exif_tag_get_name_in_ifd (entry->tag, ifd))); + printf (_("exists in IFD '%s':\n"), + C(exif_ifd_get_name (ifd))); + + exif_entry_dump (entry, 0); +} + void -action_tag_table (const char *filename, ExifData *ed) +action_show_tag (ExifData *ed, ExifLog *log, ExifParams p) +{ + ExifEntry *e; + unsigned int i; + + if (!ed) return; + + if ((p.ifd >= EXIF_IFD_0) && (p.ifd < EXIF_IFD_COUNT)) { + if ((e = exif_content_get_entry (ed->ifd[p.ifd], p.tag))) + show_entry (e, p.machine_readable); + else + exif_log (log, -1, "exif", _("IFD '%s' " + "does not contain tag '%s'."), + exif_ifd_get_name (p.ifd), + exif_tag_get_name (p.tag)); + } else { + for (i = 0; i < EXIF_IFD_COUNT; i++) + if ((e = exif_content_get_entry (ed->ifd[i], p.tag))) + show_entry (e, p.machine_readable); + } +} + +void +action_extract_thumb (ExifData *ed, ExifLog *log, ExifParams p) +{ + FILE *f; + + if (!ed) return; + + /* No thumbnail? Exit. */ + if (!ed->data) { + exif_log (log, -1, "exif", _("'%s' does not " + "contain a thumbnail!"), p.fin); + return; + } + + /* Save the thumbnail */ + f = fopen (p.fout, "wb"); + if (!f) +#ifdef __GNUC__ + exif_log (log, -1, "exif", _("Could not open '%s' for " + "writing (%m)!"), p.fout); +#else + exif_log (log, -1, "exif", _("Could not open '%s' for " + "writing (%s)!"), p.fout, strerror (errno)); +#endif + fwrite (ed->data, 1, ed->size, f); + fclose (f); + fprintf (stdout, _("Wrote file '%s'."), p.fout); + fprintf (stdout, "\n"); +} + +void +action_tag_table (ExifData *ed, ExifParams p) { unsigned int tag; const char *name; @@ -42,7 +122,7 @@ action_tag_table (const char *filename, unsigned int i; memset (txt, 0, sizeof (txt)); - snprintf (txt, sizeof (txt) - 1, _("EXIF tags in '%s':"), filename); + snprintf (txt, sizeof (txt) - 1, _("EXIF tags in '%s':"), p.fin); fprintf (stdout, "%-38.38s", txt); for (i = 0; i < EXIF_IFD_COUNT; i++) fprintf (stdout, "%-7.7s", exif_ifd_get_name (i)); @@ -62,7 +142,7 @@ action_tag_table (const char *filename, } static void -show_entry (ExifEntry *e, void *data) +show_entry_list (ExifEntry *e, void *data) { unsigned char *ids = data; char v[128]; @@ -85,7 +165,7 @@ show_entry (ExifEntry *e, void *data) static void show_ifd (ExifContent *content, void *data) { - exif_content_foreach_entry (content, show_entry, data); + exif_content_foreach_entry (content, show_entry_list, data); } static void @@ -101,13 +181,13 @@ print_hline (unsigned char ids) } void -action_mnote_list (const char *filename, ExifData *ed, unsigned char ids) +action_mnote_list (ExifData *ed, ExifParams p) { unsigned int i, bs = 1024, c, id; char b[1024]; char b1[1024], b2[1024]; ExifMnoteData *n; - const char *p; + const char *s; n = exif_data_get_mnote_data (ed); if (!n) { @@ -126,24 +206,24 @@ action_mnote_list (const char *filename, c), c); } for (i = 0; i < c; i++) { - if ( ids ) { + if (p.use_ids) { id = exif_mnote_data_get_id (n,i); sprintf(b1,"0x%04x",id); } else { - p = C (exif_mnote_data_get_title (n, i)); - strncpy (b1, p && *p ? p : _("Unknown tag"), bs); + s = C (exif_mnote_data_get_title (n, i)); + strncpy (b1, s && *s ? s : _("Unknown tag"), bs); b1[sizeof(b1)-1] = 0; } - p = C (exif_mnote_data_get_value (n, i, b, bs)); - strncpy (b2, p ? p : _("Unknown value"), bs); + s = C (exif_mnote_data_get_value (n, i, b, bs)); + strncpy (b2, s ? s : _("Unknown value"), bs); b2[sizeof(b2)-1] = 0; /* printf ("%s|%s\n", b1, b2); */ - if (ids) + if (p.use_ids) fprintf (stdout, "%-6.6s", b1); else fprintf (stdout, "%-20.20s", b1); fputc ('|', stdout); - if (ids) { + if (p.use_ids) { fputs (b2, stdout); } else { fprintf (stdout, "%-58.58s", b2); @@ -153,7 +233,7 @@ action_mnote_list (const char *filename, } void -action_tag_list (const char *filename, ExifData *ed, unsigned char ids) +action_tag_list (ExifData *ed, ExifParams p) { ExifByteOrder order; @@ -161,24 +241,24 @@ action_tag_list (const char *filename, E return; order = exif_data_get_byte_order (ed); - fprintf (stdout, _("EXIF tags in '%s' ('%s' byte order):"), filename, + fprintf (stdout, _("EXIF tags in '%s' ('%s' byte order):"), p.fin, exif_byte_order_get_name (order)); fputc ('\n', stdout); - print_hline (ids); - if (ids) { + print_hline (p.use_ids); + if (p.use_ids) { fprintf (stdout, "%-6.6s", _("Tag")); } else { fprintf (stdout, "%-20.20s", _("Tag")); } fputc ('|', stdout); - if (ids) + if (p.use_ids) fprintf (stdout, "%-72.72s", _("Value")); else fprintf (stdout, "%-58.58s", _("Value")); fputc ('\n', stdout); - print_hline (ids); - exif_data_foreach_content (ed, show_ifd, &ids); - print_hline (ids); + print_hline (p.use_ids); + exif_data_foreach_content (ed, show_ifd, &p.use_ids); + print_hline (p.use_ids); if (ed->size) { fprintf (stdout, _("EXIF data contains a thumbnail " "(%i bytes)."), ed->size); @@ -210,11 +290,11 @@ show_ifd_machine (ExifContent *content, } void -action_tag_list_machine (const char *filename, ExifData *ed, unsigned char ids) +action_tag_list_machine (ExifData *ed, ExifParams p) { if (!ed) return; - exif_data_foreach_content (ed, show_ifd_machine, &ids); + exif_data_foreach_content (ed, show_ifd_machine, &p.use_ids); if (ed->size) fprintf (stdout, _("ThumbnailSize\t%i\n"), ed->size); } @@ -251,11 +331,11 @@ show_xml (ExifContent *content, void *da } void -action_tag_list_xml (const char *filename, ExifData *ed, unsigned char ids) +action_tag_list_xml (ExifData *ed, ExifParams p) { if (!ed) return; fprintf(stdout, "<exif>\n"); - exif_data_foreach_content (ed, show_xml, &ids); + exif_data_foreach_content (ed, show_xml, &p.use_ids); fprintf(stdout, "</exif>\n"); } Index: actions.h =================================================================== RCS file: /cvsroot/libexif/exif/exif/actions.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -p -d -r1.8 -r1.9 --- actions.h 28 Jul 2006 19:12:32 -0000 1.8 +++ actions.h 17 Feb 2008 11:49:04 -0000 1.9 @@ -23,15 +23,25 @@ #include <libexif/exif-data.h> -void action_tag_table (const char *filename, ExifData *); -void action_tag_list (const char *filename, ExifData *, - unsigned char ids); -void action_tag_list_machine (const char *filename, ExifData *, - unsigned char ids); -void action_tag_list_xml (const char *filename, ExifData *, - unsigned char ids); +typedef struct { + ExifTag tag; + ExifIfd ifd; -void action_mnote_list (const char *filename, ExifData *, - unsigned char ids); + unsigned int machine_readable; + unsigned int use_ids; + + const char *fin; + char fout[1024]; +} ExifParams; + +void action_extract_thumb (ExifData *, ExifLog *, ExifParams); +void action_show_tag (ExifData *, ExifLog *, ExifParams); + +void action_tag_table (ExifData *, ExifParams); +void action_tag_list (ExifData *, ExifParams); +void action_tag_list_machine (ExifData *, ExifParams); +void action_tag_list_xml (ExifData *, ExifParams); + +void action_mnote_list (ExifData *, ExifParams); #endif /* __ACTIONS_H__ */ |