aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Culot <calcurse@culot.org>2008-09-29 06:27:53 +0000
committerFrederic Culot <calcurse@culot.org>2008-09-29 06:27:53 +0000
commit2245a35be602ae03e0c8e548c48d261741f13524 (patch)
treec32e599289f9309e141dc1736eef58a8bf45ea0b
parent152bf6fe75dd890f8bf7f3064d52d3af8c7515e2 (diff)
downloadcalcurse-2245a35be602ae03e0c8e548c48d261741f13524.tar.gz
calcurse-2245a35be602ae03e0c8e548c48d261741f13524.zip
2.3_beta released
-rwxr-xr-xChangeLog11
-rwxr-xr-xNEWS6
-rwxr-xr-xpo/calcurse.pot64
-rw-r--r--po/de.po66
-rw-r--r--po/en.po66
-rw-r--r--po/es.po66
-rwxr-xr-xpo/fr.po66
-rw-r--r--po/nl.po66
-rwxr-xr-xsrc/io.c87
9 files changed, 287 insertions, 211 deletions
diff --git a/ChangeLog b/ChangeLog
index 321151e..773df2f 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-09-29 Frederic Culot <frederic@culot.org>
+
+ * === Released 2.3_beta ===
+
+ * NEWS: update for 2.3_beta
+
+ * io.c (ical_read_rrule): interval is now correctly retrieved,
+ wherever it is inside ical RRULE property
+
+ * io.c (ical_compute_rpt_until): new function
+
2008-09-24 Frederic Culot <frederic@culot.org>
* src/io.c (ical_read_note): do not create note if it has zero
diff --git a/NEWS b/NEWS
index fb5d5dd..8d1252c 100755
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+[29 Sep 2008]
+Version 2.3_beta beta version available for testing.
+- New feature:
+ * ical import added
+
+
[28 Aug 2008]
Version 2.2
- New features:
diff --git a/po/calcurse.pot b/po/calcurse.pot
index 71d2a14..28180f6 100755
--- a/po/calcurse.pot
+++ b/po/calcurse.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -977,11 +977,11 @@ msgstr ""
msgid "Choose the file used to export calcurse data:"
msgstr ""
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr ""
@@ -1082,124 +1082,124 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr ""
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
msgid "could not get entire item description."
msgstr ""
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
msgid "could not retrieve item summary."
msgstr ""
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr ""
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr ""
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr ""
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/de.po b/po/de.po
index ac9abf3..a98c5fa 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# $calcurse: de.po,v 1.18 2008/09/23 17:31:56 culot Exp $
+# $calcurse: de.po,v 1.19 2008/09/29 06:27:53 culot Exp $
#
# German translations for calcurse package.
# Copyright (C) 2006-2007 Michael Schulz <bloodshower@web.de>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 1.9\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2007-09-02 18:06+0200\n"
"Last-Translator: Michael\n"
"Language-Team: Michael Schulz <bloodshower@freenet.de>\n"
@@ -1325,13 +1325,13 @@ msgstr "Exportiere..."
msgid "Choose the file used to export calcurse data:"
msgstr "Wählen Sie die Datei in die exportiert werden soll:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
"Auf die Datei kann nicht zugegriffen werden, bitte einen anderen Dateinamen "
"eingeben."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "[EINGABE] um fortzufahren."
@@ -1442,129 +1442,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "SCHWERER FEHLER in day_popup_item: unbekannter Eintragstyp\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Geben Sie eine neue Beschreibung ein:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Geben Sie eine neue Beschreibung ein:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "Wählen Sie die Datei in die exportiert werden soll:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/en.po b/po/en.po
index f150342..6bbf5f7 100644
--- a/po/en.po
+++ b/po/en.po
@@ -1,4 +1,4 @@
-# $calcurse: en.po,v 1.13 2008/09/23 17:31:56 culot Exp $
+# $calcurse: en.po,v 1.14 2008/09/29 06:27:53 culot Exp $
#
# English/GB translation of calcurse.
# Copyright (C) 2006 Copyright (c) Frederic Culot <frederic@culot.org>
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 1.4\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2006-07-03 00:05+0100\n"
"Last-Translator: Neil Williams <linux@codehelp.co.uk>\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:"
msgstr ""
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
#, fuzzy
msgid "Press [ENTER] to continue."
msgstr "Press [ENTER] to continue"
@@ -1295,128 +1295,128 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Enter description :"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Enter description :"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr ""
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/es.po b/po/es.po
index 5fdf7c9..19638fd 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,4 +1,4 @@
-# $calcurse: es.po,v 1.14 2008/09/23 17:31:56 culot Exp $
+# $calcurse: es.po,v 1.15 2008/09/29 06:27:53 culot Exp $
#
# Spanish translations for calcurse package.
# Copyright (c) Jose Lopez <testinground@gmail.com> 2006 Free Software Foundation, Inc.
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calcurse 1.8\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2006-09-10 08:06+0200\n"
"Last-Translator: 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:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "El archivo no es accesible, por favor elige otro nombre de archivo."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "Pulsa [INTRO] para continuar."
@@ -1443,129 +1443,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "ERROR FATAL en day_popup_item: no existe ese tipo\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Introduce la descripcion del nuevo elemento:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Introduce la descripcion del nuevo elemento:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 7a80717..cab3bd7 100755
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,4 +1,4 @@
-# $calcurse: fr.po,v 1.24 2008/09/23 17:31:56 culot Exp $
+# $calcurse: fr.po,v 1.25 2008/09/29 06:27:53 culot Exp $
#
# French translations for calcurse package.
# Copyright (C) 2004-2008 Frederic Culot <frederic@culot.org>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2008-09-23 19:21+0200\n"
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
"Language-Team: French <calcurse-i18n@culot.org>\n"
@@ -1412,11 +1412,11 @@ msgstr "Export..."
msgid "Choose the file used to export calcurse data:"
msgstr "Choisissez le fichier dans lequel exporter les données:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "Le fichier ne peut être ouvert, veuillez entrer un nouveau nom."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "Appuyez sur [ENTREE] pour continuer."
@@ -1522,129 +1522,129 @@ msgstr "Pcal"
msgid "ERROR in ical_log: unknown ical type"
msgstr "ERREUR FATALE dans ical_log: type ical inconnu"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr "la fréquence de répétition n'a pas été trouvée."
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr "la fréquence de répétition est inconnue."
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr "la règle de répétition est mal formée."
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr "les dates à ne pas répéter sont mal formées."
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
"Impossible de créer une nouvelle note pour enregistrer la déscription. "
"Abandon...\n"
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr "Alerte: impossible d'ouvrir %s, abandon..."
-#: src/io.c:1938
+#: src/io.c:1991
msgid "could not get entire item description."
msgstr "impossible de trouver la description entière de l'élément."
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr "déscription mal formée."
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr "le rendez-vous n'a pas de date de début."
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr "impossible de calculer la durée (pas de date de fin)."
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr "L'élément a une durée négative."
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr "L'élément n'a pu être identifié."
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
msgid "could not retrieve item summary."
msgstr "impossible de récupérer le résumé de l'évènement."
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr "impossible de récupérer l'heure de début de l'évènement."
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr "impossible de récupérer l'heure de fin de l'évènement."
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr "la durée de l'élément est mal formée."
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
"Le fichier ical semble erroné. La fin de l'élément n'a pas été trouvée."
-#: src/io.c:2222
+#: src/io.c:2283
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)."
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr "Entrez le nom du fichier depuis lequel importer les données:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr "Rapport sur les données importées: %04d lignes lues "
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "%d rdv / %d évnts / %d tâches / %d erronés "
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
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)"
-#: src/io.c:2314
+#: src/io.c:2375
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "ERREUR FATALE: le fichier d'entrée n'a pu être ouvert, abandon..."
-#: src/io.c:2327
+#: src/io.c:2388
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
"Attention: l'en-tête ical est mal formé ou le numéro de version est mauvais. "
"Abandon..."
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr "Attention: impossible d'ouvrir le fichier de log, abandon..."
-#: src/io.c:2393
+#: src/io.c:2454
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 ?"
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "Attention: impossible d'effacer le fichier de log, abandon..."
diff --git a/po/nl.po b/po/nl.po
index 4eb460c..abd0999 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# $calcurse: nl.po,v 1.11 2008/09/23 17:31:56 culot Exp $
+# $calcurse: nl.po,v 1.12 2008/09/29 06:27:53 culot Exp $
#
# Dutch translations for calcurse package.
# Copyright (C) 2007-2008 Jeremy Roon <p.roon@chello.nl>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2008-05-03 21:35+0200\n"
"Last-Translator: Jeremy Roon\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:"
msgstr "Kies het bestand om calcurse data naar te exporteren:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "Het bestand is ontoegankelijk, kies een andere bestandsnaam."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "[ENTER]-toets om door te gaan."
@@ -1423,130 +1423,130 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "FATALE FOUT in day_popup_item: onbekend itemtype\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Voer een nieuwe beschrijving in:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Voer een nieuwe beschrijving in:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "Kies het bestand om calcurse data naar te exporteren:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
-#: src/io.c:2320
+#: src/io.c:2381
#, fuzzy
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "FATALE FOUT: tijdelijk bestand kan niet worden aangemaakt!"
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/src/io.c b/src/io.c
index ed7bbf0..243128d 100755
--- a/src/io.c
+++ b/src/io.c
@@ -1,4 +1,4 @@
-/* $calcurse: io.c,v 1.39 2008/09/24 19:06:02 culot Exp $ */
+/* $calcurse: io.c,v 1.40 2008/09/29 06:27:53 culot Exp $ */
/*
* Calcurse - text-based organizer
@@ -1723,6 +1723,42 @@ ical_dur2long (char *durstr)
}
/*
+ * Compute the vevent repetition end date from the repetition count.
+ *
+ * Extract from RFC2445:
+ * The COUNT rule part defines the number of occurrences at which to
+ * range-bound the recurrence. The "DTSTART" property value, if specified,
+ * counts as the first occurrence.
+ */
+static long
+ical_compute_rpt_until (long start, ical_rpt_t *rpt)
+{
+ long until;
+
+ switch (rpt->type)
+ {
+ case RECUR_DAILY:
+ until = date_sec_change (start, 0, rpt->freq * (rpt->count - 1));
+ break;
+ case RECUR_WEEKLY:
+ until = date_sec_change (start, 0,
+ rpt->freq * WEEKINDAYS * (rpt->count - 1));
+ break;
+ case RECUR_MONTHLY:
+ until = date_sec_change (start, rpt->freq * (rpt->count - 1), 0);
+ break;
+ case RECUR_YEARLY:
+ until = date_sec_change (start, rpt->freq * 12 * (rpt->count - 1), 0);
+ break;
+ default:
+ until = 0;
+ break;
+ /* NOTREACHED */
+ }
+ return until;
+}
+
+/*
* Read a recurrence rule from an iCalendar RRULE string.
*
* Value Name: RECUR
@@ -1767,9 +1803,11 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
const string_t weekly = STRING_BUILD ("WEEKLY");
const string_t monthly = STRING_BUILD ("MONTHLY");
const string_t yearly = STRING_BUILD ("YEARLY");
+ const string_t count = STRING_BUILD ("COUNT=");
+ const string_t interv = STRING_BUILD ("INTERVAL=");
unsigned interval;
ical_rpt_t *rpt;
- char *p, *q;
+ char *p;
rpt = NULL;
if ((p = strchr (rrulestr, ':')) != NULL)
@@ -1778,6 +1816,7 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
p++;
rpt = malloc (sizeof (ical_rpt_t));
+ bzero (rpt, sizeof (ical_rpt_t));
if (sscanf (p, "FREQ=%s", freqstr) != 1)
{
ical_log (log, ICAL_VEVENT, itemline,
@@ -1815,35 +1854,51 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
range-bound the recurrence. The "DTSTART" property value, if
specified, counts as the first occurrence.
*/
- if ((q = strstr (p, "UNTIL")) != NULL)
+ if ((p = strstr (rrulestr, "UNTIL")) != NULL)
{
char *untilstr;
- untilstr = strchr (q, '=');
+ untilstr = strchr (p, '=');
rpt->until = ical_datetime2long (++untilstr, NULL);
}
else
{
- unsigned count;
+ unsigned cnt;
+ char *countstr;
- if (sscanf (p, "COUNT=%u", &count) != 1)
+ if ((countstr = strstr (rrulestr, count.str)) != NULL)
{
- rpt->until = 0;
- /* endless repetition */
+ countstr += count.len;
+ if (sscanf (countstr, "%u", &cnt) != 1)
+ {
+ rpt->until = 0;
+ /* endless repetition */
+ }
+ else
+ {
+ rpt->count = cnt;
+ }
}
else
- {
- rpt->count = count;
- }
+ rpt->until = 0;
}
- if (sscanf (p, "INTERVAL=%u", &interval) == 1)
+
+ if ((p = strstr (rrulestr, interv.str)) != NULL)
{
- rpt->freq = interval;
+ p += interv.len;
+ if (sscanf (p, "%u", &interval) != 1)
+ {
+ rpt->freq = 1;
+ /* default frequence if none specified */
+ }
+ else
+ {
+ rpt->freq = interval;
+ }
}
else
{
rpt->freq = 1;
- /* default frequence if none specified */
}
}
else
@@ -2024,6 +2079,10 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{
if (vevent.mesg)
{
+ if (vevent.rpt && vevent.rpt->count)
+ vevent.rpt->until = ical_compute_rpt_until (vevent.start,
+ vevent.rpt);
+
switch (vevent_type)
{
case APPOINTMENT: