Some fixes after ical import tests. Translations updated.

This commit is contained in:
Frederic Culot 2008-09-23 17:31:56 +00:00
parent 6ce12bfedf
commit 9a97689c48
10 changed files with 493 additions and 296 deletions

View File

@ -1,3 +1,14 @@
2008-09-23 Frederic Culot <frederic@culot.org>
* src/io.c: some fixes after ical import tests
* src/io.c (ical_unfold_content, ical_unformat_line): new
functions
* po/fr.po: translation updated
* src/utils.c (mem_free): new function
2008-09-21 Frederic Culot <frederic@culot.org> 2008-09-21 Frederic Culot <frederic@culot.org>
* src/utils.c (status_bar): 'I' keybinding added to import data * src/utils.c (status_bar): 'I' keybinding added to import data

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -977,11 +977,11 @@ msgstr ""
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "" msgstr ""
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "" msgstr ""
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "" msgstr ""
@ -1082,120 +1082,124 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "" msgstr ""
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "" msgstr ""
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "" msgstr ""
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "" msgstr ""
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "" msgstr ""
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "" msgstr ""
#: src/io.c:1817 #: src/io.c:1938
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "" msgstr ""
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "" msgstr ""
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "" msgstr ""
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "" msgstr ""
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr ""
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "" msgstr ""
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." msgid "could not retrieve item summary."
msgstr "" msgstr ""
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "" msgstr ""
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "" msgstr ""
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "" msgstr ""
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "" msgstr ""
#: src/io.c:2112 #: src/io.c:2258
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "" msgstr ""
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "" msgstr ""
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "" msgstr ""
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "" msgstr ""
#: src/io.c:2168 #: src/io.c:2314
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "" msgstr ""
#: src/io.c:2174 #: src/io.c:2320
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2181 #: src/io.c:2327
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "" msgstr ""
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "" msgstr ""
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "" msgstr ""

View File

@ -1,4 +1,4 @@
# $calcurse: de.po,v 1.17 2008/09/21 14:08:59 culot Exp $ # $calcurse: de.po,v 1.18 2008/09/23 17:31:56 culot Exp $
# #
# German translations for calcurse package. # German translations for calcurse package.
# Copyright (C) 2006-2007 Michael Schulz <bloodshower@web.de> # Copyright (C) 2006-2007 Michael Schulz <bloodshower@web.de>
@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calcurse 1.9\n" "Project-Id-Version: calcurse 1.9\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: 2007-09-02 18:06+0200\n" "PO-Revision-Date: 2007-09-02 18:06+0200\n"
"Last-Translator: Michael\n" "Last-Translator: Michael\n"
"Language-Team: Michael Schulz <bloodshower@freenet.de>\n" "Language-Team: Michael Schulz <bloodshower@freenet.de>\n"
@ -1325,13 +1325,13 @@ msgstr "Exportiere..."
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "Wählen Sie die Datei in die exportiert werden soll:" msgstr "Wählen Sie die Datei in die exportiert werden soll:"
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "" msgstr ""
"Auf die Datei kann nicht zugegriffen werden, bitte einen anderen Dateinamen " "Auf die Datei kann nicht zugegriffen werden, bitte einen anderen Dateinamen "
"eingeben." "eingeben."
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "[EINGABE] um fortzufahren." msgstr "[EINGABE] um fortzufahren."
@ -1442,124 +1442,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "SCHWERER FEHLER in day_popup_item: unbekannter Eintragstyp\n" msgstr "SCHWERER FEHLER in day_popup_item: unbekannter Eintragstyp\n"
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "" msgstr ""
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "" msgstr ""
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "" msgstr ""
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "" msgstr ""
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "" msgstr ""
#: src/io.c:1817 #: src/io.c:1938
#, fuzzy #, fuzzy
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "Geben Sie eine neue Beschreibung ein:" msgstr "Geben Sie eine neue Beschreibung ein:"
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "" msgstr ""
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "" msgstr ""
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "" msgstr ""
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr ""
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "" msgstr ""
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." #, fuzzy
msgstr "" msgid "could not retrieve item summary."
msgstr "Geben Sie eine neue Beschreibung ein:"
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "" msgstr ""
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "" msgstr ""
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "" msgstr ""
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "" msgstr ""
#: src/io.c:2112 #: src/io.c:2258
#, fuzzy #, fuzzy
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "Wählen Sie die Datei in die exportiert werden soll:" msgstr "Wählen Sie die Datei in die exportiert werden soll:"
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "" msgstr ""
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "" msgstr ""
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "" msgstr ""
#: src/io.c:2168 #: src/io.c:2314
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n" msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
#: src/io.c:2174 #: src/io.c:2320
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2181 #: src/io.c:2327
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n" msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "" msgstr ""
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "" msgstr ""

View File

@ -1,4 +1,4 @@
# $calcurse: en.po,v 1.12 2008/09/21 14:08:59 culot Exp $ # $calcurse: en.po,v 1.13 2008/09/23 17:31:56 culot Exp $
# #
# English/GB translation of calcurse. # English/GB translation of calcurse.
# Copyright (C) 2006 Copyright (c) Frederic Culot <frederic@culot.org> # Copyright (C) 2006 Copyright (c) Frederic Culot <frederic@culot.org>
@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calcurse 1.4\n" "Project-Id-Version: calcurse 1.4\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: 2006-07-03 00:05+0100\n" "PO-Revision-Date: 2006-07-03 00:05+0100\n"
"Last-Translator: Neil Williams <linux@codehelp.co.uk>\n" "Last-Translator: Neil Williams <linux@codehelp.co.uk>\n"
"Language-Team: English/GB <en_GB@li.org>\n" "Language-Team: English/GB <en_GB@li.org>\n"
@ -1178,11 +1178,11 @@ msgstr "aborting...\n"
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "" msgstr ""
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "" msgstr ""
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
#, fuzzy #, fuzzy
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "Press [ENTER] to continue" msgstr "Press [ENTER] to continue"
@ -1295,123 +1295,128 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n" msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "" msgstr ""
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "" msgstr ""
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "" msgstr ""
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "" msgstr ""
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "" msgstr ""
#: src/io.c:1817 #: src/io.c:1938
#, fuzzy #, fuzzy
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "Enter description :" msgstr "Enter description :"
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "" msgstr ""
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "" msgstr ""
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "" msgstr ""
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr ""
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "" msgstr ""
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." #, fuzzy
msgstr "" msgid "could not retrieve item summary."
msgstr "Enter description :"
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "" msgstr ""
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "" msgstr ""
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "" msgstr ""
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "" msgstr ""
#: src/io.c:2112 #: src/io.c:2258
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "" msgstr ""
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "" msgstr ""
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "" msgstr ""
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "" msgstr ""
#: src/io.c:2168 #: src/io.c:2314
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n" msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
#: src/io.c:2174 #: src/io.c:2320
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2181 #: src/io.c:2327
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n" msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "" msgstr ""
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "" msgstr ""

View File

@ -1,4 +1,4 @@
# $calcurse: es.po,v 1.13 2008/09/21 14:08:59 culot Exp $ # $calcurse: es.po,v 1.14 2008/09/23 17:31:56 culot Exp $
# #
# Spanish translations for calcurse package. # Spanish translations for calcurse package.
# Copyright (c) Jose Lopez <testinground@gmail.com> 2006 Free Software Foundation, Inc. # Copyright (c) Jose Lopez <testinground@gmail.com> 2006 Free Software Foundation, Inc.
@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Calcurse 1.8\n" "Project-Id-Version: Calcurse 1.8\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: 2006-09-10 08:06+0200\n" "PO-Revision-Date: 2006-09-10 08:06+0200\n"
"Last-Translator: Jose Lopez <testinground@gmail.com>\n" "Last-Translator: Jose Lopez <testinground@gmail.com>\n"
"Language-Team: Jose Lopez <testinground@gmail.com>\n" "Language-Team: Jose Lopez <testinground@gmail.com>\n"
@ -1329,11 +1329,11 @@ msgstr "Exportando..."
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:" msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "El archivo no es accesible, por favor elige otro nombre de archivo." msgstr "El archivo no es accesible, por favor elige otro nombre de archivo."
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "Pulsa [INTRO] para continuar." msgstr "Pulsa [INTRO] para continuar."
@ -1443,124 +1443,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "ERROR FATAL en day_popup_item: no existe ese tipo\n" msgstr "ERROR FATAL en day_popup_item: no existe ese tipo\n"
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "" msgstr ""
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "" msgstr ""
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "" msgstr ""
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "" msgstr ""
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "" msgstr ""
#: src/io.c:1817 #: src/io.c:1938
#, fuzzy #, fuzzy
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "Introduce la descripcion del nuevo elemento:" msgstr "Introduce la descripcion del nuevo elemento:"
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "" msgstr ""
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "" msgstr ""
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "" msgstr ""
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr ""
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "" msgstr ""
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." #, fuzzy
msgstr "" msgid "could not retrieve item summary."
msgstr "Introduce la descripcion del nuevo elemento:"
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "" msgstr ""
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "" msgstr ""
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "" msgstr ""
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "" msgstr ""
#: src/io.c:2112 #: src/io.c:2258
#, fuzzy #, fuzzy
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:" msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "" msgstr ""
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "" msgstr ""
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "" msgstr ""
#: src/io.c:2168 #: src/io.c:2314
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n" msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
#: src/io.c:2174 #: src/io.c:2320
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2181 #: src/io.c:2327
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n" msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "" msgstr ""
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "" msgstr ""

View File

@ -1,4 +1,4 @@
# $calcurse: fr.po,v 1.23 2008/09/21 14:08:59 culot Exp $ # $calcurse: fr.po,v 1.24 2008/09/23 17:31:56 culot Exp $
# #
# French translations for calcurse package. # French translations for calcurse package.
# Copyright (C) 2004-2008 Frederic Culot <frederic@culot.org> # Copyright (C) 2004-2008 Frederic Culot <frederic@culot.org>
@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calcurse 2.1\n" "Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: 2008-09-21 16:03+0200\n" "PO-Revision-Date: 2008-09-23 19:21+0200\n"
"Last-Translator: Frederic Culot <frederic@culot.org>\n" "Last-Translator: Frederic Culot <frederic@culot.org>\n"
"Language-Team: French <calcurse-i18n@culot.org>\n" "Language-Team: French <calcurse-i18n@culot.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -1412,11 +1412,11 @@ msgstr "Export..."
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "Choisissez le fichier dans lequel exporter les données:" msgstr "Choisissez le fichier dans lequel exporter les données:"
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "Le fichier ne peut être ouvert, veuillez entrer un nouveau nom." msgstr "Le fichier ne peut être ouvert, veuillez entrer un nouveau nom."
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "Appuyez sur [ENTREE] pour continuer." msgstr "Appuyez sur [ENTREE] pour continuer."
@ -1522,125 +1522,129 @@ msgstr "Pcal"
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "ERREUR FATALE dans ical_log: type ical inconnu" msgstr "ERREUR FATALE dans ical_log: type ical inconnu"
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "la fréquence de répétition n'a pas été trouvée." msgstr "la fréquence de répétition n'a pas été trouvée."
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "la fréquence de répétition est inconnue." msgstr "la fréquence de répétition est inconnue."
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "la règle de répétition est mal formée." msgstr "la règle de répétition est mal formée."
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "les dates à ne pas répéter sont mal formées." msgstr "les dates à ne pas répéter sont mal formées."
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
"Impossible de créer une nouvelle note pour enregistrer la déscription. " "Impossible de créer une nouvelle note pour enregistrer la déscription. "
"Abandon...\n" "Abandon...\n"
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "Alerte: impossible d'ouvrir %s, abandon..." msgstr "Alerte: impossible d'ouvrir %s, abandon..."
#: src/io.c:1817 #: src/io.c:1938
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "impossible de trouver la description entière de l'élément." msgstr "impossible de trouver la description entière de l'élément."
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "déscription mal formée." msgstr "déscription mal formée."
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "le rendez-vous n'a pas de date de début." msgstr "le rendez-vous n'a pas de date de début."
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "impossible de calculer la durée (pas de date de fin)." msgstr "impossible de calculer la durée (pas de date de fin)."
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr "L'élément a une durée négative."
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "L'élément n'a pu être identifié." msgstr "L'élément n'a pu être identifié."
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." msgid "could not retrieve item summary."
msgstr "L'élément n'a pas de résumé." msgstr "impossible de récupérer le résumé de l'évènement."
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "impossible de récupérer l'heure de début de l'évènement." msgstr "impossible de récupérer l'heure de début de l'évènement."
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "impossible de récupérer l'heure de fin de l'évènement." msgstr "impossible de récupérer l'heure de fin de l'évènement."
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "la durée de l'élément est mal formée." msgstr "la durée de l'élément est mal formée."
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
"Le fichier ical semble erroné. La fin de l'élément n'a pas été trouvée." "Le fichier ical semble erroné. La fin de l'élément n'a pas été trouvée."
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "La priorité de l'élément est erronée (devrait être entre 1 et 9)." msgstr "La priorité de l'élément est erronée (devrait être entre 1 et 9)."
#: src/io.c:2112 #: src/io.c:2258
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "Entrez le nom du fichier depuis lequel importer les données:" msgstr "Entrez le nom du fichier depuis lequel importer les données:"
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "Rapport sur les données importées: %04d lignes lues " msgstr "Rapport sur les données importées: %04d lignes lues "
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "%d rdv / %d évnts / %d tâches / %d erronés " msgstr "%d rdv / %d évnts / %d tâches / %d erronés "
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "%d rdv / %d évnts / %d tâches / %d erronés ([ENTREE] pour continuer)" msgstr "%d rdv / %d évnts / %d tâches / %d erronés ([ENTREE] pour continuer)"
#: src/io.c:2168 #: src/io.c:2314
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import" msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
#: src/io.c:2174 #: src/io.c:2320
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "ERREUR FATALE: le fichier d'entrée n'a pu être ouvert, abandon..." msgstr "ERREUR FATALE: le fichier d'entrée n'a pu être ouvert, abandon..."
#: src/io.c:2181 #: src/io.c:2327
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import" msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
"Attention: l'en-tête ical est mal formé, mauvais numéro de version. " "Attention: l'en-tête ical est mal formé ou le numéro de version est mauvais. "
"Abandon..." "Abandon..."
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "Attention: impossible d'ouvrir le fichier de log, abandon..." msgstr "Attention: impossible d'ouvrir le fichier de log, abandon..."
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "Certains éléments n'ont pu être importés, voir le fichier de log ?" msgstr "Certains éléments n'ont pu être importés, voir le fichier de log ?"
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "Attention: impossible d'effacer le fichier de log, abandon..." msgstr "Attention: impossible d'effacer le fichier de log, abandon..."
@ -2098,6 +2102,9 @@ msgstr "T
msgid "FATAL ERROR in wins_update: no window selected\n" msgid "FATAL ERROR in wins_update: no window selected\n"
msgstr "ERREUR FATALE dans wins_update: aucune fenêtre sélectionnée\n" msgstr "ERREUR FATALE dans wins_update: aucune fenêtre sélectionnée\n"
#~ msgid "item has no summary."
#~ msgstr "L'élément n'a pas de résumé."
#~ msgid "CalCurse %s | help" #~ msgid "CalCurse %s | help"
#~ msgstr "Calcurse %s | aide" #~ msgstr "Calcurse %s | aide"

View File

@ -1,4 +1,4 @@
# $calcurse: nl.po,v 1.10 2008/09/21 14:08:59 culot Exp $ # $calcurse: nl.po,v 1.11 2008/09/23 17:31:56 culot Exp $
# #
# Dutch translations for calcurse package. # Dutch translations for calcurse package.
# Copyright (C) 2007-2008 Jeremy Roon <p.roon@chello.nl> # Copyright (C) 2007-2008 Jeremy Roon <p.roon@chello.nl>
@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calcurse 2.1\n" "Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n" "Report-Msgid-Bugs-To: frederic@culot.org\n"
"POT-Creation-Date: 2008-09-21 09:35+0200\n" "POT-Creation-Date: 2008-09-23 19:21+0200\n"
"PO-Revision-Date: 2008-05-03 21:35+0200\n" "PO-Revision-Date: 2008-05-03 21:35+0200\n"
"Last-Translator: Jeremy Roon\n" "Last-Translator: Jeremy Roon\n"
"Language-Team: Jeremy Roon <p.roon@chello.nl>\n" "Language-Team: Jeremy Roon <p.roon@chello.nl>\n"
@ -1312,11 +1312,11 @@ msgstr "Exporteren..."
msgid "Choose the file used to export calcurse data:" msgid "Choose the file used to export calcurse data:"
msgstr "Kies het bestand om calcurse data naar te exporteren:" msgstr "Kies het bestand om calcurse data naar te exporteren:"
#: src/io.c:186 src/io.c:2114 #: src/io.c:186 src/io.c:2260
msgid "The file cannot be accessed, please enter another file name." msgid "The file cannot be accessed, please enter another file name."
msgstr "Het bestand is ontoegankelijk, kies een andere bestandsnaam." msgstr "Het bestand is ontoegankelijk, kies een andere bestandsnaam."
#: src/io.c:187 src/io.c:2115 src/recur.c:676 #: src/io.c:187 src/io.c:2261 src/recur.c:676
msgid "Press [ENTER] to continue." msgid "Press [ENTER] to continue."
msgstr "[ENTER]-toets om door te gaan." msgstr "[ENTER]-toets om door te gaan."
@ -1423,125 +1423,130 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type" msgid "ERROR in ical_log: unknown ical type"
msgstr "FATALE FOUT in day_popup_item: onbekend itemtype\n" msgstr "FATALE FOUT in day_popup_item: onbekend itemtype\n"
#: src/io.c:1656 #: src/io.c:1786
msgid "recurrence frequence not found." msgid "recurrence frequence not found."
msgstr "" msgstr ""
#: src/io.c:1674 #: src/io.c:1804
msgid "recurrence frequence not recognized." msgid "recurrence frequence not recognized."
msgstr "" msgstr ""
#: src/io.c:1720 #: src/io.c:1853
msgid "recurrence rule malformed." msgid "recurrence rule malformed."
msgstr "" msgstr ""
#: src/io.c:1775 #: src/io.c:1908
msgid "recurrence exception dates malformed." msgid "recurrence exception dates malformed."
msgstr "" msgstr ""
#: src/io.c:1796 src/io.c:2196 #: src/io.c:1927 src/io.c:2342
msgid "" msgid ""
"Warning: could not create new note file to store description. Aborting...\n" "Warning: could not create new note file to store description. Aborting...\n"
msgstr "" msgstr ""
#: src/io.c:1800 #: src/io.c:1931
#, c-format #, c-format
msgid "Warning: could not open %s, Aborting..." msgid "Warning: could not open %s, Aborting..."
msgstr "" msgstr ""
#: src/io.c:1817 #: src/io.c:1938
#, fuzzy #, fuzzy
msgid "could not get entire item description." msgid "could not get entire item description."
msgstr "Voer een nieuwe beschrijving in:" msgstr "Voer een nieuwe beschrijving in:"
#: src/io.c:1834 #: src/io.c:1951
msgid "description malformed." msgid "description malformed."
msgstr "" msgstr ""
#: src/io.c:1893 #: src/io.c:2027
msgid "appointment has no start time." msgid "appointment has no start time."
msgstr "" msgstr ""
#: src/io.c:1902 #: src/io.c:2035
msgid "could not compute duration (no end time)." msgid "could not compute duration (no end time)."
msgstr "" msgstr ""
#: src/io.c:1931 #: src/io.c:2054
msgid "item has a negative duration."
msgstr ""
#: src/io.c:2071
msgid "item could not be identified." msgid "item could not be identified."
msgstr "" msgstr ""
#: src/io.c:1939 src/io.c:2060 #: src/io.c:2079 src/io.c:2203
msgid "item has no summary." #, fuzzy
msgstr "" msgid "could not retrieve item summary."
msgstr "Voer een nieuwe beschrijving in:"
#: src/io.c:1955 #: src/io.c:2095
msgid "could not retrieve event start time." msgid "could not retrieve event start time."
msgstr "" msgstr ""
#: src/io.c:1969 #: src/io.c:2108
msgid "could not retrieve event end time." msgid "could not retrieve event end time."
msgstr "" msgstr ""
#: src/io.c:1979 #: src/io.c:2117
msgid "item duration malformed." msgid "item duration malformed."
msgstr "" msgstr ""
#: src/io.c:2012 src/io.c:2103 #: src/io.c:2146 src/io.c:2243
msgid "The ical file seems to be malformed. The end of item was not found." msgid "The ical file seems to be malformed. The end of item was not found."
msgstr "" msgstr ""
#: src/io.c:2079 #: src/io.c:2222
msgid "item priority is not acceptable (must be between 1 and 9)." msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "" msgstr ""
#: src/io.c:2112 #: src/io.c:2258
#, fuzzy #, fuzzy
msgid "Enter the file name to import data from:" msgid "Enter the file name to import data from:"
msgstr "Kies het bestand om calcurse data naar te exporteren:" msgstr "Kies het bestand om calcurse data naar te exporteren:"
#: src/io.c:2155 #: src/io.c:2301
#, c-format #, c-format
msgid "Import process report: %04d lines read " msgid "Import process report: %04d lines read "
msgstr "" msgstr ""
#: src/io.c:2157 #: src/io.c:2303
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped " msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "" msgstr ""
#: src/io.c:2159 #: src/io.c:2305
#, c-format #, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)" msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "" msgstr ""
#: src/io.c:2168 #: src/io.c:2314
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type" msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n" msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
#: src/io.c:2174 #: src/io.c:2320
#, fuzzy #, fuzzy
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..." msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "FATALE FOUT: tijdelijk bestand kan niet worden aangemaakt!" msgstr "FATALE FOUT: tijdelijk bestand kan niet worden aangemaakt!"
#: src/io.c:2181 #: src/io.c:2327
#, fuzzy #, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode" msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n" msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
#: src/io.c:2191 #: src/io.c:2337
msgid "Warning: ical header malformed, wrong version number. Aborting..." msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr "" msgstr ""
#: src/io.c:2201 #: src/io.c:2347
msgid "Warning: could not open temporary log file, Aborting..." msgid "Warning: could not open temporary log file, Aborting..."
msgstr "" msgstr ""
#: src/io.c:2246 #: src/io.c:2393
msgid "Some items could not be imported, see log file ?" msgid "Some items could not be imported, see log file ?"
msgstr "" msgstr ""
#: src/io.c:2280 #: src/io.c:2427
msgid "Warning: could not erase temporary log file, Aborting..." msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "" msgstr ""

299
src/io.c
View File

@ -1,4 +1,4 @@
/* $calcurse: io.c,v 1.37 2008/09/21 08:06:43 culot Exp $ */ /* $calcurse: io.c,v 1.38 2008/09/23 17:31:56 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -1369,6 +1369,8 @@ static void
ical_store_todo (int priority, char *mesg, char *note) ical_store_todo (int priority, char *mesg, char *note)
{ {
todo_add (mesg, priority, note); todo_add (mesg, priority, note);
mem_free (mesg);
mem_free (note);
} }
static void static void
@ -1381,14 +1383,14 @@ ical_store_event (char *mesg, char *note, long day, ical_rpt_t *rpt,
{ {
recur_event_new (mesg, note, day, EVENTID, rpt->type, rpt->freq, recur_event_new (mesg, note, day, EVENTID, rpt->type, rpt->freq,
rpt->until, exc); rpt->until, exc);
free (rpt); mem_free (rpt);
} }
else else
{ {
event_new (mesg, note, day, EVENTID); event_new (mesg, note, day, EVENTID);
} }
if (note) mem_free (mesg);
free (note); mem_free (note);
} }
static void static void
@ -1403,14 +1405,142 @@ ical_store_apoint (char *mesg, char *note, long start, long dur,
{ {
recur_apoint_new (mesg, note, start, dur, state, rpt->type, rpt->freq, recur_apoint_new (mesg, note, start, dur, state, rpt->type, rpt->freq,
rpt->until, exc); rpt->until, exc);
free (rpt); mem_free (rpt);
} }
else else
{ {
apoint_new (mesg, note, start, dur, state); apoint_new (mesg, note, start, dur, state);
} }
if (note) mem_free (mesg);
free (note); mem_free (note);
}
/*
* Returns an allocated string representing the string given in argument once
* unformatted. See ical_unfold_content () below.
*
* Note:
* Even if the RFC2445 recommends not to have more than 75 octets on one line of
* text, I prefer not to restrict the parsing to this size, thus I use a buffer
* of size BUFSIZ.
*
* Extract from RFC2445:
* Lines of text SHOULD NOT be longer than 75 octets, excluding the line
* break.
*/
static char *
ical_unformat_line (char *line)
{
#define LINE_FEED 0x0a
#define CARRIAGE_RETURN 0x0d
char *p, uline[BUFSIZ];
int len;
if (strlen (line) >= BUFSIZ)
return NULL;
bzero (uline, BUFSIZ);
for (len = 0, p = line; *p; p++)
{
switch (*p)
{
case LINE_FEED:
return strdup (uline);
case CARRIAGE_RETURN:
break;
case '\\':
switch (*(p + 1))
{
case 'n':
uline[len++] = '\n';
p++;
break;
case 't':
uline[len++] = '\t';
p++;
break;
case ';':
case ':':
case ',':
uline[len++] = *(p + 1);
p++;
break;
default:
uline[len++] = *p;
break;
}
break;
default:
uline[len++] = *p;
break;
}
}
#undef LINE_FEED
#undef CARRIAGE_RETURN
return NULL;
}
/*
* Extract from RFC2445:
*
* When parsing a content line, folded lines MUST first be
* unfolded [..] The content information associated with an iCalendar
* object is formatted using a syntax similar to that defined by [RFC 2425].
*/
static char *
ical_unfold_content (FILE *fd, char *line, unsigned *lineno)
{
const int CHAR_SPACE = 32, CHAR_TAB = 9;
char *content;
int c;
content = ical_unformat_line (line);
if (!content)
return NULL;
for (;;)
{
c = getc (fd);
if (c == CHAR_SPACE || c == CHAR_TAB)
{
char buf[BUFSIZ];
if (fgets (buf, BUFSIZ, fd) != NULL)
{
char *tmpline, *rline;
int newsize;
(*lineno)++;
tmpline = ical_unformat_line (buf);
if (!tmpline)
{
mem_free (content);
return NULL;
}
newsize = strlen (content) + strlen (tmpline) + 1;
if ((rline = realloc (content, newsize)) == NULL)
{
mem_free (content);
mem_free (tmpline);
return NULL;
}
content = rline;
strncat (content, tmpline, BUFSIZ);
mem_free (tmpline);
}
else
{
mem_free (content);
return NULL;
/* Could not get entire item description. */
}
}
else
{
ungetc (c, fd);
return content;
}
}
} }
static float static float
@ -1641,21 +1771,21 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
const string_t yearly = STRING_BUILD ("YEARLY"); const string_t yearly = STRING_BUILD ("YEARLY");
unsigned interval; unsigned interval;
ical_rpt_t *rpt; ical_rpt_t *rpt;
char *p; char *p, *q;
rpt = NULL; rpt = NULL;
if ((p = strchr (rrulestr, ':')) != NULL) if ((p = strchr (rrulestr, ':')) != NULL)
{ {
char freqstr[BUFSIZ], untilstr[BUFSIZ]; char freqstr[BUFSIZ];
p++; p++;
rpt = malloc (sizeof (ical_rpt_t)); rpt = malloc (sizeof (ical_rpt_t));
if (sscanf (p, "FREQ=%s;", freqstr) != 1) if (sscanf (p, "FREQ=%s", freqstr) != 1)
{ {
ical_log (log, ICAL_VEVENT, itemline, ical_log (log, ICAL_VEVENT, itemline,
_("recurrence frequence not found.")); _("recurrence frequence not found."));
(*noskipped)++; (*noskipped)++;
free (rpt); mem_free (rpt);
return NULL; return NULL;
} }
else else
@ -1673,7 +1803,7 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
ical_log (log, ICAL_VEVENT, itemline, ical_log (log, ICAL_VEVENT, itemline,
_("recurrence frequence not recognized.")); _("recurrence frequence not recognized."));
(*noskipped)++; (*noskipped)++;
free (rpt); mem_free (rpt);
return NULL; return NULL;
} }
} }
@ -1687,15 +1817,18 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
range-bound the recurrence. The "DTSTART" property value, if range-bound the recurrence. The "DTSTART" property value, if
specified, counts as the first occurrence. specified, counts as the first occurrence.
*/ */
if (sscanf (p, "UNTIL=%s;", untilstr) == 1) if ((q = strstr (p, "UNTIL")) != NULL)
{ {
rpt->until = ical_datetime2long (untilstr, NULL); char *untilstr;
untilstr = strchr (q, '=');
rpt->until = ical_datetime2long (++untilstr, NULL);
} }
else else
{ {
unsigned count; unsigned count;
if (sscanf (p, "COUNT=%u;", &count) != 1) if (sscanf (p, "COUNT=%u", &count) != 1)
{ {
rpt->until = 0; rpt->until = 0;
/* endless repetition */ /* endless repetition */
@ -1705,7 +1838,7 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
rpt->count = count; rpt->count = count;
} }
} }
if (sscanf (p, "INTERVAL=%u;", &interval) == 1) if (sscanf (p, "INTERVAL=%u", &interval) == 1)
{ {
rpt->freq = interval; rpt->freq = interval;
} }
@ -1778,17 +1911,15 @@ ical_read_exdate (FILE *log, char *exstr, unsigned *noskipped,
return exc; return exc;
} }
/* Return an allocated string containing the name of the newly created note. */
static char * static char *
ical_read_note (char *first_line, FILE *fdi, unsigned *noskipped, ical_read_note (char *first_line, FILE *fdi, unsigned *noskipped,
unsigned *lineno, ical_vevent_e item_type, const int itemline, unsigned *lineno, ical_vevent_e item_type, const int itemline,
FILE *log) FILE *log)
{ {
const int CHAR_SPACE = 32, CHAR_TAB = 9; char *p, *notestr, *notename, fullnotename[BUFSIZ];
char *p, *note, *notename, buf[BUFSIZ], fullnotename[BUFSIZ];
FILE *fdo; FILE *fdo;
int c;
note = NULL;
if ((p = strchr (first_line, ':')) != NULL) if ((p = strchr (first_line, ':')) != NULL)
{ {
notename = new_tempfile (path_notes, NOTESIZ); notename = new_tempfile (path_notes, NOTESIZ);
@ -1800,18 +1931,8 @@ ical_read_note (char *first_line, FILE *fdi, unsigned *noskipped,
EXIT_IF (fdo == NULL, _("Warning: could not open %s, Aborting..."), EXIT_IF (fdo == NULL, _("Warning: could not open %s, Aborting..."),
fullnotename); fullnotename);
p++; p++;
fprintf (fdo, "%s", p); notestr = ical_unfold_content (fdi, p, lineno);
for (;;) if (notestr == NULL)
{
c = getc (fdi);
if (c == CHAR_SPACE || c == CHAR_TAB)
{
if (fgets (buf, BUFSIZ, fdi) != NULL)
{
(*lineno)++;
fprintf (fdo, "%s", buf);
}
else
{ {
ical_log (log, item_type, itemline, ical_log (log, item_type, itemline,
_("could not get entire item description.")); _("could not get entire item description."));
@ -1820,15 +1941,11 @@ ical_read_note (char *first_line, FILE *fdi, unsigned *noskipped,
(*noskipped)++; (*noskipped)++;
return NULL; return NULL;
} }
} fprintf (fdo, "%s", notestr);
else
{
ungetc (c, fdi);
fclose (fdo); fclose (fdo);
mem_free (notestr);
return notename; return notename;
} }
}
}
else else
{ {
ical_log (log, item_type, itemline, _("description malformed.")); ical_log (log, item_type, itemline, _("description malformed."));
@ -1837,6 +1954,23 @@ ical_read_note (char *first_line, FILE *fdi, unsigned *noskipped,
} }
} }
/* Returns an allocated string containing the ical item summary. */
static char *
ical_read_summary (char *first_line, FILE *fdi, unsigned *lineno)
{
char *p, *summary;
if ((p = strchr (first_line, ':')) != NULL)
{
p++;
summary = ical_unfold_content (fdi, p, lineno);
return summary;
}
else
return NULL;
}
static void static void
ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints, ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
unsigned *noskipped, unsigned *lineno) unsigned *noskipped, unsigned *lineno)
@ -1858,9 +1992,9 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
struct { struct {
days_t *exc; days_t *exc;
ical_rpt_t *rpt; ical_rpt_t *rpt;
char mesg[BUFSIZ], *note; char *mesg, *note;
long start, end, dur; long start, end, dur;
int has_summary, has_alarm; int has_alarm;
} vevent; } vevent;
int skip_alarm; int skip_alarm;
@ -1882,7 +2016,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
} }
if (strncmp (buf_upper, endevent.str, endevent.len) == 0) if (strncmp (buf_upper, endevent.str, endevent.len) == 0)
{ {
if (vevent.has_summary) if (vevent.mesg)
{ {
switch (vevent_type) switch (vevent_type)
{ {
@ -1891,8 +2025,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{ {
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("appointment has no start time.")); _("appointment has no start time."));
(*noskipped)++; goto cleanup;
return;
} }
if (vevent.dur == 0) if (vevent.dur == 0)
{ {
@ -1901,8 +2034,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("could not compute duration " _("could not compute duration "
"(no end time).")); "(no end time)."));
(*noskipped)++; goto cleanup;
return;
} }
else if (vevent.start == vevent.end) else if (vevent.start == vevent.end)
{ {
@ -1914,7 +2046,15 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
return; return;
} }
else else
vevent.dur = vevent.start - vevent.end; {
vevent.dur = vevent.end - vevent.start;
if (vevent.dur < 0)
{
ical_log (log, ICAL_VEVENT, ITEMLINE,
_("item has a negative duration."));
goto cleanup;
}
}
} }
ical_store_apoint (vevent.mesg, vevent.note, vevent.start, ical_store_apoint (vevent.mesg, vevent.note, vevent.start,
vevent.dur, vevent.rpt, vevent.exc, vevent.dur, vevent.rpt, vevent.exc,
@ -1929,15 +2069,15 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
case UNDEFINED: case UNDEFINED:
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("item could not be identified.")); _("item could not be identified."));
(*noskipped)++; goto cleanup;
return;
break; break;
} }
} }
else else
{ {
ical_log (log, ICAL_VEVENT, ITEMLINE, _("item has no summary.")); ical_log (log, ICAL_VEVENT, ITEMLINE,
(*noskipped)++; _("could not retrieve item summary."));
goto cleanup;
} }
return; return;
} }
@ -1953,8 +2093,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{ {
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("could not retrieve event start time.")); _("could not retrieve event start time."));
(*noskipped)++; goto cleanup;
return;
} }
} }
else if (strncmp (buf_upper, dtend.str, dtend.len) == 0) else if (strncmp (buf_upper, dtend.str, dtend.len) == 0)
@ -1967,8 +2106,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{ {
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("could not retrieve event end time.")); _("could not retrieve event end time."));
(*noskipped)++; goto cleanup;
return;
} }
} }
else if (strncmp (buf_upper, duration.str, duration.len) == 0) else if (strncmp (buf_upper, duration.str, duration.len) == 0)
@ -1977,8 +2115,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{ {
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("item duration malformed.")); _("item duration malformed."));
(*noskipped)++; goto cleanup;
return;
} }
} }
else if (strncmp (buf_upper, rrule.str, rrule.len) == 0) else if (strncmp (buf_upper, rrule.str, rrule.len) == 0)
@ -1991,10 +2128,7 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
} }
else if (strncmp (buf_upper, summary.str, summary.len) == 0) else if (strncmp (buf_upper, summary.str, summary.len) == 0)
{ {
const int sumlen = strlen (buf) - summary.len - 1; vevent.mesg = ical_read_summary (buf, fdi, lineno);
memcpy (vevent.mesg, buf + summary.len, sumlen);
vevent.mesg[sumlen - 1] = '\0';
vevent.has_summary = 1;
} }
else if (strncmp (buf_upper, alarm.str, alarm.len) == 0) else if (strncmp (buf_upper, alarm.str, alarm.len) == 0)
{ {
@ -2011,6 +2145,14 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
ical_log (log, ICAL_VEVENT, ITEMLINE, ical_log (log, ICAL_VEVENT, ITEMLINE,
_("The ical file seems to be malformed. " _("The ical file seems to be malformed. "
"The end of item was not found.")); "The end of item was not found."));
cleanup:
mem_free (vevent.note);
mem_free (vevent.mesg);
mem_free (vevent.rpt);
mem_free (vevent.exc);
(*noskipped)++;
} }
static void static void
@ -2018,7 +2160,7 @@ ical_read_todo (FILE *fdi, FILE *log, unsigned *notodos, unsigned *noskipped,
unsigned *lineno) unsigned *lineno)
{ {
const string_t endtodo = STRING_BUILD ("END:VTODO"); const string_t endtodo = STRING_BUILD ("END:VTODO");
const string_t summary = STRING_BUILD ("SUMMARY:"); const string_t summary = STRING_BUILD ("SUMMARY");
const string_t alarm = STRING_BUILD ("BEGIN:VALARM"); const string_t alarm = STRING_BUILD ("BEGIN:VALARM");
const string_t endalarm = STRING_BUILD ("END:VALARM"); const string_t endalarm = STRING_BUILD ("END:VALARM");
const string_t desc = STRING_BUILD ("DESCRIPTION"); const string_t desc = STRING_BUILD ("DESCRIPTION");
@ -2026,8 +2168,8 @@ ical_read_todo (FILE *fdi, FILE *log, unsigned *notodos, unsigned *noskipped,
const int ITEMLINE = *lineno; const int ITEMLINE = *lineno;
char buf[BUFSIZ], buf_upper[BUFSIZ]; char buf[BUFSIZ], buf_upper[BUFSIZ];
struct { struct {
char mesg[BUFSIZ], *note; char *mesg, *note;
int has_priority, has_summary, priority; int has_priority, priority;
} vtodo; } vtodo;
int skip_alarm; int skip_alarm;
@ -2050,15 +2192,16 @@ ical_read_todo (FILE *fdi, FILE *log, unsigned *notodos, unsigned *noskipped,
{ {
if (!vtodo.has_priority) if (!vtodo.has_priority)
vtodo.priority = LOWEST; vtodo.priority = LOWEST;
if (vtodo.has_summary) if (vtodo.mesg)
{ {
ical_store_todo (vtodo.priority, vtodo.mesg, vtodo.note); ical_store_todo (vtodo.priority, vtodo.mesg, vtodo.note);
(*notodos)++; (*notodos)++;
} }
else else
{ {
ical_log (log, ICAL_VTODO, ITEMLINE, _("item has no summary.")); ical_log (log, ICAL_VTODO, ITEMLINE,
(*noskipped)++; _("could not retrieve item summary."));
goto cleanup;
} }
return; return;
} }
@ -2083,10 +2226,7 @@ ical_read_todo (FILE *fdi, FILE *log, unsigned *notodos, unsigned *noskipped,
} }
else if (strncmp (buf_upper, summary.str, summary.len) == 0) else if (strncmp (buf_upper, summary.str, summary.len) == 0)
{ {
const int sumlen = strlen (buf) - summary.len - 1; vtodo.mesg = ical_read_summary (buf, fdi, lineno);
memcpy (vtodo.mesg, buf + summary.len, sumlen);
vtodo.mesg[sumlen - 1] = '\0';
vtodo.has_summary = 1;
} }
else if (strncmp (buf_upper, alarm.str, alarm.len) == 0) else if (strncmp (buf_upper, alarm.str, alarm.len) == 0)
{ {
@ -2102,6 +2242,12 @@ ical_read_todo (FILE *fdi, FILE *log, unsigned *notodos, unsigned *noskipped,
ical_log (log, ICAL_VTODO, ITEMLINE, ical_log (log, ICAL_VTODO, ITEMLINE,
_("The ical file seems to be malformed. " _("The ical file seems to be malformed. "
"The end of item was not found.")); "The end of item was not found."));
cleanup:
mem_free (vtodo.note);
mem_free (vtodo.mesg);
(*noskipped)++;
} }
static FILE * static FILE *
@ -2124,7 +2270,7 @@ get_import_stream (export_type_t type)
cancel = updatestring (win[STA].p, &stream_name, 0, 1); cancel = updatestring (win[STA].p, &stream_name, 0, 1);
if (cancel) if (cancel)
{ {
free (stream_name); mem_free (stream_name);
return NULL; return NULL;
} }
stream = fopen (stream_name, "r"); stream = fopen (stream_name, "r");
@ -2134,7 +2280,7 @@ get_import_stream (export_type_t type)
wgetch (win[STA].p); wgetch (win[STA].p);
} }
} }
free (stream_name); mem_free (stream_name);
return stream; return stream;
} }
@ -2188,7 +2334,7 @@ io_import_data (io_mode_t mode, import_type_t type, conf_t *conf,
bzero (&stats, sizeof stats); bzero (&stats, sizeof stats);
ical_version = ical_chk_header (stream, &stats.lines); ical_version = ical_chk_header (stream, &stats.lines);
RETURN_IF (ical_version < 0, RETURN_IF (ical_version < 0,
_("Warning: ical header malformed, wrong version number. " _("Warning: ical header malformed or wrong version number. "
"Aborting...")); "Aborting..."));
logname = new_tempfile (logprefix, NOTESIZ); logname = new_tempfile (logprefix, NOTESIZ);
@ -2233,8 +2379,9 @@ io_import_data (io_mode_t mode, import_type_t type, conf_t *conf,
{ {
printf (proc_report, stats.lines); printf (proc_report, stats.lines);
printf ("\n"); printf ("\n");
printf (lines_stats, stats.lines, stats.apoints, stats.events, printf (lines_stats, stats.apoints, stats.events, stats.todos,
stats.todos, stats.skipped); stats.skipped);
printf ("\n");
} }
/* User has the choice to look at the log file if some items could not be /* User has the choice to look at the log file if some items could not be
@ -2278,5 +2425,5 @@ io_import_data (io_mode_t mode, import_type_t type, conf_t *conf,
} }
EXIT_IF (unlink (flogname) != 0, EXIT_IF (unlink (flogname) != 0,
_("Warning: could not erase temporary log file, Aborting...")); _("Warning: could not erase temporary log file, Aborting..."));
free (logname); mem_free (logname);
} }

View File

@ -1,4 +1,4 @@
/* $calcurse: utils.c,v 1.51 2008/09/21 08:06:43 culot Exp $ */ /* $calcurse: utils.c,v 1.52 2008/09/23 17:31:57 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -999,3 +999,10 @@ str_toupper (char *s)
s[len] = toupper (s[len]); s[len] = toupper (s[len]);
return s; return s;
} }
void
mem_free (void *ptr)
{
if (ptr)
free (ptr);
}

View File

@ -1,4 +1,4 @@
/* $calcurse: utils.h,v 1.35 2008/09/21 08:06:43 culot Exp $ */ /* $calcurse: utils.h,v 1.36 2008/09/23 17:31:57 culot Exp $ */
/* /*
* Calcurse - text-based organizer * Calcurse - text-based organizer
@ -154,5 +154,6 @@ char *new_tempfile (const char *, int);
void erase_note (char **, erase_flag_e); void erase_note (char **, erase_flag_e);
int parse_date (char *, int, int *, int *, int *); int parse_date (char *, int, int *, int *, int *);
char *str_toupper (char *); char *str_toupper (char *);
void mem_free (void *ptr);
#endif /* CALCURSE_UTILS_H */ #endif /* CALCURSE_UTILS_H */