commit 5a4f5d4e5879f3116149f0a2e859cd28a30e33f6 parent 54b9cf143bf5dca96254d16028381f8eec753d61 Author: Colin Leroy <colin@colino.net> Date: Sat, 6 Oct 2018 13:00:00 +0200 Fix build Diffstat:
87 files changed, 21172 insertions(+), 109 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am @@ -228,7 +228,6 @@ claws_mail_SOURCES = \ quote_fmt_parse.y \ recv.c \ remotefolder.c \ - safe_fclose.c \ send_message.c \ setup.c \ sourcewindow.c \ @@ -349,7 +348,6 @@ claws_mailinclude_HEADERS = \ quote_fmt_parse.h \ recv.h \ remotefolder.h \ - safe_fclose.h \ send_message.h \ setup.h \ sourcewindow.h \ diff --git a/src/addrbook.c b/src/addrbook.c @@ -33,7 +33,7 @@ #include "addrcache.h" #include "addrbook.h" #include "adbookbase.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifndef DEV_STANDALONE #include "prefs_gtk.h" diff --git a/src/addrindex.c b/src/addrindex.c @@ -43,7 +43,7 @@ #include "utils.h" #include "alertpanel.h" #include "passwordstore.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifndef DEV_STANDALONE #include "prefs_gtk.h" diff --git a/src/common/Makefile.am b/src/common/Makefile.am @@ -43,6 +43,7 @@ libclawscommon_la_SOURCES = $(arch_sources) \ string_match.c \ stringtable.c \ claws.c \ + claws_io.c \ tags.c \ template.c \ utils.c \ @@ -74,6 +75,7 @@ clawscommoninclude_HEADERS = $(arch_headers) \ string_match.h \ stringtable.h \ claws.h \ + claws_io.h \ tags.h \ template.h \ timing.h \ @@ -87,7 +89,6 @@ clawscommoninclude_HEADERS = $(arch_headers) \ unmime.h AM_CPPFLAGS = \ - -I$(srcdir)/.. \ -I$(top_srcdir)/intl \ $(GLIB_CFLAGS) \ $(VALGRIND_CFLAGS) \ diff --git a/src/common/claws_io.c b/src/common/claws_io.c @@ -0,0 +1,47 @@ +/* + * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client + * Copyright (C) 1999-2018 Colin Leroy and the Claws Mail team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#include "claws-features.h" +#endif + +#include <stdio.h> +#include <unistd.h> + +#include "timing.h" + +gboolean prefs_common_get_flush_metadata(void); + +int safe_fclose(FILE *fp) +{ + int r; + START_TIMING(""); + + if (fflush(fp) != 0) { + return EOF; + } + if (prefs_common_get_flush_metadata() && fsync(fileno(fp)) != 0) { + return EOF; + } + + r = fclose(fp); + END_TIMING(); + + return r; +} diff --git a/src/common/claws_io.h b/src/common/claws_io.h @@ -0,0 +1,24 @@ +/* + * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client + * Copyright (C) 1999-2018 Colin Leroy and the Claws Mail team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef __CLAWS_IO_H__ +#define __CLAWS_IO_H__ + +int safe_fclose(FILE *fp); + +#endif diff --git a/src/common/log.c b/src/common/log.c @@ -35,7 +35,7 @@ #include "utils.h" #include "log.h" #include "hooks.h" -#include "safe_fclose.h" +#include "claws_io.h" #define FWRITE(_b,_s,_n,_f) if (fwrite(_b,_s,_n,_f) != _n) { \ g_message("log fwrite failed!\n"); \ diff --git a/src/common/prefs.c b/src/common/prefs.c @@ -28,7 +28,7 @@ #include "prefs.h" #include "utils.h" -#include "safe_fclose.h" +#include "claws_io.h" static gboolean prefs_is_readonly (const gchar *path); diff --git a/src/common/ssl_certificate.c b/src/common/ssl_certificate.c @@ -46,7 +46,7 @@ #include "socket.h" #include "hooks.h" #include "defs.h" -#include "safe_fclose.h" +#include "claws_io.h" static GHashTable *warned_expired = NULL; diff --git a/src/common/tags.c b/src/common/tags.c @@ -40,7 +40,7 @@ #include "defs.h" #include "utils.h" #include "tags.h" -#include "safe_fclose.h" +#include "claws_io.h" static GHashTable *tags_table = NULL; static GHashTable *tags_reverse_table = NULL; diff --git a/src/common/template.c b/src/common/template.c @@ -29,7 +29,7 @@ #include "utils.h" #include "template.h" #include "codeconv.h" -#include "safe_fclose.h" +#include "claws_io.h" static GSList *template_list; diff --git a/src/common/utils.c b/src/common/utils.c @@ -86,7 +86,7 @@ #include "codeconv.h" #include "tlds.h" #include "timing.h" -#include "safe_fclose.h" +#include "claws_io.h" #define BUFFSIZE 8192 diff --git a/src/compose.c b/src/compose.c @@ -107,7 +107,7 @@ #include "autofaces.h" #include "spell_entry.h" #include "headers.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef USE_LDAP #include "password.h" diff --git a/src/etpan/imap-thread.c b/src/etpan/imap-thread.c @@ -44,7 +44,7 @@ #include "utils.h" #include "mainwindow.h" #include "proxy.h" -#include "safe_fclose.h" +#include "claws_io.h" #include "ssl.h" #include "ssl_certificate.h" #include "socket.h" diff --git a/src/exporthtml.c b/src/exporthtml.c @@ -46,7 +46,7 @@ #include "utils.h" #include "exporthtml.h" #include "xmlprops.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef MKDIR_TAKES_ONE_ARG #undef mkdir diff --git a/src/exportldif.c b/src/exportldif.c @@ -38,7 +38,7 @@ #include "exportldif.h" #include "xmlprops.h" #include "ldif.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef MKDIR_TAKES_ONE_ARG diff --git a/src/ldapquery.c b/src/ldapquery.c @@ -38,7 +38,7 @@ #include "ldapctrl.h" #include "ldapserver.h" #include "mgutils.h" -#include "safe_fclose.h" +#include "claws_io.h" #include "addritem.h" #include "addrcache.h" diff --git a/src/log b/src/log @@ -0,0 +1,2364 @@ +==14105== Memcheck, a memory error detector +==14105== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. +==14105== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info +==14105== Command: claws-mail +==14105== Parent PID: 32435 +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==14105== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==14105== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==14105== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==14105== by 0x612371: addrindex_read_index (addrindex.c:1612) +==14105== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==14105== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==14105== by 0x609995: addressbook_read_file (addressbook.c:4170) +==14105== by 0x4D8CDA: main (main.c:1265) +==14105== Address 0x1192c8f8 is 0 bytes after a block of size 40 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==14105== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==14105== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==14105== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==14105== by 0x612371: addrindex_read_index (addrindex.c:1612) +==14105== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==14105== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==14105== by 0x609995: addressbook_read_file (addressbook.c:4170) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==14105== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==14105== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==14105== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==14105== by 0x612371: addrindex_read_index (addrindex.c:1612) +==14105== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==14105== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==14105== by 0x609995: addressbook_read_file (addressbook.c:4170) +==14105== by 0x4D8CDA: main (main.c:1265) +==14105== Address 0x1192cc78 is 0 bytes after a block of size 40 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==14105== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==14105== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==14105== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==14105== by 0x612371: addrindex_read_index (addrindex.c:1612) +==14105== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==14105== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==14105== by 0x609995: addressbook_read_file (addressbook.c:4170) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA27: wcslen (wcslen.S:55) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x135a8cf8 is 0 bytes after a block of size 56 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA27: wcslen (wcslen.S:55) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x135a8d78 is 0 bytes after a block of size 56 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x135af0f8 is 0 bytes after a block of size 40 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x135af7e8 is 40 bytes inside a block of size 44 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==14105== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==14105== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==14105== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==14105== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==14105== by 0x5B8A78: summary_init (summaryview.c:997) +==14105== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x152e8bb0 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==14105== by 0x5B8A78: summary_init (summaryview.c:997) +==14105== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==14105== by 0x5B8A78: summary_init (summaryview.c:997) +==14105== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x152e8ce0 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==14105== by 0x5B8A78: summary_init (summaryview.c:997) +==14105== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==14105== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x15371dd0 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==14105== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==14105== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== Address 0x15371f00 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==14105== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==14105== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==14105== by 0x4D8D20: main (main.c:1286) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA27: wcslen (wcslen.S:55) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== Address 0x15820090 is 48 bytes inside a block of size 52 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== Address 0x158207a0 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA0F: wcslen (wcslen.S:48) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== Address 0x158208c0 is 32 bytes inside a block of size 36 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA27: wcslen (wcslen.S:55) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== Address 0x15824748 is 0 bytes after a block of size 56 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA3F: wcslen (wcslen.S:62) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==14105== Address 0x15829b88 is 0 bytes after a block of size 72 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA3F: wcslen (wcslen.S:62) +==14105== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E0320: heap_sort (gtksctree.c:1109) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==14105== Address 0x1582b5b8 is 0 bytes after a block of size 72 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E0180: sink (gtksctree.c:1078) +==14105== by 0x6E0320: heap_sort (gtksctree.c:1109) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== +==14105== Invalid read of size 8 +==14105== at 0x89AAA6B: wcslen (wcslen.S:75) +==14105== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==14105== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==14105== Address 0x1698a518 is 0 bytes after a block of size 104 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==14105== by 0x6E01DA: sink (gtksctree.c:1082) +==14105== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==14105== by 0x6E0462: stree_sort (gtksctree.c:1145) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==14105== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==14105== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cc9b020 is 80 bytes inside a block of size 2,731 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cc9b020 is 80 bytes inside a block of size 2,731 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cc9c020 is 16 bytes inside a block of size 200 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A750: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1ccd4020 is 16 bytes before a block of size 280 alloc'd +==14105== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6C13D8: _PyObject_GC_Malloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C74CC: _PyObject_GC_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6651F3: PyDict_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C637FCC: PyModule_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6380F1: PyImport_AddModule (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBB05: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B77: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1ccf4020 is 672 bytes inside a block of size 768 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6C1EB9: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5806D7: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBB7C: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B77: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cda7020 is 9,360 bytes inside a block of size 9,383 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cda7020 is 9,360 bytes inside a block of size 9,383 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cda7020 is 9,360 bytes inside a block of size 9,383 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5EA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cc60020 is 64 bytes inside a block of size 1,864 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6A3544: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B273: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1ce3b020 is 8 bytes after a block of size 280 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A73C: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6958EB: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695BD7: PyParser_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6802D4: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6958EB: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695BD7: PyParser_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6802D4: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6958EB: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695BD7: PyParser_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6802D4: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1ceeb020 is 384 bytes inside a block of size 676 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6958EB: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695BD7: PyParser_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6802D4: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf4b020 is 16 bytes inside a block of size 384 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695FD7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf58020 is 35,456 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695FD7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf58020 is 35,456 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DEB40: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C598328: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf58020 is 35,456 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DEB40: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CBA5B: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5983AB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf58020 is 35,456 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf59020 is 144 bytes inside a block of size 768 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DEB40: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CBA5B: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5983AB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf58020 is 35,456 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C69540B: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620032: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C69541F: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620032: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf80020 is 34,288 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695F14: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf80020 is 34,288 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DE8A6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CB707: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CA973: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CBA5B: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CBB29: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C598328: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf82020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A3466: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584771: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBB7C: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cf74020 is 4,816 bytes inside a block of size 8,192 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C698999: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C698A92: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6ACCCC: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57EDE5: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6495E6: _PyString_Resize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E5804: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FD5: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cfda020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E5E42: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FD5: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1cfda020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C681F75: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C639874: _PyCodec_Lookup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C639A08: PyCodec_Encoder (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C590247: Py_InitializeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B0F6: plugin_init (python_plugin.c:661) +==14105== Address 0x1d023020 is 48 bytes inside a block of size 280 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A750: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67A73C: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EC9: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695FD7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695F14: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69601D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d083020 is 304 bytes inside a block of size 320 free'd +==14105== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C620220: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695FA8: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d082020 is 34,608 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0cd020 is 96 bytes inside a block of size 384 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0cd020 is 96 bytes inside a block of size 384 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CB5AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5975F1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A60F: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C598F97: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== Address 0x1d0cd020 is 96 bytes inside a block of size 384 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C652DC5: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599C4C: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0d0020 is 96 bytes inside a block of size 384 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0d2020 is 624 bytes inside a block of size 768 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6A369A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6BF896: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C652DC5: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599C4C: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==14105== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0e1020 is 34,784 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0e2020 is 176 bytes inside a block of size 768 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6A369A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E22F4: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5972BF: PySymtable_Build (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599EB1: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0e3020 is 16 bytes inside a block of size 40 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C5E4B9C: PyCode_Optimize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E625E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FD5: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==14105== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==14105== by 0x1C32B104: plugin_init (python_plugin.c:669) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B137: plugin_init (python_plugin.c:675) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0ee020 is 34,480 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B137: plugin_init (python_plugin.c:675) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B137: plugin_init (python_plugin.c:675) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0ee020 is 34,480 bytes inside a block of size 36,032 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B137: plugin_init (python_plugin.c:675) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0fc020 is 160 bytes inside a block of size 320 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C652DC5: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C599C4C: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0fe020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C598ACD: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==14105== by 0x1C32B160: plugin_init (python_plugin.c:681) +==14105== by 0x6623FB: plugin_load (plugin.c:514) +==14105== by 0x662A45: plugin_load_all (plugin.c:618) +==14105== by 0x4D907D: main (main.c:1418) +==14105== Address 0x1d0fe020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C69540B: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C69541F: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1d18e020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C681838: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C681838: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1d113020 is 3,632 bytes inside a block of size 5,410 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== Address 0x1d113020 is 3,632 bytes inside a block of size 5,410 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==14105== +==14161== +==14161== HEAP SUMMARY: +==14161== in use at exit: 13,046,906 bytes in 71,260 blocks +==14161== total heap usage: 246,905 allocs, 175,645 frees, 34,025,273 bytes allocated +==14161== +==14161== LEAK SUMMARY: +==14161== definitely lost: 41,363 bytes in 112 blocks +==14161== indirectly lost: 6,944 bytes in 218 blocks +==14161== possibly lost: 3,317,077 bytes in 20,484 blocks +==14161== still reachable: 9,681,522 bytes in 50,446 blocks +==14161== suppressed: 0 bytes in 0 blocks +==14161== Rerun with --leak-check=full to see details of leaked memory +==14161== +==14161== For counts of detected and suppressed errors, rerun with: -v +==14161== Use --track-origins=yes to see where uninitialised values come from +==14161== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14166== +==14166== HEAP SUMMARY: +==14166== in use at exit: 13,046,976 bytes in 71,263 blocks +==14166== total heap usage: 246,908 allocs, 175,645 frees, 34,025,343 bytes allocated +==14166== +==14167== +==14167== HEAP SUMMARY: +==14167== in use at exit: 13,046,976 bytes in 71,263 blocks +==14167== total heap usage: 246,908 allocs, 175,645 frees, 34,025,343 bytes allocated +==14167== +==14166== LEAK SUMMARY: +==14166== definitely lost: 41,363 bytes in 112 blocks +==14166== indirectly lost: 6,944 bytes in 218 blocks +==14166== possibly lost: 3,317,077 bytes in 20,484 blocks +==14166== still reachable: 9,681,592 bytes in 50,449 blocks +==14166== suppressed: 0 bytes in 0 blocks +==14166== Rerun with --leak-check=full to see details of leaked memory +==14166== +==14166== For counts of detected and suppressed errors, rerun with: -v +==14166== Use --track-origins=yes to see where uninitialised values come from +==14166== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14167== LEAK SUMMARY: +==14167== definitely lost: 41,363 bytes in 112 blocks +==14167== indirectly lost: 6,944 bytes in 218 blocks +==14167== possibly lost: 3,317,077 bytes in 20,484 blocks +==14167== still reachable: 9,681,592 bytes in 50,449 blocks +==14167== suppressed: 0 bytes in 0 blocks +==14167== Rerun with --leak-check=full to see details of leaked memory +==14167== +==14167== For counts of detected and suppressed errors, rerun with: -v +==14167== Use --track-origins=yes to see where uninitialised values come from +==14167== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14168== +==14169== +==14168== HEAP SUMMARY: +==14168== in use at exit: 13,047,041 bytes in 71,265 blocks +==14168== total heap usage: 246,910 allocs, 175,645 frees, 34,025,408 bytes allocated +==14168== +==14169== HEAP SUMMARY: +==14169== in use at exit: 13,047,041 bytes in 71,265 blocks +==14169== total heap usage: 246,910 allocs, 175,645 frees, 34,025,408 bytes allocated +==14169== +==14169== LEAK SUMMARY: +==14168== definitely lost: 41,363 bytes in 112 blocks +==14169== indirectly lost: 6,944 bytes in 218 blocks +==14169== possibly lost: 3,317,077 bytes in 20,484 blocks +==14168== possibly lost: 3,317,077 bytes in 20,484 blocks +==14169== suppressed: 0 bytes in 0 blocks +==14169== Rerun with --leak-check=full to see details of leaked==14168===14169== +==14168== Rerun with --leak-check=full to see details of leaked memory +==14168== +==14169== For counts of detected and suppressed errors, rerun with: -v +==14169== Use --track-origins=yes to see where uninitialised values come from +==14169== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14168== Use --track-origins=yes to see where uninitialised values come from +==14168== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14170== +==14170== HEAP SUMMARY: +==14170== in use at exit: 13,047,041 bytes in 71,265 blocks +==14170== total heap usage: 246,910 allocs, 175,645 frees, 34,025,408 bytes allocated +==14170== +==14171== +==14171== HEAP SUMMARY: +==14171== in use at exit: 13,047,041 bytes in 71,265 blocks +==14171== total heap usage: 246,910 allocs, 175,645 frees, 34,025,408 bytes allocated +==14171== +==14170== LEAK SUMMARY: +==14170== definitely lost: 41,363 bytes in 112 blocks +==14170== indirectly lost: 6,944 bytes in 218 blocks +==14170== possibly lost: 3,317,077 bytes in 20,484 blocks +==14170== still reachable: 9,681,657 bytes in 50,451 blocks +==14170== suppressed: 0 bytes in 0 blocks +==14170== Rerun with --leak-check=full to see details of leaked memory +==14170== +==14170== For counts of detected and suppressed errors, rerun with: -v +==14170== Use --track-origins=yes to see where uninitialised values come from +==14170== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14171== LEAK SUMMARY: +==14171== definitely lost: 41,363 bytes in 112 blocks +==14171== indirectly lost: 6,944 bytes in 218 blocks +==14171== possibly lost: 3,317,077 bytes in 20,484 blocks +==14171== still reachable: 9,681,657 bytes in 50,451 blocks +==14171== suppressed: 0 bytes in 0 blocks +==14171== Rerun with --leak-check=full to see details of leaked memory +==14171== +==14171== For counts of detected and suppressed errors, rerun with: -v +==14171== Use --track-origins=yes to see where uninitialised values come from +==14171== ERROR SUMMARY: 1814 errors from 83 contexts (suppressed: 2 from 2) +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0xB43C9F0: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0xB422076: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0xB3D5810: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0x6513C6D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6550CA6: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x654362A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6543F6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6544A6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x65086ED: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6518932: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6547C4D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x650FE24: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0xB43C6E8: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0xB422076: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0xB3D5810: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==14105== by 0x6513C6D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6550CA6: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x654362A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6543F6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6544A6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x65086ED: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6518932: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x6547C4D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== by 0x650FE24: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x336650A7: ??? (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.36.3) +==14105== by 0x33665D48: rsvg_handle_get_pixbuf_sub (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.36.3) +==14105== by 0x3340DEAA: ??? (in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so) +==14105== by 0x62D272B: gdk_pixbuf_loader_close (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==14105== by 0x62CEA7A: ??? (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==14105== by 0x62D02B0: gdk_pixbuf_new_from_stream_at_scale (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==14105== by 0x557F5AD: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== by 0x5581FB9: gtk_icon_info_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== by 0x5582166: gtk_icon_theme_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== by 0x557D650: gtk_icon_set_render_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== by 0x56D04B2: gtk_widget_render_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== by 0x559165B: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x89DBDB0: re_compile_fastmap_iter.isra.30 (regcomp.c:329) +==14105== by 0x89E8669: re_compile_fastmap (regcomp.c:281) +==14105== by 0x89E8E8F: regcomp (regcomp.c:517) +==14105== by 0x67C2F8: subject_get_prefix_length (utils.c:3805) +==14105== by 0x59CB84: subject_hashtable_insert (procmsg.c:141) +==14105== by 0x59CF2D: procmsg_get_thread_tree (procmsg.c:242) +==14105== by 0x5BFFE2: summary_set_ctree_from_list (summaryview.c:3141) +==14105== by 0x5BA939: summary_show (summaryview.c:1463) +==14105== by 0x4B6B7E: folderview_selected (folderview.c:2145) +==14105== by 0x6FD98A: claws_marshal_VOID__POINTER_INT (claws-marshal.c:348) +==14105== by 0x7E0C13F: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== by 0x7E1D54F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x89DBDB0: re_compile_fastmap_iter.isra.30 (regcomp.c:329) +==14105== by 0x89E8689: re_compile_fastmap (regcomp.c:283) +==14105== by 0x89E8E8F: regcomp (regcomp.c:517) +==14105== by 0x67C2F8: subject_get_prefix_length (utils.c:3805) +==14105== by 0x59CB84: subject_hashtable_insert (procmsg.c:141) +==14105== by 0x59CF2D: procmsg_get_thread_tree (procmsg.c:242) +==14105== by 0x5BFFE2: summary_set_ctree_from_list (summaryview.c:3141) +==14105== by 0x5BA939: summary_show (summaryview.c:1463) +==14105== by 0x4B6B7E: folderview_selected (folderview.c:2145) +==14105== by 0x6FD98A: claws_marshal_VOID__POINTER_INT (claws-marshal.c:348) +==14105== by 0x7E0C13F: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== by 0x7E1D54F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== Address 0x1cdf7020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== Address 0x1cdf7020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== Address 0x1ceca020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== Address 0x1cdfa020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E8AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== Address 0x1cdfa020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== Address 0x1ceb0020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== Address 0x1cc4d020 is 2,048 bytes inside a block of size 2,056 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x7E2C7F4: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== by 0x6A9265: row_delete (gtkcmctree.c:2637) +==14105== by 0x6A8C01: tree_delete_row (gtkcmctree.c:2487) +==14105== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==14105== by 0x6ACDB7: real_clear (gtkcmctree.c:3295) +==14105== by 0x6DF298: gtk_sctree_clear (gtksctree.c:771) +==14105== by 0x6C5B85: gtk_cmclist_clear (gtkcmclist.c:2825) +==14105== by 0x5BB3A1: summary_clear_list (summaryview.c:1634) +==14105== by 0x4DB553: app_will_exit (main.c:2121) +==14105== by 0x4ED378: app_exit_cb (mainwindow.c:4021) +==14105== by 0x7E0C13F: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== Address 0x1cc48020 is 0 bytes inside a block of size 16 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x684249: xml_free_tag (xml.c:654) +==14105== by 0x6840DE: xml_free_node (xml.c:621) +==14105== by 0x684126: xml_free_func (xml.c:630) +==14105== by 0x809A854: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x809A808: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x809A808: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x809A808: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x809A808: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x809B550: g_node_traverse (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==14105== by 0x68419F: xml_free_tree (xml.c:638) +==14105== by 0x49E625: folder_write_list (folder.c:906) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== Address 0x1d1b6020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E63A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== Address 0x1d1b6020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== +==14105== More than 100 errors detected. Subsequent errors +==14105== will still be recorded, but in less detail than before. +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A36BC: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== Address 0x1cdc8020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A36BC: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C606412: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6147D9: _PyImport_Fini (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EFA4: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== +==14105== Use of uninitialised value of size 8 +==14105== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6147D9: _PyImport_Fini (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EFA4: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69613B: PyDict_Fini (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58F009: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== Address 0x1d2b6020 is 1,536 bytes inside a block of size 3,072 free'd +==14105== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==14105== by 0x1C6A369A: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C65E882: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C69613B: PyDict_Fini (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58F009: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== +==14105== Invalid read of size 4 +==14105== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695C95: PyGrammar_RemoveAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58F01A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== Address 0x1ceea020 is not stack'd, malloc'd or (recently) free'd +==14105== +==14105== Conditional jump or move depends on uninitialised value(s) +==14105== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C695C95: PyGrammar_RemoveAccelerators (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C58F01A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==14105== by 0x1C32B277: plugin_done (python_plugin.c:717) +==14105== by 0x662665: plugin_unload (plugin.c:545) +==14105== by 0x662B4F: plugin_unload_all (plugin.c:639) +==14105== by 0x4D987B: exit_claws (main.c:1668) +==14105== by 0x4D95FA: main (main.c:1574) +==14105== +==14105== +==14105== HEAP SUMMARY: +==14105== in use at exit: 28,421,190 bytes in 83,097 blocks +==14105== total heap usage: 2,288,198 allocs, 2,205,101 frees, 210,685,308 bytes allocated +==14105== +==14105== LEAK SUMMARY: +==14105== definitely lost: 48,361 bytes in 134 blocks +==14105== indirectly lost: 39,904 bytes in 1,243 blocks +==14105== possibly lost: 20,524,016 bytes in 52,169 blocks +==14105== still reachable: 7,808,909 bytes in 29,551 blocks +==14105== suppressed: 0 bytes in 0 blocks +==14105== Rerun with --leak-check=full to see details of leaked memory +==14105== +==14105== For counts of detected and suppressed errors, rerun with: -v +==14105== Use --track-origins=yes to see where uninitialised values come from +==14105== ERROR SUMMARY: 2494 errors from 108 contexts (suppressed: 2 from 2) diff --git a/src/main.c b/src/main.c @@ -132,7 +132,7 @@ #include "advsearch.h" #include "avatars.h" #include "passwordstore.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef HAVE_LIBETPAN #include "imap-thread.h" diff --git a/src/mbox.c b/src/mbox.c @@ -56,7 +56,7 @@ #include "filtering.h" #include "alertpanel.h" #include "statusbar.h" -#include "safe_fclose.h" +#include "claws_io.h" #define MESSAGEBUFSIZE 8192 diff --git a/src/messageview.c b/src/messageview.c @@ -67,7 +67,7 @@ #include "statusbar.h" #include "folder_item_prefs.h" #include "avatars.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifndef USE_ALT_ADDRBOOK #include "addressbook.h" diff --git a/src/mh.c b/src/mh.c @@ -44,7 +44,7 @@ #include "gtkutils.h" #include "timing.h" #include "msgcache.h" -#include "safe_fclose.h" +#include "claws_io.h" /* Define possible missing constants for Windows. */ #ifdef G_OS_WIN32 diff --git a/src/msgcache.c b/src/msgcache.c @@ -47,7 +47,7 @@ #include "timing.h" #include "tags.h" #include "prefs_common.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef HAVE_FWRITE_UNLOCKED #define SC_FWRITE fwrite_unlocked diff --git a/src/news.c b/src/news.c @@ -62,7 +62,7 @@ # include "ssl.h" #endif #include "main.h" -#include "safe_fclose.h" +#include "claws_io.h" #define NNTP_PORT 119 #ifdef USE_GNUTLS diff --git a/src/partial_download.c b/src/partial_download.c @@ -63,7 +63,7 @@ #include "folder.h" #include "procheader.h" #include "msgcache.h" -#include "safe_fclose.h" +#include "claws_io.h" int partial_msg_in_uidl_list(MsgInfo *msginfo) { diff --git a/src/patch b/src/patch @@ -0,0 +1,182 @@ +diff --git a/src/folder.c b/src/folder.c +index 2a8d862..c080f8c 100644 +--- a/src/folder.c ++++ b/src/folder.c +@@ -969,7 +969,7 @@ void folder_scan_tree(Folder *folder, gboolean rebuild) + FolderItem *folder_create_folder(FolderItem *parent, const gchar *name) + { + FolderItem *new_item; +- ++ + cm_return_val_if_fail(parent != NULL, NULL); + + new_item = parent->folder->klass->create_folder(parent->folder, parent, name); +diff --git a/src/imap.c b/src/imap.c +index 8870719..9086635 100644 +--- a/src/imap.c ++++ b/src/imap.c +@@ -290,6 +290,12 @@ static FolderItem *imap_create_special_folder + static gint imap_do_copy_msgs (Folder *folder, + FolderItem *dest, + MsgInfoList *msglist, ++ GHashTable *relation, ++ gboolean same_dest_ok); ++ ++static gint imap_do_remove_msgs (Folder *folder, ++ FolderItem *dest, ++ MsgInfoList *msglist, + GHashTable *relation); + + static void imap_delete_all_cached_messages (FolderItem *item); +@@ -1810,7 +1816,8 @@ static GSList *flatten_mailimap_set(struct mailimap_set * set) + return result; + } + static gint imap_do_copy_msgs(Folder *folder, FolderItem *dest, +- MsgInfoList *msglist, GHashTable *relation) ++ MsgInfoList *msglist, GHashTable *relation, ++ gboolean same_dest_ok) + { + FolderItem *src; + gchar *destdir; +@@ -1834,7 +1841,7 @@ static gint imap_do_copy_msgs(Folder *folder, FolderItem *dest, + + msginfo = (MsgInfo *)msglist->data; + src = msginfo->folder; +- if (src == dest) { ++ if (!same_dest_ok && src == dest) { + g_warning("the src folder is identical to the dest.\n"); + return -1; + } +@@ -2018,10 +2025,32 @@ static gint imap_copy_msgs(Folder *folder, FolderItem *dest, + msginfo = (MsgInfo *)msglist->data; + g_return_val_if_fail(msginfo->folder != NULL, -1); + +- ret = imap_do_copy_msgs(folder, dest, msglist, relation); ++ ret = imap_do_copy_msgs(folder, dest, msglist, relation, FALSE); + return ret; + } + ++static gboolean imap_renumber_msg(MsgInfo *info) ++{ ++ GSList msglist; ++ int ret; ++ ++ g_return_val_if_fail(info != NULL, -1); ++ ++ msglist.data = info; ++ msglist.next = NULL; ++ ++ ret = imap_do_copy_msgs(info->folder->folder, info->folder, &msglist, ++ NULL, TRUE); ++ if (ret == 0) ++ ret = imap_do_remove_msgs(info->folder->folder, info->folder, ++ &msglist, NULL); ++ ++ if (ret == 0) ++ ret = folder_item_scan_full(info->folder, FALSE); ++ ++ return ret == 0; ++} ++ + static gboolean imap_matcher_type_is_local(gint matchertype) + { + switch (matchertype) { +@@ -3069,6 +3098,17 @@ static FolderItem *imap_create_folder(Folder *folder, FolderItem *parent, + g_return_val_if_fail(parent != NULL, NULL); + g_return_val_if_fail(name != NULL, NULL); + ++ if (to_number(name) > 0) { ++ MsgInfo *info = folder_item_get_msginfo(parent, to_number(name)); ++ if (info != NULL) { ++ gboolean ok = imap_renumber_msg(info); ++ procmsg_msginfo_free(info); ++ if (!ok) { ++ return NULL; ++ } ++ } ++ } ++ + debug_print("getting session...\n"); + session = imap_session_get(folder); + if (!session) { +diff --git a/src/mh.c b/src/mh.c +index e7b9888..b3fbc9c 100644 +--- a/src/mh.c ++++ b/src/mh.c +@@ -43,6 +43,7 @@ + #include "statusbar.h" + #include "gtkutils.h" + #include "timing.h" ++#include "msgcache.h" + + /* Define possible missing constants for Windows. */ + #ifdef G_OS_WIN32 +@@ -368,6 +369,11 @@ static gchar *mh_get_new_msg_filename(FolderItem *dest) + destpath = folder_item_get_path(dest); + cm_return_val_if_fail(destpath != NULL, NULL); + ++ if (dest->last_num < 0) { ++ mh_get_last_num(dest->folder, dest); ++ if (dest->last_num < 0) return NULL; ++ } ++ + if (!is_dir_exist(destpath)) + make_dir_hier(destpath); + +@@ -867,6 +873,30 @@ static gchar *mh_item_get_path(Folder *folder, FolderItem *item) + return real_path; + } + ++static gboolean mh_renumber_msg(MsgInfo *info) ++{ ++ gchar *src, *dest; ++ gboolean result = FALSE; ++ guint num; ++ cm_return_val_if_fail(info != NULL, FALSE); ++ ++ src = folder_item_fetch_msg(info->folder, info->msgnum); ++ dest = mh_get_new_msg_filename(info->folder); ++ num = info->folder->last_num + 1; ++ ++ if (move_file(src, dest, FALSE) == 0) { ++ msgcache_remove_msg(info->folder->cache, info->msgnum); ++ info->msgnum = num; ++ msgcache_add_msg(info->folder->cache, info); ++ result = TRUE; ++ } ++ ++ g_free(src); ++ g_free(dest); ++ ++ return result; ++} ++ + static FolderItem *mh_create_folder(Folder *folder, FolderItem *parent, + const gchar *name) + { +@@ -884,12 +914,24 @@ static FolderItem *mh_create_folder(Folder *folder, FolderItem *parent, + if (!is_dir_exist(path)) + if (make_dir_hier(path) != 0) + return NULL; +- ++ + real_name = mh_filename_from_utf8(name); + fullpath = g_strconcat(path, G_DIR_SEPARATOR_S, real_name, NULL); + g_free(real_name); + g_free(path); + ++ if (to_number(name) > 0) { ++ MsgInfo *info = folder_item_get_msginfo(parent, to_number(name)); ++ if (info != NULL) { ++ gboolean ok = mh_renumber_msg(info); ++ procmsg_msginfo_free(info); ++ if (!ok) { ++ g_free(fullpath); ++ return NULL; ++ } ++ } ++ } ++ + if (make_dir(fullpath) < 0) { + g_free(fullpath); + return NULL; diff --git a/src/plugins/acpi_notifier/acpi_notifier.c b/src/plugins/acpi_notifier/acpi_notifier.c @@ -47,7 +47,7 @@ #include "utils.h" #include "folder_item_prefs.h" #include "gtkcmoptionmenu.h" -#include "safe_fclose.h" +#include "claws_io.h" #define PREFS_BLOCK_NAME "AcpiNotifier" #define PLUGIN_NAME _("Acpi Notifier") diff --git a/src/plugins/acpi_notifier/claws-mail-acpi_notifier.metainfo.xml b/src/plugins/acpi_notifier/claws-mail-acpi_notifier.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-acpi_notifier</id> +<extends>claws-mail.desktop</extends> +<name>AcpiNotifier</name> +<summary>Enables mail notification via LEDs on some laptops</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=acpinotifier</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/address_keeper/claws-mail-address_keeper.metainfo.xml b/src/plugins/address_keeper/claws-mail-address_keeper.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-address_keeper</id> +<extends>claws-mail.desktop</extends> +<name>AddressKeeper</name> +<summary>Allows saving outgoing addresses to a designated folder in the address book</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/archive/claws-mail-archive.metainfo.xml b/src/plugins/archive/claws-mail-archive.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-archive</id> +<extends>claws-mail.desktop</extends> +<name>Mail Archiver</name> +<summary>Allows to make tars or zips of old folders</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/att_remover/claws-mail-att_remover.metainfo.xml b/src/plugins/att_remover/claws-mail-att_remover.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-att_remover</id> +<extends>claws-mail.desktop</extends> +<name>AttRemover</name> +<summary>Lets you remove attachments from emails</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/attachwarner/claws-mail-attachwarner.metainfo.xml b/src/plugins/attachwarner/claws-mail-attachwarner.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-attachwarner</id> +<extends>claws-mail.desktop</extends> +<name>AttachWarner</name> +<summary>Warns when a message mentioning an attachment in the message body without attaching any files</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=attachwarner</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/bogofilter/bogofilter.c b/src/plugins/bogofilter/bogofilter.c @@ -52,7 +52,7 @@ #include "prefs_common.h" #include "alertpanel.h" #include "addr_compl.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifdef HAVE_SYSEXITS_H #include <sysexits.h> diff --git a/src/plugins/bogofilter/claws-mail-bogofilter.metainfo.xml b/src/plugins/bogofilter/claws-mail-bogofilter.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-bogofilter</id> +<extends>claws-mail.desktop</extends> +<name>Bogofilter</name> +<summary>Enables the scanning of incoming mail received from a POP, IMAP, or LOCAL account using Bogofilter</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=bogofilter</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/bsfilter/claws-mail-bsfilter.metainfo.xml b/src/plugins/bsfilter/claws-mail-bsfilter.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-bsfilter</id> +<extends>claws-mail.desktop</extends> +<name>BSfilter</name> +<summary>Check all messages that are received from an IMAP, LOCAL or POP account for spam using Bsfilter</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/clamd/claws-mail-clamd.metainfo.xml b/src/plugins/clamd/claws-mail-clamd.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-clamd</id> +<extends>claws-mail.desktop</extends> +<name>Clamd</name> +<summary>Scans all messages that are received from an IMAP, LOCAL or POP account using clamd (Clam AV)</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/fancy/claws-mail-fancy.metainfo.xml b/src/plugins/fancy/claws-mail-fancy.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-fancy</id> +<extends>claws-mail.desktop</extends> +<name>Fancy</name> +<summary>Renders HTML e-mail using the WebKit library</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/fancy/fancy_viewer.c b/src/plugins/fancy/fancy_viewer.c @@ -28,7 +28,7 @@ #include <fancy_viewer.h> #include <fancy_prefs.h> #include <alertpanel.h> -#include <safe_fclose.h> +#include <claws_io.h> #include <printing.h> #include <webkit/webkithittestresult.h> diff --git a/src/plugins/fetchinfo/claws-mail-fetchinfo.metainfo.xml b/src/plugins/fetchinfo/claws-mail-fetchinfo.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-fetchinfo</id> +<extends>claws-mail.desktop</extends> +<name>Fetchinfo</name> +<summary>Inserts headers containing: UIDL, Claws' account name, POP server, user ID and retrieval time</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/gdata/claws-mail-gdata.metainfo.xml b/src/plugins/gdata/claws-mail-gdata.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-gdata</id> +<extends>claws-mail.desktop</extends> +<name>GData</name> +<summary>Provides an interface to Google services</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/geolocation/claws-mail-geolocation.metainfo.xml b/src/plugins/geolocation/claws-mail-geolocation.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-geolocation</id> +<extends>claws-mail.desktop</extends> +<name>GeoLocation</name> +<summary>Provides GeoLocation functionality</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/libravatar/claws-mail-libravatar.metainfo.xml b/src/plugins/libravatar/claws-mail-libravatar.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-libravatar</id> +<extends>claws-mail.desktop</extends> +<name>Libravatar</name> +<summary>Displays libravatar/gravatar profiles' images or a dynamically generated or predefined alternative</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=libravatar</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/libravatar/libravatar_image.c b/src/plugins/libravatar/libravatar_image.c @@ -27,7 +27,7 @@ #include <common/claws.h> #include <prefs_common.h> -#include <safe_fclose.h> +#include <claws_io.h> #include "libravatar.h" #include "libravatar_prefs.h" diff --git a/src/plugins/libravatar/libravatar_missing.c b/src/plugins/libravatar/libravatar_missing.c @@ -21,7 +21,7 @@ #include "libravatar_missing.h" #include "libravatar_prefs.h" #include "utils.h" -#include "safe_fclose.h" +#include "claws_io.h" /** * Loads the hash table of md5sum → time from the given filename. diff --git a/src/plugins/mailmbox/claws-mail-mailmbox.metainfo.xml b/src/plugins/mailmbox/claws-mail-mailmbox.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-mailmbox</id> +<extends>claws-mail.desktop</extends> +<name>mailMBOX</name> +<summary>Direct support for mailboxes in mbox format</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/mailmbox/mailmbox_folder.c b/src/plugins/mailmbox/mailmbox_folder.c @@ -56,7 +56,7 @@ #include "mailmbox.h" #include "mailmbox_folder.h" #include "mailmbox_parse.h" -#include "safe_fclose.h" +#include "claws_io.h" #define MAILMBOX_CACHE_DIR "mailmboxcache" diff --git a/src/plugins/newmail/claws-mail-newmail.metainfo.xml b/src/plugins/newmail/claws-mail-newmail.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-newmail</id> +<extends>claws-mail.desktop</extends> +<name>NewMail</name> +<summary>Writes a msg header summary to a log file on arrival of new mail after sorting</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/notification/claws-mail-notification.metainfo.xml b/src/plugins/notification/claws-mail-notification.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-notification</id> +<extends>claws-mail.desktop</extends> +<name>Notification</name> +<summary>Provides various ways to notify the user of new and unread email</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=notification</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/pdf_viewer/claws-mail-pdf_viewer.metainfo.xml b/src/plugins/pdf_viewer/claws-mail-pdf_viewer.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-pdf_viewer</id> +<extends>claws-mail.desktop</extends> +<name>PDF Viewer</name> +<summary>Enables the viewing of PDF and PostScript attachments using the Poppler library and GhostScript</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=pdf_viewer</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/perl/claws-mail-perl.metainfo.xml b/src/plugins/perl/claws-mail-perl.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-perl</id> +<extends>claws-mail.desktop</extends> +<name>Perl</name> +<summary>Allowing the use of full Perl power in email filters</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/pgpcore/claws-mail-pgpcore.metainfo.xml b/src/plugins/pgpcore/claws-mail-pgpcore.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-pgpcore</id> +<extends>claws-mail.desktop</extends> +<name>PGP/Core</name> +<summary>Handles core PGP functions and is a dependency of both the PGP/Inline and PGP/MIME plugins.</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=gpg</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/pgpinline/claws-mail-pgpinline.metainfo.xml b/src/plugins/pgpinline/claws-mail-pgpinline.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-pgpinline</id> +<extends>claws-mail.desktop</extends> +<name>PGP/Inline</name> +<summary>Handles PGP/Inline signed and/or encrypted mails</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=gpg</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/pgpinline/pgpinline.c b/src/plugins/pgpinline/pgpinline.c @@ -28,7 +28,7 @@ #include <glib/gi18n.h> #include <errno.h> #include <gpgme.h> -#include <safe_fclose.h> +#include <claws_io.h> #include "utils.h" #include "privacy.h" diff --git a/src/plugins/pgpmime/claws-mail-pgpmime.metainfo.xml b/src/plugins/pgpmime/claws-mail-pgpmime.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-pgpmime</id> +<extends>claws-mail.desktop</extends> +<name>PGP/MIME</name> +<summary>Handles PGP/MIME signed and/or encrypted mails</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=gpg</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/pgpmime/pgpmime.c b/src/plugins/pgpmime/pgpmime.c @@ -42,7 +42,7 @@ #include <plugins/pgpcore/pgp_utils.h> #include "prefs_common.h" -#include "safe_fclose.h" +#include "claws_io.h" typedef struct _PrivacyDataPGP PrivacyDataPGP; diff --git a/src/plugins/python/claws-mail-python.metainfo.xml b/src/plugins/python/claws-mail-python.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-python</id> +<extends>claws-mail.desktop</extends> +<name>Python</name> +<summary>Offers a Python scripting. Code can be entered into an embedded Python console or stored</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=python</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/rssyl/claws-mail-rssyl.metainfo.xml b/src/plugins/rssyl/claws-mail-rssyl.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-rssyl</id> +<extends>claws-mail.desktop</extends> +<name>RSSyl</name> +<summary>Read your RSS favourite newsfeeds</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=rssyl</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/rssyl/opml_export.c b/src/plugins/rssyl/opml_export.c @@ -32,7 +32,7 @@ #include <log.h> #include <folder.h> #include <common/utils.h> -#include <safe_fclose.h> +#include <claws_io.h> /* Local includes */ #include "libfeed/date.h" diff --git a/src/plugins/rssyl/rssyl_add_item.c b/src/plugins/rssyl/rssyl_add_item.c @@ -34,7 +34,7 @@ #include <codeconv.h> #include <procmsg.h> #include <common/utils.h> -#include <safe_fclose.h> +#include <claws_io.h> /* Local includes */ #include "libfeed/date.h" diff --git a/src/plugins/rssyl/rssyl_deleted.c b/src/plugins/rssyl/rssyl_deleted.c @@ -31,7 +31,7 @@ /* Claws Mail includes */ #include <codeconv.h> #include <common/utils.h> -#include <safe_fclose.h> +#include <claws_io.h> /* Local includes */ #include "rssyl.h" diff --git a/src/plugins/smime/claws-mail-smime.metainfo.xml b/src/plugins/smime/claws-mail-smime.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-smime</id> +<extends>claws-mail.desktop</extends> +<name>S/MIME</name> +<summary>Handles S/MIME signed and/or encrypted mails</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/smime/smime.c b/src/plugins/smime/smime.c @@ -43,7 +43,7 @@ #include "prefs_common.h" #include "procmime.h" #include "plugin.h" -#include "safe_fclose.h" +#include "claws_io.h" typedef struct _PrivacyDataPGP PrivacyDataPGP; diff --git a/src/plugins/spam_report/claws-mail-spam_report.metainfo.xml b/src/plugins/spam_report/claws-mail-spam_report.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-spam_report</id> +<extends>claws-mail.desktop</extends> +<name>SpamReport</name> +<summary>Reports spam to various places</summary> +<url type="homepage">http://claws-mail.org/plugins.php</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/spamassassin/claws-mail-spamassasin.metainfo.xml b/src/plugins/spamassassin/claws-mail-spamassasin.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-spamassasin</id> +<extends>claws-mail.desktop</extends> +<name>SpamAssasin</name> +<summary>Enables the scanning of incoming mail received from a POP, IMAP, or LOCAL account using SpamAssassin</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=spamassasin</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/spamassassin/claws-mail-spamassassin.metainfo.xml b/src/plugins/spamassassin/claws-mail-spamassassin.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-spamassassin</id> +<extends>claws-mail.desktop</extends> +<name>SpamAssassin</name> +<summary>Enables the scanning of incoming mail received from a POP, IMAP, or LOCAL account using SpamAssassin</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=spamassassin</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/tnef_parse/claws-mail-tnef_parse.metainfo.xml b/src/plugins/tnef_parse/claws-mail-tnef_parse.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-tnef_parse</id> +<extends>claws-mail.desktop</extends> +<name>TNEF parse</name> +<summary>Enables reading application/ms-tnef attachments</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=tnef_parser</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/tnef_parse/out b/src/plugins/tnef_parse/out @@ -0,0 +1,2395 @@ +==30919== Memcheck, a memory error detector +==30919== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. +==30919== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info +==30919== Command: claws-mail +==30919== Parent PID: 30876 +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==30919== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==30919== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==30919== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==30919== by 0x612371: addrindex_read_index (addrindex.c:1612) +==30919== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==30919== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==30919== by 0x609995: addressbook_read_file (addressbook.c:4170) +==30919== by 0x4D8CDA: main (main.c:1265) +==30919== Address 0x1192ea48 is 0 bytes after a block of size 40 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==30919== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==30919== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==30919== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==30919== by 0x612371: addrindex_read_index (addrindex.c:1612) +==30919== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==30919== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==30919== by 0x609995: addressbook_read_file (addressbook.c:4170) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==30919== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==30919== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==30919== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==30919== by 0x612371: addrindex_read_index (addrindex.c:1612) +==30919== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==30919== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==30919== by 0x609995: addressbook_read_file (addressbook.c:4170) +==30919== by 0x4D8CDA: main (main.c:1265) +==30919== Address 0x1192edc8 is 0 bytes after a block of size 40 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x66038F: mgu_list_test_unq_nc (mgutils.c:383) +==30919== by 0x63D33A: ldapctl_criteria_list_add (ldapctrl.c:344) +==30919== by 0x611855: addrindex_parse_ldap_attrlist (addrindex.c:1331) +==30919== by 0x611CD2: addrindex_parse_ldap (addrindex.c:1443) +==30919== by 0x612371: addrindex_read_index (addrindex.c:1612) +==30919== by 0x6126A6: addrindex_read_file (addrindex.c:1684) +==30919== by 0x613DB5: addrindex_read_data (addrindex.c:2307) +==30919== by 0x609995: addressbook_read_file (addressbook.c:4170) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA27: wcslen (wcslen.S:55) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x135afe88 is 0 bytes after a block of size 56 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA27: wcslen (wcslen.S:55) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x135aff08 is 0 bytes after a block of size 56 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x135b6288 is 0 bytes after a block of size 40 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x135b6978 is 40 bytes inside a block of size 44 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5DCFC2: toolbar_ret_val_from_text (toolbar.c:276) +==30919== by 0x5DD50E: toolbar_parse_item (toolbar.c:372) +==30919== by 0x5DE331: toolbar_read_config_file (toolbar.c:750) +==30919== by 0x5E1ABD: toolbar_create (toolbar.c:1915) +==30919== by 0x4E58AA: main_window_create (mainwindow.c:1899) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==30919== by 0x5B8A78: summary_init (summaryview.c:997) +==30919== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x152f2d30 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==30919== by 0x5B8A78: summary_init (summaryview.c:997) +==30919== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==30919== by 0x5B8A78: summary_init (summaryview.c:997) +==30919== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x152f2e60 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB0C1: summary_tag_cmp_list (summaryview.c:6190) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x5CB104: summary_tags_menu_create (summaryview.c:6204) +==30919== by 0x5B8A78: summary_init (summaryview.c:997) +==30919== by 0x4E6B00: main_window_create (mainwindow.c:2180) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==30919== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x1537c630 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80AE3EB: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==30919== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==30919== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== Address 0x1537c760 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFC3: mainwin_tag_cmp_list (mainwindow.c:1246) +==30919== by 0x80AE419: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4DEFFE: mainwindow_tags_menu_create (mainwindow.c:1258) +==30919== by 0x4E6C04: main_window_create (mainwindow.c:2202) +==30919== by 0x4D8D20: main (main.c:1286) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA27: wcslen (wcslen.S:55) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== Address 0x1582a090 is 48 bytes inside a block of size 52 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== Address 0x1582a7a0 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== Address 0x1582a8c0 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA27: wcslen (wcslen.S:55) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== Address 0x1582e748 is 0 bytes after a block of size 56 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6AD12F: gtk_cmctree_post_recursive (gtkcmctree.c:3330) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA3F: wcslen (wcslen.S:62) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==30919== Address 0x15833b88 is 0 bytes after a block of size 72 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA3F: wcslen (wcslen.S:62) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E0320: heap_sort (gtksctree.c:1109) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==30919== Address 0x158355b8 is 0 bytes after a block of size 72 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E0180: sink (gtksctree.c:1078) +==30919== by 0x6E0320: heap_sort (gtksctree.c:1109) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA6B: wcslen (wcslen.S:75) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== by 0x4B2AC2: folderview_set_folders (folderview.c:975) +==30919== Address 0x16991eb8 is 0 bytes after a block of size 104 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x4B7F04: folderview_clist_compare (folderview.c:2498) +==30919== by 0x6E01DA: sink (gtksctree.c:1082) +==30919== by 0x6E02A2: heap_sort (gtksctree.c:1103) +==30919== by 0x6E0462: stree_sort (gtksctree.c:1145) +==30919== by 0x6AD172: gtk_cmctree_post_recursive (gtkcmctree.c:3335) +==30919== by 0x6E07C7: gtk_sctree_sort_recursive (gtksctree.c:1205) +==30919== by 0x4B4F4B: folderview_sort_folders (folderview.c:1715) +==30919== by 0x4B50FD: folderview_append_folder (folderview.c:1739) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cca1020 is 2,000 bytes inside a block of size 2,731 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cca1020 is 2,000 bytes inside a block of size 2,731 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cca1020 is 2,000 bytes inside a block of size 2,731 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1ccd9020 is 2,592 bytes inside a block of size 3,243 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cd6c020 is 7,248 bytes inside a block of size 9,383 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cd6c020 is 7,248 bytes inside a block of size 9,383 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cd6d020 is 48 bytes inside a block of size 368 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A750: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A73C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A73C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cd86020 is 16 bytes before a block of size 40 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C685766: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C68598E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6861CF: PyType_Ready (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C591855: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C64A259: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583D71: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DACB5: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5EA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1b053020 is 1,248 bytes inside a block of size 1,608 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A7E4: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1ce01020 is 320 bytes inside a block of size 704 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67AEBB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A194: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67A73C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B257: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6958EB: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695BD7: PyParser_New (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6802D4: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1ceb0020 is 16 bytes before a block of size 41 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C5B4602: PyTokenizer_FromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5B488F: PyParser_ParseStringFlagsFilenameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf10020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf10020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf10020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C69540B: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C620032: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C69541F: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695613: PyNode_AddChild (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C620032: PyParser_AddToken (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680351: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695FD7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf1d020 is 33,344 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695FD7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf1d020 is 33,344 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DEB40: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598328: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf1e020 is 0 bytes after a block of size 32 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C607BE0: PyArena_AddPyObject (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5944F8: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59552C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F3254: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C595B53: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F17A6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1B10: PyAST_FromNode (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ECA: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DEB40: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CBA5B: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5983AB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf1e020 is 0 bytes after a block of size 32 free'd +==30919== at 0x4C2B4F0: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C607ADD: PyList_Append (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C607BE0: PyArena_AddPyObject (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5944F8: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59552C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F3254: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C595B53: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F17A6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1B10: PyAST_FromNode (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ECA: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695F14: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf45020 is 32,176 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DE8A6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CB707: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CA973: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CBA5B: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CBB29: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598328: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf47020 is 128 bytes inside a block of size 768 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A369A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E239A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5972BF: PySymtable_Build (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599EB1: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A3466: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584771: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBB7C: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf3a020 is 6,800 bytes inside a block of size 8,192 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C698999: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C698A92: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6ACCCC: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57EDE5: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1cf5d020 is 35,888 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C580537: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d047020 is 32,432 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695FA8: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d047020 is 32,432 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d093020 is 8 bytes after a block of size 8 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A3544: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9D30: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9F81: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598F02: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C49D1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CB5AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5975F1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A60F: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598F97: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== Address 0x1d093020 is 8 bytes after a block of size 8 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A3544: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9D30: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9F81: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598F02: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d093020 is 8 bytes after a block of size 8 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A3544: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9D30: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5C9F81: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598F02: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CB99B: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5CA9A7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5975F1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C598F97: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== Address 0x1d096020 is 224 bytes inside a block of size 384 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C652DC5: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599C4C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d096020 is 224 bytes inside a block of size 384 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6BF74D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5995B3: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32932C: cmpy_add_node (nodetype.c:88) +==30919== by 0x1C3263CF: initclawsmail (clawsmailmodule.c:926) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d098020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==30919== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0a6020 is 32,608 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==30919== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==30919== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0a8020 is 96 bytes inside a block of size 768 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A369A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6BF896: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C3262F9: add_miscstuff (clawsmailmodule.c:898) +==30919== by 0x1C3264E7: initclawsmail (clawsmailmodule.c:936) +==30919== by 0x1C32B104: plugin_init (python_plugin.c:669) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B137: plugin_init (python_plugin.c:675) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0b3020 is 32,304 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B137: plugin_init (python_plugin.c:675) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAED1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B137: plugin_init (python_plugin.c:675) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0b4020 is 64 bytes inside a block of size 432 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C599FE7: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B137: plugin_init (python_plugin.c:675) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EEA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C696035: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695EB6: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695F79: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69607D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1ED7: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0c1020 is 34,080 bytes inside a block of size 36,032 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C680527: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5F1F27: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE5C: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C652DC5: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599C4C: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== by 0x4D907D: main (main.c:1418) +==30919== Address 0x1d0c5020 is 64 bytes inside a block of size 68 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C5E4B94: PyCode_Optimize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E625E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5995A3: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C599BAF: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59A114: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DAE76: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBA6A: PyRun_SimpleStringFlags (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32BA85: parasite_python_init (python-hooks.c:156) +==30919== by 0x1C32B160: plugin_init (python_plugin.c:681) +==30919== by 0x6623FB: plugin_load (plugin.c:514) +==30919== by 0x662A45: plugin_load_all (plugin.c:618) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638689: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638689: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C654B06: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C57F5C2: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C69540B: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C69541F: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C695402: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C63F8: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C59220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583DC9: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C583E1A: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58282D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1ce5b020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1d0d8020 is 1,456 bytes inside a block of size 5,410 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C67B36A: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1d0d9020 is 64 bytes inside a block of size 613 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B8E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65A7D9: PyImport_Import (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65BF09: PyImport_ImportModule (in /usr/lib/libpython2.7.so.1.0) +==30919== Address 0x1d0db020 is 96 bytes inside a block of size 1,184 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6A3544: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B273: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C67B35D: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680A0D: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5E06C0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638612: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C655F4A: PyObject_CallFunction (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30938== +==30938== HEAP SUMMARY: +==30938== in use at exit: 13,046,846 bytes in 71,256 blocks +==30938== total heap usage: 246,913 allocs, 175,657 frees, 35,598,488 bytes allocated +==30938== +==30938== LEAK SUMMARY: +==30938== definitely lost: 41,107 bytes in 112 blocks +==30938== indirectly lost: 10,192 bytes in 320 blocks +==30938== possibly lost: 3,343,827 bytes in 20,556 blocks +==30938== still reachable: 9,651,720 bytes in 50,268 blocks +==30938== suppressed: 0 bytes in 0 blocks +==30938== Rerun with --leak-check=full to see details of leaked memory +==30938== +==30938== For counts of detected and suppressed errors, rerun with: -v +==30938== Use --track-origins=yes to see where uninitialised values come from +==30938== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30940== +==30940== HEAP SUMMARY: +==30940== in use at exit: 13,046,916 bytes in 71,259 blocks +==30940== total heap usage: 246,916 allocs, 175,657 frees, 35,598,558 bytes allocated +==30940== +==30941== +==30941== HEAP SUMMARY: +==30941== in use at exit: 13,046,916 bytes in 71,259 blocks +==30941== total heap usage: 246,916 allocs, 175,657 frees, 35,598,558 bytes allocated +==30941== +==30940== LEAK SUMMARY: +==30940== definitely lost: 41,107 bytes in 112 blocks +==30940== indirectly lost: 10,192 bytes in 320 blocks +==30940== possibly lost: 3,343,827 bytes in 20,556 blocks +==30940== still reachable: 9,651,790 bytes in 50,271 blocks +==30940== suppressed: 0 bytes in 0 blocks +==30940== Rerun with --leak-check=full to see details of leaked memory +==30940== +==30940== For counts of detected and suppressed errors, rerun with: -v +==30940== Use --track-origins=yes to see where uninitialised values come from +==30940== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30941== LEAK SUMMARY: +==30941== definitely lost: 41,107 bytes in 112 blocks +==30941== indirectly lost: 10,192 bytes in 320 blocks +==30941== possibly lost: 3,343,827 bytes in 20,556 blocks +==30941== still reachable: 9,651,790 bytes in 50,271 blocks +==30941== suppressed: 0 bytes in 0 blocks +==30941== Rerun with --leak-check=full to see details of leaked memory +==30941== +==30941== For counts of detected and suppressed errors, rerun with: -v +==30941== Use --track-origins=yes to see where uninitialised values come from +==30941== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30942== +==30943== +==30942== HEAP SUMMARY: +==30942== in use at exit: 13,046,981 bytes in 71,261 blocks +==30942== total heap usage: 246,918 allocs, 175,657 frees, 35,598,623 bytes allocated +==30942== +==30943== HEAP SUMMARY: +==30943== in use at exit: 13,046,981 bytes in 71,261 blocks +==30943== total heap usage: 246,918 allocs, 175,657 frees, 35,598,623 bytes allocated +==30943== +==30942== LEAK SUMMARY: +==30942== definitely lost: 41,107 bytes in 112 blocks +==30942== indirectly lost: 10,192 bytes in 320 blocks +==30942== possibly lost: 3,343,827 bytes in 20,556 blocks +==30942== still reachable: 9,651,855 bytes in 50,273 blocks +==30942== suppressed: 0 bytes in 0 blocks +==30942== Rerun with --leak-check=full to see details of leaked memory +==30942== +==30942== For counts of detected and suppressed errors, rerun with: -v +==30942== Use --track-origins=yes to see where uninitialised values come from +==30942== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30943== LEAK SUMMARY: +==30943== definitely lost: 41,107 bytes in 112 blocks +==30943== indirectly lost: 10,192 bytes in 320 blocks +==30943== possibly lost: 3,343,827 bytes in 20,556 blocks +==30943== still reachable: 9,651,855 bytes in 50,273 blocks +==30943== suppressed: 0 bytes in 0 blocks +==30943== Rerun with --leak-check=full to see details of leaked memory +==30943== +==30943== For counts of detected and suppressed errors, rerun with: -v +==30943== Use --track-origins=yes to see where uninitialised values come from +==30943== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30944== +==30944== HEAP SUMMARY: +==30944== in use at exit: 13,046,981 bytes in 71,261 blocks +==30944== total heap usage: 246,918 allocs, 175,657 frees, 35,598,623 bytes allocated +==30944== +==30945== +==30945== HEAP SUMMARY: +==30945== in use at exit: 13,046,981 bytes in 71,261 blocks +==30945== total heap usage: 246,918 allocs, 175,657 frees, 35,598,623 bytes allocated +==30945== +==30944== LEAK SUMMARY: +==30944== definitely lost: 41,107 bytes in 112 blocks +==30944== indirectly lost: 10,192 bytes in 320 blocks +==30944== possibly lost: 3,343,827 bytes in 20,556 blocks +==30944== still reachable: 9,651,855 bytes in 50,273 blocks +==30944== suppressed: 0 bytes in 0 blocks +==30944== Rerun with --leak-check=full to see details of leaked memory +==30944== +==30944== For counts of detected and suppressed errors, rerun with: -v +==30944== Use --track-origins=yes to see where uninitialised values come from +==30944== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30945== LEAK SUMMARY: +==30945== definitely lost: 41,107 bytes in 112 blocks +==30945== indirectly lost: 10,192 bytes in 320 blocks +==30945== possibly lost: 3,343,827 bytes in 20,556 blocks +==30945== still reachable: 9,651,855 bytes in 50,273 blocks +==30945== suppressed: 0 bytes in 0 blocks +==30945== Rerun with --leak-check=full to see details of leaked memory +==30945== +==30945== For counts of detected and suppressed errors, rerun with: -v +==30945== Use --track-origins=yes to see where uninitialised values come from +==30945== ERROR SUMMARY: 1815 errors from 75 contexts (suppressed: 2 from 2) +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0xB43C9F0: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0xB422076: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0xB3D5810: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0x6513C6D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6550CA6: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x654362A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6543F6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6544A6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x65086ED: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6518932: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6547C4D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x650FE24: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0xB43C6E8: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0xB422076: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0xB3D5810: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.30.2) +==30919== by 0x6513C6D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6550CA6: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x654362A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6543F6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6544A6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x65086ED: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6518932: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x6547C4D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== by 0x650FE24: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.2) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x334590A7: ??? (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.36.3) +==30919== by 0x33459D48: rsvg_handle_get_pixbuf_sub (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.36.3) +==30919== by 0x33201EAA: ??? (in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so) +==30919== by 0x62D272B: gdk_pixbuf_loader_close (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==30919== by 0x62CEA7A: ??? (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==30919== by 0x62D02B0: gdk_pixbuf_new_from_stream_at_scale (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.4) +==30919== by 0x557F5AD: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== by 0x5581FB9: gtk_icon_info_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== by 0x5582166: gtk_icon_theme_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== by 0x557D650: gtk_icon_set_render_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== by 0x56D04B2: gtk_widget_render_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== by 0x559165B: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x89DBDB0: re_compile_fastmap_iter.isra.30 (regcomp.c:329) +==30919== by 0x89E8669: re_compile_fastmap (regcomp.c:281) +==30919== by 0x89E8E8F: regcomp (regcomp.c:517) +==30919== by 0x67C2F8: subject_get_prefix_length (utils.c:3805) +==30919== by 0x59CB84: subject_hashtable_insert (procmsg.c:141) +==30919== by 0x59CF2D: procmsg_get_thread_tree (procmsg.c:242) +==30919== by 0x5BFFE2: summary_set_ctree_from_list (summaryview.c:3141) +==30919== by 0x5BA939: summary_show (summaryview.c:1463) +==30919== by 0x4B6B7E: folderview_selected (folderview.c:2145) +==30919== by 0x6FD98A: claws_marshal_VOID__POINTER_INT (claws-marshal.c:348) +==30919== by 0x7E0C13F: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==30919== by 0x7E1D54F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x89DBDB0: re_compile_fastmap_iter.isra.30 (regcomp.c:329) +==30919== by 0x89E8689: re_compile_fastmap (regcomp.c:283) +==30919== by 0x89E8E8F: regcomp (regcomp.c:517) +==30919== by 0x67C2F8: subject_get_prefix_length (utils.c:3805) +==30919== by 0x59CB84: subject_hashtable_insert (procmsg.c:141) +==30919== by 0x59CF2D: procmsg_get_thread_tree (procmsg.c:242) +==30919== by 0x5BFFE2: summary_set_ctree_from_list (summaryview.c:3141) +==30919== by 0x5BA939: summary_show (summaryview.c:1463) +==30919== by 0x4B6B7E: folderview_selected (folderview.c:2145) +==30919== by 0x6FD98A: claws_marshal_VOID__POINTER_INT (claws-marshal.c:348) +==30919== by 0x7E0C13F: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==30919== by 0x7E1D54F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3400.1) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1FA5EA49: SwapDWord (ytnef.c:165) +==30919== by 0x1FA6009A: TNEFPriority (ytnef.c:660) +==30919== by 0x1FA61892: TNEFParse (ytnef.c:1060) +==30919== by 0x1FA61176: TNEFParseFile (ytnef.c:923) +==30919== by 0x1FA5B6E0: tnef_parse (tnef_parse.c:278) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== by 0x59B1D8: procmime_scan_file_full (procmime.c:2187) +==30919== Address 0x366d4960 is 0 bytes inside a block of size 2 alloc'd +==30919== at 0x4C29E46: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1FA616B2: TNEFParse (ytnef.c:1031) +==30919== by 0x1FA61176: TNEFParseFile (ytnef.c:923) +==30919== by 0x1FA5B6E0: tnef_parse (tnef_parse.c:278) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== by 0x59B1D8: procmime_scan_file_full (procmime.c:2187) +==30919== by 0x59B205: procmime_scan_file (procmime.c:2194) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4D99: wcscoll_l (strcoll_l.c:509) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597DE3: procmime_str_equal (procmime.c:1143) +==30919== by 0x8082A7E: g_hash_table_lookup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597EB7: procmime_get_mime_type_table (procmime.c:1171) +==30919== by 0x597C0B: procmime_get_mime_type (procmime.c:1092) +==30919== by 0x1FA5ADA9: tnef_dump_file (tnef_parse.c:101) +==30919== by 0x1FA5B33A: tnef_parse_rtf (tnef_parse.c:205) +==30919== by 0x1FA5B894: tnef_parse (tnef_parse.c:311) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== Address 0x3690a1e0 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE54: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597DE3: procmime_str_equal (procmime.c:1143) +==30919== by 0x8082A7E: g_hash_table_lookup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597EB7: procmime_get_mime_type_table (procmime.c:1171) +==30919== by 0x597C0B: procmime_get_mime_type (procmime.c:1092) +==30919== by 0x1FA5ADA9: tnef_dump_file (tnef_parse.c:101) +==30919== by 0x1FA5B33A: tnef_parse_rtf (tnef_parse.c:205) +==30919== by 0x1FA5B894: tnef_parse (tnef_parse.c:311) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x89AAA0F: wcslen (wcslen.S:48) +==30919== by 0x89B4DA8: wcscoll_l (strcoll_l.c:510) +==30919== by 0x80BDE79: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597DE3: procmime_str_equal (procmime.c:1143) +==30919== by 0x8082A7E: g_hash_table_lookup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597EB7: procmime_get_mime_type_table (procmime.c:1171) +==30919== by 0x597C0B: procmime_get_mime_type (procmime.c:1092) +==30919== by 0x1FA5ADA9: tnef_dump_file (tnef_parse.c:101) +==30919== by 0x1FA5B33A: tnef_parse_rtf (tnef_parse.c:205) +==30919== by 0x1FA5B894: tnef_parse (tnef_parse.c:311) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== Address 0x3690a250 is 32 bytes inside a block of size 36 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x80986E0: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BEB20: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x80BDE6B: g_utf8_collate (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597DE3: procmime_str_equal (procmime.c:1143) +==30919== by 0x8082A7E: g_hash_table_lookup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3400.1) +==30919== by 0x597EB7: procmime_get_mime_type_table (procmime.c:1171) +==30919== by 0x597C0B: procmime_get_mime_type (procmime.c:1092) +==30919== by 0x1FA5ADA9: tnef_dump_file (tnef_parse.c:101) +==30919== by 0x1FA5B33A: tnef_parse_rtf (tnef_parse.c:205) +==30919== by 0x1FA5B894: tnef_parse (tnef_parse.c:311) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x1FA5CCBF: SaveVCalendar (tnef_dump.c:392) +==30919== by 0x1FA5B07E: tnef_parse_vcal (tnef_parse.c:147) +==30919== by 0x1FA5B912: tnef_parse (tnef_parse.c:322) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== by 0x59B1D8: procmime_scan_file_full (procmime.c:2187) +==30919== by 0x59B205: procmime_scan_file (procmime.c:2194) +==30919== by 0x502B45: messageview_show (messageview.c:1337) +==30919== Address 0x36c2c320 is 0 bytes inside a block of size 4 alloc'd +==30919== at 0x4C29E46: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1FA5F658: TNEFFillMapi (ytnef.c:478) +==30919== by 0x1FA5F166: TNEFMapiProperties (ytnef.c:358) +==30919== by 0x1FA61892: TNEFParse (ytnef.c:1060) +==30919== by 0x1FA61176: TNEFParseFile (ytnef.c:923) +==30919== by 0x1FA5B6E0: tnef_parse (tnef_parse.c:278) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== +==30919== Invalid read of size 8 +==30919== at 0x1FA5EA61: SwapDDWord (ytnef.c:185) +==30919== by 0x1FA5D468: SaveVCalendar (tnef_dump.c:556) +==30919== by 0x1FA5B07E: tnef_parse_vcal (tnef_parse.c:147) +==30919== by 0x1FA5B912: tnef_parse (tnef_parse.c:322) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== by 0x59B1D8: procmime_scan_file_full (procmime.c:2187) +==30919== by 0x59B205: procmime_scan_file (procmime.c:2194) +==30919== Address 0x36d745f0 is 0 bytes inside a block of size 4 alloc'd +==30919== at 0x4C29E46: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1FA5F658: TNEFFillMapi (ytnef.c:478) +==30919== by 0x1FA5F166: TNEFMapiProperties (ytnef.c:358) +==30919== by 0x1FA61892: TNEFParse (ytnef.c:1060) +==30919== by 0x1FA61176: TNEFParseFile (ytnef.c:923) +==30919== by 0x1FA5B6E0: tnef_parse (tnef_parse.c:278) +==30919== by 0x59AACE: procmime_mimeparser_parse (procmime.c:2000) +==30919== by 0x59AD47: procmime_parse_mimepart (procmime.c:2086) +==30919== by 0x59940A: procmime_parse_multipart (procmime.c:1677) +==30919== by 0x59AE27: procmime_parse_mimepart (procmime.c:2107) +==30919== by 0x598C4F: procmime_parse_message_rfc822 (procmime.c:1501) +==30919== by 0x59B089: procmime_scan_file_with_offset (procmime.c:2174) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== Address 0x1cdbc020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E64A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== Address 0x1cdbd020 is 592 bytes inside a block of size 1,053 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== Address 0x1cdca020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== Address 0x1cdc0020 is 48 bytes inside a block of size 1,205 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E8AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1cdc0020 is 48 bytes inside a block of size 1,205 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1d03b020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1ce75020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37B1: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E65A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== Address 0x1cc85020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5B0: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== Address 0x1d17b020 is 48 bytes inside a block of size 72 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0xC7ACF82: asn1_delete_structure (in /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.16) +==30919== by 0x6EF9BA3: gnutls_x509_crt_deinit (in /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8) +==30919== by 0x6EB1D99: gnutls_certificate_free_cas (in /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8) +==30919== by 0x6EB2B50: gnutls_certificate_free_credentials (in /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8) +==30919== by 0x66DD1E: ssl_done_socket (ssl.c:400) +==30919== by 0x66D128: sock_close (socket.c:1630) +==30919== by 0x66551C: session_close (session.c:362) +==30919== by 0x664D43: session_disconnect (session.c:210) +==30919== by 0x52BCD8: pop3_session_recv_msg (pop.c:1039) +==30919== by 0x6667E9: session_read_msg_cb (session.c:605) +==30919== by 0x66AD78: ssl_sock_dispatch (socket.c:505) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A37CA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E63A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== Address 0x1d17c020 is 288 bytes inside a block of size 997 free'd +==30919== at 0x4C2A739: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C65E5DA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E89A: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605D15: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1d212020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== Address 0x1cffe020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E8AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C60603D: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== Address 0x1cffe020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== +==30919== More than 100 errors detected. Subsequent errors +==30919== will still be recorded, but in less detail than before. +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A36BC: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E2AA: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== Address 0x1d281020 is 0 bytes after a block of size 3,072 alloc'd +==30919== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==30919== by 0x1C6C1DB7: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5806D7: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584C37: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C584D71: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5DBB7C: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C680B77: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6812EB: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C638689: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6817FC: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C5D703E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6541FD: PyObject_Call (in /usr/lib/libpython2.7.so.1.0) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A36BC: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E441: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A36BC: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C65E441: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C613316: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6C2133: PyDict_SetItem (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C605DAF: _PyModule_Clear (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C606211: PyImport_Cleanup (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EF9A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6147D9: _PyImport_Fini (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EFA4: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6A367E: ??? (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C6147D9: _PyImport_Fini (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58EFA4: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69613B: PyDict_Fini (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58F009: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1d27c020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== Conditional jump or move depends on uninitialised value(s) +==30919== at 0x1C6BCF3B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69613B: PyDict_Fini (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58F009: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== +==30919== Use of uninitialised value of size 8 +==30919== at 0x1C6BCF53: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C69613B: PyDict_Fini (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58F009: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== +==30919== Invalid read of size 4 +==30919== at 0x1C6BCF32: PyObject_Free (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C695C95: PyGrammar_RemoveAccelerators (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C58F01A: Py_Finalize (in /usr/lib/libpython2.7.so.1.0) +==30919== by 0x1C32B277: plugin_done (python_plugin.c:717) +==30919== by 0x662665: plugin_unload (plugin.c:545) +==30919== by 0x662B4F: plugin_unload_all (plugin.c:639) +==30919== by 0x4D987B: exit_claws (main.c:1668) +==30919== by 0x4D95FA: main (main.c:1574) +==30919== Address 0x1ceb0020 is not stack'd, malloc'd or (recently) free'd +==30919== +==30919== +==30919== HEAP SUMMARY: +==30919== in use at exit: 16,207,648 bytes in 81,753 blocks +==30919== total heap usage: 5,025,627 allocs, 4,943,874 frees, 368,742,464 bytes allocated +==30919== +==30919== LEAK SUMMARY: +==30919== definitely lost: 49,337 bytes in 140 blocks +==30919== indirectly lost: 43,152 bytes in 1,345 blocks +==30919== possibly lost: 8,769,791 bytes in 55,021 blocks +==30919== still reachable: 7,345,368 bytes in 25,247 blocks +==30919== suppressed: 0 bytes in 0 blocks +==30919== Rerun with --leak-check=full to see details of leaked memory +==30919== +==30919== For counts of detected and suppressed errors, rerun with: -v +==30919== Use --track-origins=yes to see where uninitialised values come from +==30919== ERROR SUMMARY: 2604 errors from 109 contexts (suppressed: 2 from 2) diff --git a/src/plugins/vcalendar/claws-mail-vcalendar.metainfo.xml b/src/plugins/vcalendar/claws-mail-vcalendar.metainfo.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="addon"> +<id>claws-mail-vcalendar</id> +<extends>claws-mail.desktop</extends> +<name>vCalendar</name> +<summary>Enables vCalendar message handling and handles webCal subscriptions. Provides a calendar import</summary> +<url type="homepage">http://claws-mail.org/plugin.php?plugin=vcalendar</url> +<metadata_license>CC0-1.0</metadata_license> +<project_license>GPL-3.0+</project_license> +<updatecontact>devel@lists.claws-mail.org</updatecontact> +</component> +\ No newline at end of file diff --git a/src/plugins/vcalendar/libical/libical/ical.h b/src/plugins/vcalendar/libical/libical/ical.h @@ -0,0 +1,3002 @@ +#ifndef ICAL_VERSION_H +#define ICAL_VERSION_H + +#define ICAL_PACKAGE "claws-mail" +#define ICAL_VERSION "3.14.0git18" + +#endif +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icaltime.h + CREATOR: eric 02 June 2000 + + + $Id$ + $Locker$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The Original Code is eric. The Initial Developer of the Original + Code is Eric Busboom + + +======================================================================*/ + +#ifndef ICALTIME_H +#define ICALTIME_H + +#include <time.h> + +/* icaltime_span is returned by icalcomponent_get_span() */ +struct icaltime_span { + time_t start; /* in UTC */ + time_t end; /* in UTC */ + int is_busy; /* 1->busy time, 0-> free time */ +}; + + +struct icaltimetype +{ + int year; + int month; + int day; + int hour; + int minute; + int second; + + int is_utc; /* 1-> time is in UTC timezone */ + + int is_date; /* 1 -> interpret this as date. */ + +}; + +/* Convert seconds past UNIX epoch to a timetype*/ +struct icaltimetype icaltime_from_timet(time_t v, int is_date); + +/* Return the time as seconds past the UNIX epoch */ +time_t icaltime_as_timet(struct icaltimetype); + +/* Return a string represention of the time, in RFC2445 format. The + string is owned by libical */ +char* icaltime_as_ical_string(struct icaltimetype tt); + +/* Like icaltime_from_timet(), except that the input may be in seconds + past the epoch in floating time. This routine is deprecated */ +struct icaltimetype icaltime_from_int(int v, int is_date, int is_utc); + +/* Like icaltime_as_timet, but in a floating epoch. This routine is deprecated */ +int icaltime_as_int(struct icaltimetype); + +/* create a time from an ISO format string */ +struct icaltimetype icaltime_from_string(const char* str); + +/* Routines for handling timezones */ +/* Return the offset of the named zone as seconds. tt is a time + indicating the date for which you want the offset */ +int icaltime_utc_offset(struct icaltimetype tt, const char* tzid); + +/* convert tt, of timezone tzid, into a utc time. Does nothing if the + time is already UTC. */ +struct icaltimetype icaltime_as_utc(struct icaltimetype tt, + const char* tzid); + +/* convert tt, a time in UTC, into a time in timezone tzid */ +struct icaltimetype icaltime_as_zone(struct icaltimetype tt, + const char* tzid); + +/* Return a null time, which indicates no time has been set. This time represent the beginning of the epoch */ +struct icaltimetype icaltime_null_time(void); + +/* Return true of the time is null. */ +int icaltime_is_null_time(struct icaltimetype t); + +/* Returns false if the time is clearly invalid, but is not null. This + is usually the result of creating a new time type buy not clearing + it, or setting one of the flags to an illegal value. */ +int icaltime_is_valid_time(struct icaltimetype t); + +/* Reset all of the time components to be in their normal ranges. For + instance, given a time with minutes=70, the minutes will be reduces + to 10, and the hour incremented. This allows the caller to do + arithmetic on times without worrying about overflow or + underflow. */ +struct icaltimetype icaltime_normalize(struct icaltimetype t); + +/* Return the day of the year of the given time */ +short icaltime_day_of_year(struct icaltimetype t); + +/* Create a new time, given a day of year and a year. */ +struct icaltimetype icaltime_from_day_of_year(short doy, short year); + +/* Return the day of the week of the given time. Sunday is 1 */ +short icaltime_day_of_week(struct icaltimetype t); + +/* Return the day of the year for the Sunday of the week that the + given time is within. */ +short icaltime_start_doy_of_week(struct icaltimetype t); + +/* Return a string with the time represented in the same format as ctime(). THe string is owned by libical */ +char* icaltime_as_ctime(struct icaltimetype); + +/* Return the week number for the week the given time is within */ +short icaltime_week_number(struct icaltimetype t); + +/* Create a new time from a weeknumber and a year. */ +struct icaltimetype icaltime_from_week_number(short week_number, short year); + +/* Return -1, 0, or 1 to indicate that a<b, a==b or a>b */ +int icaltime_compare(struct icaltimetype a,struct icaltimetype b); + +/* like icaltime_compare, but only use the date parts. */ +int icaltime_compare_date_only(struct icaltimetype a, struct icaltimetype b); + +/* Return the number of days in the given month */ +short icaltime_days_in_month(short month,short year); + + +#endif /* !ICALTIME_H */ + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalduration.h + CREATOR: eric 26 Jan 2001 + + + $Id$ + $Locker$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The Original Code is eric. The Initial Developer of the Original + Code is Eric Busboom + + +======================================================================*/ + +#ifndef ICALDURATION_H +#define ICALDURATION_H + + +struct icaldurationtype +{ + int is_neg; + unsigned int days; + unsigned int weeks; + unsigned int hours; + unsigned int minutes; + unsigned int seconds; +}; + +struct icaldurationtype icaldurationtype_from_int(int t); +struct icaldurationtype icaldurationtype_from_string(const char*); +int icaldurationtype_as_int(struct icaldurationtype duration); +char* icaldurationtype_as_ical_string(struct icaldurationtype d); +struct icaldurationtype icaldurationtype_null_duration(); +int icaldurationtype_is_null_duration(struct icaldurationtype d); + +struct icaltimetype icaltime_add(struct icaltimetype t, + struct icaldurationtype d); + +struct icaldurationtype icaltime_subtract(struct icaltimetype t1, + struct icaltimetype t2); + +#endif /* !ICALDURATION_H */ + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalperiod.h + CREATOR: eric 26 Jan 2001 + + + $Id$ + $Locker$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The Original Code is eric. The Initial Developer of the Original + Code is Eric Busboom + + +======================================================================*/ + +#ifndef ICALPERIOD_H +#define ICALPERIOD_H + + +struct icalperiodtype +{ + struct icaltimetype start; + struct icaltimetype end; + struct icaldurationtype duration; +}; + +struct icalperiodtype icalperiodtype_from_string (const char* str); + +const char* icalperiodtype_as_ical_string(struct icalperiodtype p); +struct icalperiodtype icalperiodtype_null_period(); +int icalperiodtype_is_null_period(struct icalperiodtype p); +int icalperiodtype_is_valid_period(struct icalperiodtype p); + + + + +#endif /* !ICALTIME_H */ + + + + +/* -*- Mode: C -*-*/ +/*====================================================================== + FILE: icalenums.h + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalenums.h + + Contributions from: + Graham Davison (g.m.davison@computer.org) + +======================================================================*/ + +#ifndef ICALENUMS_H +#define ICALENUMS_H + + + +/*********************************************************************** + * Component enumerations +**********************************************************************/ + +typedef enum icalcomponent_kind { + ICAL_NO_COMPONENT, + ICAL_ANY_COMPONENT, /* Used to select all components*/ + ICAL_XROOT_COMPONENT, + ICAL_XATTACH_COMPONENT, /* MIME attached data, returned by parser. */ + ICAL_VEVENT_COMPONENT, + ICAL_VTODO_COMPONENT, + ICAL_VJOURNAL_COMPONENT, + ICAL_VCALENDAR_COMPONENT, + ICAL_VFREEBUSY_COMPONENT, + ICAL_VALARM_COMPONENT, + ICAL_XAUDIOALARM_COMPONENT, + ICAL_XDISPLAYALARM_COMPONENT, + ICAL_XEMAILALARM_COMPONENT, + ICAL_XPROCEDUREALARM_COMPONENT, + ICAL_VTIMEZONE_COMPONENT, + ICAL_XSTANDARD_COMPONENT, + ICAL_XDAYLIGHT_COMPONENT, + ICAL_X_COMPONENT, + ICAL_VSCHEDULE_COMPONENT, + ICAL_VQUERY_COMPONENT, + ICAL_VCAR_COMPONENT, + ICAL_VCOMMAND_COMPONENT, + ICAL_XLICINVALID_COMPONENT, + ICAL_XLICMIMEPART_COMPONENT /* a non-stardard component that mirrors + structure of MIME data */ + +} icalcomponent_kind; + + + +/*********************************************************************** + * Request Status codes + **********************************************************************/ + +typedef enum icalrequeststatus { + ICAL_UNKNOWN_STATUS, + ICAL_2_0_SUCCESS_STATUS, + ICAL_2_1_FALLBACK_STATUS, + ICAL_2_2_IGPROP_STATUS, + ICAL_2_3_IGPARAM_STATUS, + ICAL_2_4_IGXPROP_STATUS, + ICAL_2_5_IGXPARAM_STATUS, + ICAL_2_6_IGCOMP_STATUS, + ICAL_2_7_FORWARD_STATUS, + ICAL_2_8_ONEEVENT_STATUS, + ICAL_2_9_TRUNC_STATUS, + ICAL_2_10_ONETODO_STATUS, + ICAL_2_11_TRUNCRRULE_STATUS, + ICAL_3_0_INVPROPNAME_STATUS, + ICAL_3_1_INVPROPVAL_STATUS, + ICAL_3_2_INVPARAM_STATUS, + ICAL_3_3_INVPARAMVAL_STATUS, + ICAL_3_4_INVCOMP_STATUS, + ICAL_3_5_INVTIME_STATUS, + ICAL_3_6_INVRULE_STATUS, + ICAL_3_7_INVCU_STATUS, + ICAL_3_8_NOAUTH_STATUS, + ICAL_3_9_BADVERSION_STATUS, + ICAL_3_10_TOOBIG_STATUS, + ICAL_3_11_MISSREQCOMP_STATUS, + ICAL_3_12_UNKCOMP_STATUS, + ICAL_3_13_BADCOMP_STATUS, + ICAL_3_14_NOCAP_STATUS, + ICAL_4_0_BUSY_STATUS, + ICAL_5_0_MAYBE_STATUS, + ICAL_5_1_UNAVAIL_STATUS, + ICAL_5_2_NOSERVICE_STATUS, + ICAL_5_3_NOSCHED_STATUS +} icalrequeststatus; + + +const char* icalenum_reqstat_desc(icalrequeststatus stat); +short icalenum_reqstat_major(icalrequeststatus stat); +short icalenum_reqstat_minor(icalrequeststatus stat); +icalrequeststatus icalenum_num_to_reqstat(short major, short minor); + +/*********************************************************************** + * Conversion functions +**********************************************************************/ + + +/* Thse routines used to be in icalenums.c, but were moved into the + icalproperty, icalparameter, icalvalue, or icalcomponent modules. */ + +/* const char* icalproperty_kind_to_string(icalproperty_kind kind);*/ +#define icalenum_property_kind_to_string(x) icalproperty_kind_to_string(x) + +/*icalproperty_kind icalproperty_string_to_kind(const char* string)*/ +#define icalenum_string_to_property_kind(x) icalproperty_string_to_kind(x) + +/*icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind);*/ +#define icalenum_property_kind_to_value_kind(x) icalproperty_kind_to_value_kind(x) + +/*const char* icalenum_method_to_string(icalproperty_method);*/ +#define icalenum_method_to_string(x) icalproperty_method_to_string(x) + +/*icalproperty_method icalenum_string_to_method(const char* string);*/ +#define icalenum_string_to_method(x) icalproperty_string_to_method(x) + +/*const char* icalenum_status_to_string(icalproperty_status);*/ +#define icalenum_status_to_string(x) icalproperty_status_to_string(x) + +/*icalproperty_status icalenum_string_to_status(const char* string);*/ +#define icalenum_string_to_status(x) icalproperty_string_to_status(x) + +/*icalvalue_kind icalenum_string_to_value_kind(const char* str);*/ +#define icalenum_string_to_value_kind(x) icalvalue_string_to_kind(x) + +/*const char* icalenum_value_kind_to_string(icalvalue_kind kind);*/ +#define icalenum_value_kind_to_string(x) icalvalue_kind_to_string(x) + +/*const char* icalenum_component_kind_to_string(icalcomponent_kind kind);*/ +#define icalenum_component_kind_to_string(x) icalcomponent_kind_to_string(x) + +/*icalcomponent_kind icalenum_string_to_component_kind(const char* string);*/ +#define icalenum_string_to_component_kind(x) icalcomponent_string_to_kind(x) + + +#endif /* !ICALENUMS_H */ + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icaltypes.h + CREATOR: eric 20 March 1999 + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icaltypes.h + +======================================================================*/ + +#ifndef ICALTYPES_H +#define ICALTYPES_H + +#include <time.h> + + +/* This type type should probably be an opaque type... */ +struct icalattachtype +{ + void* binary; + int owns_binary; + + char* base64; + int owns_base64; + + char* url; + + int refcount; + +}; + +/* converts base64 to binary, fetches url and stores as binary, or + just returns data */ + +struct icalattachtype* icalattachtype_new(void); +void icalattachtype_add_reference(struct icalattachtype* v); +void icalattachtype_free(struct icalattachtype* v); + +void icalattachtype_set_url(struct icalattachtype* v, char* url); +char* icalattachtype_get_url(struct icalattachtype* v); + +void icalattachtype_set_base64(struct icalattachtype* v, char* base64, + int owns); +char* icalattachtype_get_base64(struct icalattachtype* v); + +void icalattachtype_set_binary(struct icalattachtype* v, char* binary, + int owns); +void* icalattachtype_get_binary(struct icalattachtype* v); + +struct icalgeotype +{ + float lat; + float lon; +}; + + +struct icaldatetimeperiodtype +{ + struct icaltimetype time; + struct icalperiodtype period; +}; + + +struct icaltriggertype +{ + struct icaltimetype time; + struct icaldurationtype duration; +}; + +struct icaltriggertype icaltriggertype_from_string(const char* str); + +/* struct icalreqstattype. This struct contains two string pointers, +but don't try to free either of them. The "desc" string is a pointer +to a static table inside the library. Don't try to free it. The +"debug" string is a pointer into the string that the called passed +into to icalreqstattype_from_string. Don't try to free it either, and +don't use it after the original string has been freed. + +BTW, you would get that original string from +*icalproperty_get_requeststatus() or icalvalue_get_text(), when +operating on a the value of a request_status property. */ + +struct icalreqstattype { + + icalrequeststatus code; + const char* desc; + const char* debug; +}; + +struct icalreqstattype icalreqstattype_from_string(char* str); +char* icalreqstattype_as_string(struct icalreqstattype); + + + +struct icaltimezonephase { + const char* tzname; + int is_stdandard; /* 1 = standard tme, 0 = daylight savings time */ + struct icaltimetype dtstart; + int offsetto; + int tzoffsetfrom; + const char* comment; + struct icaldatetimeperiodtype rdate; + const char* rrule; +}; + + +struct icaltimezonetype { + const char* tzid; + struct icaltimetype last_mod; + const char* tzurl; + + /* Array of phases. The end of the array is a phase with tzname == 0 */ + struct icaltimezonephase *phases; +}; + +void icaltimezonetype_free(struct icaltimezonetype tzt); + + +#endif /* !ICALTYPES_H */ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalrecur.h + CREATOR: eric 20 March 2000 + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + +How to use: + +1) Get a rule and a start time from a component + icalproperty rrule; + struct icalrecurrencetype recur; + struct icaltimetype dtstart; + + rrule = icalcomponent_get_first_property(comp,ICAL_RRULE_PROPERTY); + recur = icalproperty_get_rrule(rrule); + start = icalproperty_get_dtstart(dtstart); + +Or, just make them up: + recur = icalrecurrencetype_from_string("FREQ=YEARLY;BYDAY=SU,WE"); + dtstart = icaltime_from_string("19970101T123000") + +2) Create an iterator + icalrecur_iterator* ritr; + ritr = icalrecur_iterator_new(recur,start); + +3) Iterator over the occurrences + struct icaltimetype next; + while (next = icalrecur_iterator_next(ritr) + && !icaltime_is_null_time(next){ + Do something with next + } + +Note that that the time returned by icalrecur_iterator_next is in +whatever timezone that dtstart is in. + +======================================================================*/ + +#ifndef ICALRECUR_H +#define ICALRECUR_H + +#include <time.h> + +/*********************************************************************** + * Recurrance enumerations +**********************************************************************/ + +typedef enum icalrecurrencetype_frequency +{ + /* These enums are used to index an array, so don't change the + order or the integers */ + + ICAL_SECONDLY_RECURRENCE=0, + ICAL_MINUTELY_RECURRENCE=1, + ICAL_HOURLY_RECURRENCE=2, + ICAL_DAILY_RECURRENCE=3, + ICAL_WEEKLY_RECURRENCE=4, + ICAL_MONTHLY_RECURRENCE=5, + ICAL_YEARLY_RECURRENCE=6, + ICAL_NO_RECURRENCE=7 + +} icalrecurrencetype_frequency; + +typedef enum icalrecurrencetype_weekday +{ + ICAL_NO_WEEKDAY, + ICAL_SUNDAY_WEEKDAY, + ICAL_MONDAY_WEEKDAY, + ICAL_TUESDAY_WEEKDAY, + ICAL_WEDNESDAY_WEEKDAY, + ICAL_THURSDAY_WEEKDAY, + ICAL_FRIDAY_WEEKDAY, + ICAL_SATURDAY_WEEKDAY +} icalrecurrencetype_weekday; + +enum { + ICAL_RECURRENCE_ARRAY_MAX = 0x7f7f, + ICAL_RECURRENCE_ARRAY_MAX_BYTE = 0x7f +}; + + + +/********************** Recurrence type routines **************/ + +/* See RFC 2445 Section 4.3.10, RECUR Value, for an explaination of + the values and fields in struct icalrecurrencetype */ + +#define ICAL_BY_SECOND_SIZE 61 +#define ICAL_BY_MINUTE_SIZE 61 +#define ICAL_BY_HOUR_SIZE 25 +#define ICAL_BY_DAY_SIZE 364 /* 7 days * 52 weeks */ +#define ICAL_BY_MONTHDAY_SIZE 32 +#define ICAL_BY_YEARDAY_SIZE 367 +#define ICAL_BY_WEEKNO_SIZE 54 +#define ICAL_BY_MONTH_SIZE 13 +#define ICAL_BY_SETPOS_SIZE 367 + +/* Main struct for holding digested recurrence rules */ +struct icalrecurrencetype +{ + icalrecurrencetype_frequency freq; + + + /* until and count are mutually exclusive. */ + struct icaltimetype until; + int count; + + short interval; + + icalrecurrencetype_weekday week_start; + + /* The BY* parameters can each take a list of values. Here I + * assume that the list of values will not be larger than the + * range of the value -- that is, the client will not name a + * value more than once. + + * Each of the lists is terminated with the value + * ICAL_RECURRENCE_ARRAY_MAX unless the the list is full. + */ + + short by_second[ICAL_BY_SECOND_SIZE]; + short by_minute[ICAL_BY_MINUTE_SIZE]; + short by_hour[ICAL_BY_HOUR_SIZE]; + short by_day[ICAL_BY_DAY_SIZE]; /* Encoded value, see below */ + short by_month_day[ICAL_BY_MONTHDAY_SIZE]; + short by_year_day[ ICAL_BY_YEARDAY_SIZE]; + short by_week_no[ICAL_BY_WEEKNO_SIZE]; + short by_month[ICAL_BY_MONTH_SIZE]; + short by_set_pos[ICAL_BY_SETPOS_SIZE]; +}; + + +void icalrecurrencetype_clear(struct icalrecurrencetype *r); + +/* The 'day' element of the by_day array is encoded to allow +representation of both the day of the week ( Monday, Tueday), but also +the Nth day of the week ( First tuesday of the month, last thursday of +the year) These routines decode the day values */ + +/* 1 == Monday, etc. */ +enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week(short day); + +/* 0 == any of day of week. 1 == first, 2 = second, -2 == second to last, etc */ +short icalrecurrencetype_day_position(short day); + + +/*********************************************************************** + * Recurrance rule parser +**********************************************************************/ + +/* Convert between strings ans recurrencetype structures. */ +struct icalrecurrencetype icalrecurrencetype_from_string(const char* str); +char* icalrecurrencetype_as_string(struct icalrecurrencetype *recur); + + +/********** recurrence iteration routines ********************/ + +typedef void icalrecur_iterator; + +/* Create a new recurrence rule iterator */ +icalrecur_iterator* icalrecur_iterator_new(struct icalrecurrencetype rule, + struct icaltimetype dtstart); + +/* Get the next occurrence from an iterator */ +struct icaltimetype icalrecur_iterator_next(icalrecur_iterator*); + +/* Free the iterator */ +void icalrecur_iterator_free(icalrecur_iterator*); + +/* Fills array up with at most 'count' time_t values, each + representing an occurrence time in seconds past the POSIX epoch */ +int icalrecur_expand_recurrence(char* rule, time_t start, + int count, time_t* array); + + +#endif +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalvalue.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalvalue.h + + ======================================================================*/ + +#ifndef ICALDERIVEDVALUE_H +#define ICALDERIVEDVALUE_H + + +typedef void icalvalue; + + + +void icalvalue_set_x(icalvalue* value, const char* v); +icalvalue* icalvalue_new_x(const char* v); +const char* icalvalue_get_x(icalvalue* value); + +icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); +void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); +struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); + +icalvalue* icalvalue_new_trigger (struct icaltriggertype v); +void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); +struct icaltriggertype icalvalue_get_trigger(icalvalue* value); + +icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); +void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v); +struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalvalue_kind { + ICAL_ANY_VALUE=5000, + ICAL_TEXT_VALUE=5001, + ICAL_BOOLEAN_VALUE=5002, + ICAL_DATETIMEPERIOD_VALUE=5003, + ICAL_DURATION_VALUE=5004, + ICAL_DATETIME_VALUE=5005, + ICAL_URI_VALUE=5006, + ICAL_X_VALUE=5007, + ICAL_FLOAT_VALUE=5008, + ICAL_PERIOD_VALUE=5009, + ICAL_TRIGGER_VALUE=5010, + ICAL_QUERY_VALUE=5011, + ICAL_CALADDRESS_VALUE=5012, + ICAL_UTCOFFSET_VALUE=5013, + ICAL_DATETIMEDATE_VALUE=5014, + ICAL_TRANSP_VALUE=5015, + ICAL_DATE_VALUE=5016, + ICAL_ACTION_VALUE=5017, + ICAL_TIME_VALUE=5018, + ICAL_METHOD_VALUE=5019, + ICAL_STATUS_VALUE=5020, + ICAL_GEO_VALUE=5021, + ICAL_INTEGER_VALUE=5022, + ICAL_CLASS_VALUE=5023, + ICAL_ATTACH_VALUE=5024, + ICAL_RECUR_VALUE=5025, + ICAL_BINARY_VALUE=5026, + ICAL_STRING_VALUE=5027, + ICAL_NO_VALUE=5028 +} icalvalue_kind ; + +#define ICALPROPERTY_FIRST_ENUM 10000 + +typedef enum icalproperty_action { + ICAL_ACTION_X = 10000, + ICAL_ACTION_AUDIO = 10001, + ICAL_ACTION_DISPLAY = 10002, + ICAL_ACTION_EMAIL = 10003, + ICAL_ACTION_PROCEDURE = 10004, + ICAL_ACTION_NONE = 10005 +} icalproperty_action; + +typedef enum icalproperty_class { + ICAL_CLASS_X = 10006, + ICAL_CLASS_PUBLIC = 10007, + ICAL_CLASS_PRIVATE = 10008, + ICAL_CLASS_CONFIDENTIAL = 10009, + ICAL_CLASS_NONE = 10010 +} icalproperty_class; + +typedef enum icalproperty_method { + ICAL_METHOD_X = 10011, + ICAL_METHOD_PUBLISH = 10012, + ICAL_METHOD_REQUEST = 10013, + ICAL_METHOD_REPLY = 10014, + ICAL_METHOD_ADD = 10015, + ICAL_METHOD_CANCEL = 10016, + ICAL_METHOD_REFRESH = 10017, + ICAL_METHOD_COUNTER = 10018, + ICAL_METHOD_DECLINECOUNTER = 10019, + ICAL_METHOD_CREATE = 10020, + ICAL_METHOD_READ = 10021, + ICAL_METHOD_RESPONSE = 10022, + ICAL_METHOD_MOVE = 10023, + ICAL_METHOD_MODIFY = 10024, + ICAL_METHOD_GENERATEUID = 10025, + ICAL_METHOD_DELETE = 10026, + ICAL_METHOD_NONE = 10027 +} icalproperty_method; + +typedef enum icalproperty_status { + ICAL_STATUS_X = 10028, + ICAL_STATUS_TENTATIVE = 10029, + ICAL_STATUS_CONFIRMED = 10030, + ICAL_STATUS_COMPLETED = 10031, + ICAL_STATUS_NEEDSACTION = 10032, + ICAL_STATUS_CANCELLED = 10033, + ICAL_STATUS_INPROCESS = 10034, + ICAL_STATUS_DRAFT = 10035, + ICAL_STATUS_FINAL = 10036, + ICAL_STATUS_NONE = 10037 +} icalproperty_status; + +typedef enum icalproperty_transp { + ICAL_TRANSP_X = 10038, + ICAL_TRANSP_OPAQUE = 10039, + ICAL_TRANSP_TRANSPARENT = 10040, + ICAL_TRANSP_NONE = 10041 +} icalproperty_transp; + +#define ICALPROPERTY_LAST_ENUM 10042 + + + /* TEXT */ +icalvalue* icalvalue_new_text(const char* v); +const char* icalvalue_get_text(icalvalue* value); +void icalvalue_set_text(icalvalue* value, const char* v); + + + /* BOOLEAN */ +icalvalue* icalvalue_new_boolean(int v); +int icalvalue_get_boolean(icalvalue* value); +void icalvalue_set_boolean(icalvalue* value, int v); + + + /* DURATION */ +icalvalue* icalvalue_new_duration(struct icaldurationtype v); +struct icaldurationtype icalvalue_get_duration(icalvalue* value); +void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v); + + + /* DATE-TIME */ +icalvalue* icalvalue_new_datetime(struct icaltimetype v); +struct icaltimetype icalvalue_get_datetime(icalvalue* value); +void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v); + + + /* URI */ +icalvalue* icalvalue_new_uri(const char* v); +const char* icalvalue_get_uri(icalvalue* value); +void icalvalue_set_uri(icalvalue* value, const char* v); + + + /* FLOAT */ +icalvalue* icalvalue_new_float(float v); +float icalvalue_get_float(icalvalue* value); +void icalvalue_set_float(icalvalue* value, float v); + + + /* PERIOD */ +icalvalue* icalvalue_new_period(struct icalperiodtype v); +struct icalperiodtype icalvalue_get_period(icalvalue* value); +void icalvalue_set_period(icalvalue* value, struct icalperiodtype v); + + + /* QUERY */ +icalvalue* icalvalue_new_query(const char* v); +const char* icalvalue_get_query(icalvalue* value); +void icalvalue_set_query(icalvalue* value, const char* v); + + + /* CAL-ADDRESS */ +icalvalue* icalvalue_new_caladdress(const char* v); +const char* icalvalue_get_caladdress(icalvalue* value); +void icalvalue_set_caladdress(icalvalue* value, const char* v); + + + /* UTC-OFFSET */ +icalvalue* icalvalue_new_utcoffset(int v); +int icalvalue_get_utcoffset(icalvalue* value); +void icalvalue_set_utcoffset(icalvalue* value, int v); + + + /* DATE-TIME-DATE */ +icalvalue* icalvalue_new_datetimedate(struct icaltimetype v); +struct icaltimetype icalvalue_get_datetimedate(icalvalue* value); +void icalvalue_set_datetimedate(icalvalue* value, struct icaltimetype v); + + + /* TRANSP */ +icalvalue* icalvalue_new_transp(enum icalproperty_transp v); +enum icalproperty_transp icalvalue_get_transp(icalvalue* value); +void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v); + + + /* DATE */ +icalvalue* icalvalue_new_date(struct icaltimetype v); +struct icaltimetype icalvalue_get_date(icalvalue* value); +void icalvalue_set_date(icalvalue* value, struct icaltimetype v); + + + /* ACTION */ +icalvalue* icalvalue_new_action(enum icalproperty_action v); +enum icalproperty_action icalvalue_get_action(icalvalue* value); +void icalvalue_set_action(icalvalue* value, enum icalproperty_action v); + + + /* TIME */ +icalvalue* icalvalue_new_time(struct icaltimetype v); +struct icaltimetype icalvalue_get_time(icalvalue* value); +void icalvalue_set_time(icalvalue* value, struct icaltimetype v); + + + /* METHOD */ +icalvalue* icalvalue_new_method(enum icalproperty_method v); +enum icalproperty_method icalvalue_get_method(icalvalue* value); +void icalvalue_set_method(icalvalue* value, enum icalproperty_method v); + + + /* STATUS */ +icalvalue* icalvalue_new_status(enum icalproperty_status v); +enum icalproperty_status icalvalue_get_status(icalvalue* value); +void icalvalue_set_status(icalvalue* value, enum icalproperty_status v); + + + /* GEO */ +icalvalue* icalvalue_new_geo(struct icalgeotype v); +struct icalgeotype icalvalue_get_geo(icalvalue* value); +void icalvalue_set_geo(icalvalue* value, struct icalgeotype v); + + + /* INTEGER */ +icalvalue* icalvalue_new_integer(int v); +int icalvalue_get_integer(icalvalue* value); +void icalvalue_set_integer(icalvalue* value, int v); + + + /* CLASS */ +icalvalue* icalvalue_new_class(enum icalproperty_class v); +enum icalproperty_class icalvalue_get_class(icalvalue* value); +void icalvalue_set_class(icalvalue* value, enum icalproperty_class v); + + + /* ATTACH */ +icalvalue* icalvalue_new_attach(struct icalattachtype v); +struct icalattachtype icalvalue_get_attach(icalvalue* value); +void icalvalue_set_attach(icalvalue* value, struct icalattachtype v); + + + /* BINARY */ +icalvalue* icalvalue_new_binary(const char* v); +const char* icalvalue_get_binary(icalvalue* value); +void icalvalue_set_binary(icalvalue* value, const char* v); + + + /* STRING */ +icalvalue* icalvalue_new_string(const char* v); +const char* icalvalue_get_string(icalvalue* value); +void icalvalue_set_string(icalvalue* value, const char* v); + +#endif /*ICALVALUE_H*/ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalparam.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalparam.h + + ======================================================================*/ + +#ifndef ICALDERIVEDPARAMETER_H +#define ICALDERIVEDPARAMETER_H + + +typedef void icalparameter; + +const char* icalparameter_enum_to_string(int e); +int icalparameter_string_to_enum(const char* str); + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalparameter_kind { + ICAL_ANY_PARAMETER = 0, + ICAL_ALTREP_PARAMETER, + ICAL_CHARSET_PARAMETER, + ICAL_CN_PARAMETER, + ICAL_CUTYPE_PARAMETER, + ICAL_DELEGATEDFROM_PARAMETER, + ICAL_DELEGATEDTO_PARAMETER, + ICAL_DIR_PARAMETER, + ICAL_ENCODING_PARAMETER, + ICAL_FBTYPE_PARAMETER, + ICAL_FMTTYPE_PARAMETER, + ICAL_LANGUAGE_PARAMETER, + ICAL_MEMBER_PARAMETER, + ICAL_PARTSTAT_PARAMETER, + ICAL_RANGE_PARAMETER, + ICAL_RELATED_PARAMETER, + ICAL_RELTYPE_PARAMETER, + ICAL_ROLE_PARAMETER, + ICAL_RSVP_PARAMETER, + ICAL_SENTBY_PARAMETER, + ICAL_TZID_PARAMETER, + ICAL_VALUE_PARAMETER, + ICAL_X_PARAMETER, + ICAL_XLICCOMPARETYPE_PARAMETER, + ICAL_XLICERRORTYPE_PARAMETER, + ICAL_NO_PARAMETER +} icalparameter_kind; + +#define ICALPARAMETER_FIRST_ENUM 20000 + +typedef enum icalparameter_cutype { + ICAL_CUTYPE_X = 20000, + ICAL_CUTYPE_INDIVIDUAL = 20001, + ICAL_CUTYPE_GROUP = 20002, + ICAL_CUTYPE_RESOURCE = 20003, + ICAL_CUTYPE_ROOM = 20004, + ICAL_CUTYPE_UNKNOWN = 20005, + ICAL_CUTYPE_NONE = 20006 +} icalparameter_cutype; + +typedef enum icalparameter_encoding { + ICAL_ENCODING_X = 20007, + ICAL_ENCODING_8BIT = 20008, + ICAL_ENCODING_BASE64 = 20009, + ICAL_ENCODING_NONE = 20010 +} icalparameter_encoding; + +typedef enum icalparameter_fbtype { + ICAL_FBTYPE_X = 20011, + ICAL_FBTYPE_FREE = 20012, + ICAL_FBTYPE_BUSY = 20013, + ICAL_FBTYPE_BUSYUNAVAILABLE = 20014, + ICAL_FBTYPE_BUSYTENTATIVE = 20015, + ICAL_FBTYPE_NONE = 20016 +} icalparameter_fbtype; + +typedef enum icalparameter_partstat { + ICAL_PARTSTAT_X = 20017, + ICAL_PARTSTAT_NEEDSACTION = 20018, + ICAL_PARTSTAT_ACCEPTED = 20019, + ICAL_PARTSTAT_DECLINED = 20020, + ICAL_PARTSTAT_TENTATIVE = 20021, + ICAL_PARTSTAT_DELEGATED = 20022, + ICAL_PARTSTAT_COMPLETED = 20023, + ICAL_PARTSTAT_INPROCESS = 20024, + ICAL_PARTSTAT_NONE = 20025 +} icalparameter_partstat; + +typedef enum icalparameter_range { + ICAL_RANGE_X = 20026, + ICAL_RANGE_THISANDPRIOR = 20027, + ICAL_RANGE_THISANDFUTURE = 20028, + ICAL_RANGE_NONE = 20029 +} icalparameter_range; + +typedef enum icalparameter_related { + ICAL_RELATED_X = 20030, + ICAL_RELATED_START = 20031, + ICAL_RELATED_END = 20032, + ICAL_RELATED_NONE = 20033 +} icalparameter_related; + +typedef enum icalparameter_reltype { + ICAL_RELTYPE_X = 20034, + ICAL_RELTYPE_PARENT = 20035, + ICAL_RELTYPE_CHILD = 20036, + ICAL_RELTYPE_SIBLING = 20037, + ICAL_RELTYPE_NONE = 20038 +} icalparameter_reltype; + +typedef enum icalparameter_role { + ICAL_ROLE_X = 20039, + ICAL_ROLE_CHAIR = 20040, + ICAL_ROLE_REQPARTICIPANT = 20041, + ICAL_ROLE_OPTPARTICIPANT = 20042, + ICAL_ROLE_NONPARTICIPANT = 20043, + ICAL_ROLE_NONE = 20044 +} icalparameter_role; + +typedef enum icalparameter_rsvp { + ICAL_RSVP_X = 20045, + ICAL_RSVP_TRUE = 20046, + ICAL_RSVP_FALSE = 20047, + ICAL_RSVP_NONE = 20048 +} icalparameter_rsvp; + +typedef enum icalparameter_value { + ICAL_VALUE_X = 20049, + ICAL_VALUE_BINARY = 20050, + ICAL_VALUE_BOOLEAN = 20051, + ICAL_VALUE_DATE = 20052, + ICAL_VALUE_DURATION = 20053, + ICAL_VALUE_FLOAT = 20054, + ICAL_VALUE_INTEGER = 20055, + ICAL_VALUE_PERIOD = 20056, + ICAL_VALUE_RECUR = 20057, + ICAL_VALUE_TEXT = 20058, + ICAL_VALUE_TIME = 20059, + ICAL_VALUE_URI = 20060, + ICAL_VALUE_ERROR = 20061, + ICAL_VALUE_DATETIME = 20062, + ICAL_VALUE_UTCOFFSET = 20063, + ICAL_VALUE_CALADDRESS = 20064, + ICAL_VALUE_NONE = 20065 +} icalparameter_value; + +typedef enum icalparameter_xliccomparetype { + ICAL_XLICCOMPARETYPE_X = 20066, + ICAL_XLICCOMPARETYPE_EQUAL = 20067, + ICAL_XLICCOMPARETYPE_NOTEQUAL = 20068, + ICAL_XLICCOMPARETYPE_LESS = 20069, + ICAL_XLICCOMPARETYPE_GREATER = 20070, + ICAL_XLICCOMPARETYPE_LESSEQUAL = 20071, + ICAL_XLICCOMPARETYPE_GREATEREQUAL = 20072, + ICAL_XLICCOMPARETYPE_REGEX = 20073, + ICAL_XLICCOMPARETYPE_NONE = 20074 +} icalparameter_xliccomparetype; + +typedef enum icalparameter_xlicerrortype { + ICAL_XLICERRORTYPE_X = 20075, + ICAL_XLICERRORTYPE_COMPONENTPARSEERROR = 20076, + ICAL_XLICERRORTYPE_PROPERTYPARSEERROR = 20077, + ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR = 20078, + ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR = 20079, + ICAL_XLICERRORTYPE_VALUEPARSEERROR = 20080, + ICAL_XLICERRORTYPE_INVALIDITIP = 20081, + ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR = 20082, + ICAL_XLICERRORTYPE_MIMEPARSEERROR = 20083, + ICAL_XLICERRORTYPE_NONE = 20084 +} icalparameter_xlicerrortype; + +#define ICALPARAMETER_LAST_ENUM 20085 + +/* CUTYPE */ +icalparameter* icalparameter_new_cutype(icalparameter_cutype v); +icalparameter_cutype icalparameter_get_cutype(icalparameter* value); +void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v); + +/* FMTTYPE */ +icalparameter* icalparameter_new_fmttype(const char* v); +const char* icalparameter_get_fmttype(icalparameter* value); +void icalparameter_set_fmttype(icalparameter* value, const char* v); + +/* FBTYPE */ +icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v); +icalparameter_fbtype icalparameter_get_fbtype(icalparameter* value); +void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v); + +/* DELEGATED-FROM */ +icalparameter* icalparameter_new_delegatedfrom(const char* v); +const char* icalparameter_get_delegatedfrom(icalparameter* value); +void icalparameter_set_delegatedfrom(icalparameter* value, const char* v); + +/* RELTYPE */ +icalparameter* icalparameter_new_reltype(icalparameter_reltype v); +icalparameter_reltype icalparameter_get_reltype(icalparameter* value); +void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v); + +/* ROLE */ +icalparameter* icalparameter_new_role(icalparameter_role v); +icalparameter_role icalparameter_get_role(icalparameter* value); +void icalparameter_set_role(icalparameter* value, icalparameter_role v); + +/* MEMBER */ +icalparameter* icalparameter_new_member(const char* v); +const char* icalparameter_get_member(icalparameter* value); +void icalparameter_set_member(icalparameter* value, const char* v); + +/* LANGUAGE */ +icalparameter* icalparameter_new_language(const char* v); +const char* icalparameter_get_language(icalparameter* value); +void icalparameter_set_language(icalparameter* value, const char* v); + +/* PARTSTAT */ +icalparameter* icalparameter_new_partstat(icalparameter_partstat v); +icalparameter_partstat icalparameter_get_partstat(icalparameter* value); +void icalparameter_set_partstat(icalparameter* value, icalparameter_partstat v); + +/* DELEGATED-TO */ +icalparameter* icalparameter_new_delegatedto(const char* v); +const char* icalparameter_get_delegatedto(icalparameter* value); +void icalparameter_set_delegatedto(icalparameter* value, const char* v); + +/* RSVP */ +icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v); +icalparameter_rsvp icalparameter_get_rsvp(icalparameter* value); +void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v); + +/* DIR */ +icalparameter* icalparameter_new_dir(const char* v); +const char* icalparameter_get_dir(icalparameter* value); +void icalparameter_set_dir(icalparameter* value, const char* v); + +/* X */ +icalparameter* icalparameter_new_x(const char* v); +const char* icalparameter_get_x(icalparameter* value); +void icalparameter_set_x(icalparameter* value, const char* v); + +/* X-LIC-ERRORTYPE */ +icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v); +icalparameter_xlicerrortype icalparameter_get_xlicerrortype(icalparameter* value); +void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v); + +/* RELATED */ +icalparameter* icalparameter_new_related(icalparameter_related v); +icalparameter_related icalparameter_get_related(icalparameter* value); +void icalparameter_set_related(icalparameter* value, icalparameter_related v); + +/* CN */ +icalparameter* icalparameter_new_cn(const char* v); +const char* icalparameter_get_cn(icalparameter* value); +void icalparameter_set_cn(icalparameter* value, const char* v); + +/* ENCODING */ +icalparameter* icalparameter_new_encoding(icalparameter_encoding v); +icalparameter_encoding icalparameter_get_encoding(icalparameter* value); +void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v); + +/* VALUE */ +icalparameter* icalparameter_new_value(icalparameter_value v); +icalparameter_value icalparameter_get_value(icalparameter* value); +void icalparameter_set_value(icalparameter* value, icalparameter_value v); + +/* ALTREP */ +icalparameter* icalparameter_new_altrep(const char* v); +const char* icalparameter_get_altrep(icalparameter* value); +void icalparameter_set_altrep(icalparameter* value, const char* v); + +/* RANGE */ +icalparameter* icalparameter_new_range(icalparameter_range v); +icalparameter_range icalparameter_get_range(icalparameter* value); +void icalparameter_set_range(icalparameter* value, icalparameter_range v); + +/* X-LIC-COMPARETYPE */ +icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v); +icalparameter_xliccomparetype icalparameter_get_xliccomparetype(icalparameter* value); +void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v); + +/* TZID */ +icalparameter* icalparameter_new_tzid(const char* v); +const char* icalparameter_get_tzid(icalparameter* value); +void icalparameter_set_tzid(icalparameter* value, const char* v); + +/* CHARSET */ +icalparameter* icalparameter_new_charset( const char * v); + const char * icalparameter_get_charset(icalparameter* value); +void icalparameter_set_charset(icalparameter* value, const char * v); + +/* SENT-BY */ +icalparameter* icalparameter_new_sentby(const char* v); +const char* icalparameter_get_sentby(icalparameter* value); +void icalparameter_set_sentby(icalparameter* value, const char* v); + +#endif /*ICALPARAMETER_H*/ + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalvalue.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalvalue.h + + ======================================================================*/ + +#ifndef ICALVALUE_H +#define ICALVALUE_H + +#include <time.h> + +/* Defined in icalderivedvalue.h */ +/*typedef void icalvalue;*/ + +icalvalue* icalvalue_new(icalvalue_kind kind); + +icalvalue* icalvalue_new_clone(icalvalue* value); + +icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str); + +void icalvalue_free(icalvalue* value); + +int icalvalue_is_valid(icalvalue* value); + +const char* icalvalue_as_ical_string(icalvalue* value); + +icalvalue_kind icalvalue_isa(icalvalue* value); + +int icalvalue_isa_value(void*); + +icalparameter_xliccomparetype icalvalue_compare(icalvalue* a, icalvalue *b); + + +/* Special, non autogenerated value accessors */ + +icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); +void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); +struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); + +icalvalue* icalvalue_new_trigger (struct icaltriggertype v); +void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); +struct icaltriggertype icalvalue_get_trigger(icalvalue* value); + +icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); +void icalvalue_set_datetimeperiod(icalvalue* value, + struct icaldatetimeperiodtype v); +struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); + +/* Convert enumerations */ + +icalvalue_kind icalvalue_string_to_kind(const char* str); +const char* icalvalue_kind_to_string(icalvalue_kind kind); + + +#endif /*ICALVALUE_H*/ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalparam.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalparam.h + + ======================================================================*/ + +#ifndef ICALPARAM_H +#define ICALPARAM_H + + +/* Declared in icalderivedparameter.h */ +/*typedef void icalparameter;*/ + +icalparameter* icalparameter_new(icalparameter_kind kind); +icalparameter* icalparameter_new_clone(icalparameter* p); + +/* Create from string of form "PARAMNAME=VALUE" */ +icalparameter* icalparameter_new_from_string(const char* value); + +/* Create from just the value, the part after the "=" */ +icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value); + +void icalparameter_free(icalparameter* parameter); + +char* icalparameter_as_ical_string(icalparameter* parameter); + +int icalparameter_is_valid(icalparameter* parameter); + +icalparameter_kind icalparameter_isa(icalparameter* parameter); + +int icalparameter_isa_parameter(void* param); + +/* Acess the name of an X parameer */ +void icalparameter_set_xname (icalparameter* param, const char* v); +const char* icalparameter_get_xname(icalparameter* param); +void icalparameter_set_xvalue (icalparameter* param, const char* v); +const char* icalparameter_get_xvalue(icalparameter* param); + +/* Convert enumerations */ + +const char* icalparameter_kind_to_string(icalparameter_kind kind); +icalparameter_kind icalparameter_string_to_kind(const char* string); + + + +#endif +/* -*- Mode: C -*- + ====================================================================== + FILE: icalderivedproperties.{c,h} + CREATOR: eric 09 May 1999 + + $Id$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + ======================================================================*/ + + +#ifndef ICALDERIVEDPROPERTY_H +#define ICALDERIVEDPROPERTY_H + +#include <time.h> + +typedef void icalproperty; + + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalproperty_kind { + ICAL_ANY_PROPERTY = 0, + ICAL_ACTION_PROPERTY, + ICAL_ATTACH_PROPERTY, + ICAL_ATTENDEE_PROPERTY, + ICAL_CALSCALE_PROPERTY, + ICAL_CATEGORIES_PROPERTY, + ICAL_CLASS_PROPERTY, + ICAL_COMMENT_PROPERTY, + ICAL_COMPLETED_PROPERTY, + ICAL_CONTACT_PROPERTY, + ICAL_CREATED_PROPERTY, + ICAL_DESCRIPTION_PROPERTY, + ICAL_DTEND_PROPERTY, + ICAL_DTSTAMP_PROPERTY, + ICAL_DTSTART_PROPERTY, + ICAL_DUE_PROPERTY, + ICAL_DURATION_PROPERTY, + ICAL_EXDATE_PROPERTY, + ICAL_EXRULE_PROPERTY, + ICAL_FREEBUSY_PROPERTY, + ICAL_GEO_PROPERTY, + ICAL_LASTMODIFIED_PROPERTY, + ICAL_LOCATION_PROPERTY, + ICAL_MAXRESULTS_PROPERTY, + ICAL_MAXRESULTSSIZE_PROPERTY, + ICAL_METHOD_PROPERTY, + ICAL_ORGANIZER_PROPERTY, + ICAL_PERCENTCOMPLETE_PROPERTY, + ICAL_PRIORITY_PROPERTY, + ICAL_PRODID_PROPERTY, + ICAL_QUERY_PROPERTY, + ICAL_QUERYNAME_PROPERTY, + ICAL_RDATE_PROPERTY, + ICAL_RECURRENCEID_PROPERTY, + ICAL_RELATEDTO_PROPERTY, + ICAL_REPEAT_PROPERTY, + ICAL_REQUESTSTATUS_PROPERTY, + ICAL_RESOURCES_PROPERTY, + ICAL_RRULE_PROPERTY, + ICAL_SCOPE_PROPERTY, + ICAL_SEQUENCE_PROPERTY, + ICAL_STATUS_PROPERTY, + ICAL_SUMMARY_PROPERTY, + ICAL_TARGET_PROPERTY, + ICAL_TRANSP_PROPERTY, + ICAL_TRIGGER_PROPERTY, + ICAL_TZID_PROPERTY, + ICAL_TZNAME_PROPERTY, + ICAL_TZOFFSETFROM_PROPERTY, + ICAL_TZOFFSETTO_PROPERTY, + ICAL_TZURL_PROPERTY, + ICAL_UID_PROPERTY, + ICAL_URL_PROPERTY, + ICAL_VERSION_PROPERTY, + ICAL_X_PROPERTY, + ICAL_XLICCLUSTERCOUNT_PROPERTY, + ICAL_XLICERROR_PROPERTY, + ICAL_XLICMIMECHARSET_PROPERTY, + ICAL_XLICMIMECID_PROPERTY, + ICAL_XLICMIMECONTENTTYPE_PROPERTY, + ICAL_XLICMIMEENCODING_PROPERTY, + ICAL_XLICMIMEFILENAME_PROPERTY, + ICAL_XLICMIMEOPTINFO_PROPERTY, + ICAL_NO_PROPERTY +} icalproperty_kind; + + +/* ACTION */ +icalproperty* icalproperty_new_action(enum icalproperty_action v); +icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...); +void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v); +enum icalproperty_action icalproperty_get_action(icalproperty* prop); +/* ATTACH */ +icalproperty* icalproperty_new_attach(struct icalattachtype v); +icalproperty* icalproperty_vanew_attach(struct icalattachtype v, ...); +void icalproperty_set_attach(icalproperty* prop, struct icalattachtype v); +struct icalattachtype icalproperty_get_attach(icalproperty* prop); +/* ATTENDEE */ +icalproperty* icalproperty_new_attendee(const char* v); +icalproperty* icalproperty_vanew_attendee(const char* v, ...); +void icalproperty_set_attendee(icalproperty* prop, const char* v); +const char* icalproperty_get_attendee(icalproperty* prop); +/* CALSCALE */ +icalproperty* icalproperty_new_calscale(const char* v); +icalproperty* icalproperty_vanew_calscale(const char* v, ...); +void icalproperty_set_calscale(icalproperty* prop, const char* v); +const char* icalproperty_get_calscale(icalproperty* prop); +/* CATEGORIES */ +icalproperty* icalproperty_new_categories(const char* v); +icalproperty* icalproperty_vanew_categories(const char* v, ...); +void icalproperty_set_categories(icalproperty* prop, const char* v); +const char* icalproperty_get_categories(icalproperty* prop); +/* CLASS */ +icalproperty* icalproperty_new_class(const char* v); +icalproperty* icalproperty_vanew_class(const char* v, ...); +void icalproperty_set_class(icalproperty* prop, const char* v); +const char* icalproperty_get_class(icalproperty* prop); +/* COMMENT */ +icalproperty* icalproperty_new_comment(const char* v); +icalproperty* icalproperty_vanew_comment(const char* v, ...); +void icalproperty_set_comment(icalproperty* prop, const char* v); +const char* icalproperty_get_comment(icalproperty* prop); +/* COMPLETED */ +icalproperty* icalproperty_new_completed(struct icaltimetype v); +icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...); +void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_completed(icalproperty* prop); +/* CONTACT */ +icalproperty* icalproperty_new_contact(const char* v); +icalproperty* icalproperty_vanew_contact(const char* v, ...); +void icalproperty_set_contact(icalproperty* prop, const char* v); +const char* icalproperty_get_contact(icalproperty* prop); +/* CREATED */ +icalproperty* icalproperty_new_created(struct icaltimetype v); +icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...); +void icalproperty_set_created(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_created(icalproperty* prop); +/* DESCRIPTION */ +icalproperty* icalproperty_new_description(const char* v); +icalproperty* icalproperty_vanew_description(const char* v, ...); +void icalproperty_set_description(icalproperty* prop, const char* v); +const char* icalproperty_get_description(icalproperty* prop); +/* DTEND */ +icalproperty* icalproperty_new_dtend(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...); +void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtend(icalproperty* prop); +/* DTSTAMP */ +icalproperty* icalproperty_new_dtstamp(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...); +void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtstamp(icalproperty* prop); +/* DTSTART */ +icalproperty* icalproperty_new_dtstart(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...); +void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtstart(icalproperty* prop); +/* DUE */ +icalproperty* icalproperty_new_due(struct icaltimetype v); +icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...); +void icalproperty_set_due(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_due(icalproperty* prop); +/* DURATION */ +icalproperty* icalproperty_new_duration(struct icaldurationtype v); +icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...); +void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v); +struct icaldurationtype icalproperty_get_duration(icalproperty* prop); +/* EXDATE */ +icalproperty* icalproperty_new_exdate(struct icaltimetype v); +icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...); +void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_exdate(icalproperty* prop); +/* EXRULE */ +icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v); +icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...); +void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v); +struct icalrecurrencetype icalproperty_get_exrule(icalproperty* prop); +/* FREEBUSY */ +icalproperty* icalproperty_new_freebusy(struct icalperiodtype v); +icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...); +void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v); +struct icalperiodtype icalproperty_get_freebusy(icalproperty* prop); +/* GEO */ +icalproperty* icalproperty_new_geo(struct icalgeotype v); +icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...); +void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v); +struct icalgeotype icalproperty_get_geo(icalproperty* prop); +/* LAST-MODIFIED */ +icalproperty* icalproperty_new_lastmodified(struct icaltimetype v); +icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...); +void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_lastmodified(icalproperty* prop); +/* LOCATION */ +icalproperty* icalproperty_new_location(const char* v); +icalproperty* icalproperty_vanew_location(const char* v, ...); +void icalproperty_set_location(icalproperty* prop, const char* v); +const char* icalproperty_get_location(icalproperty* prop); +/* MAXRESULTS */ +icalproperty* icalproperty_new_maxresults(int v); +icalproperty* icalproperty_vanew_maxresults(int v, ...); +void icalproperty_set_maxresults(icalproperty* prop, int v); +int icalproperty_get_maxresults(icalproperty* prop); +/* MAXRESULTSSIZE */ +icalproperty* icalproperty_new_maxresultssize(int v); +icalproperty* icalproperty_vanew_maxresultssize(int v, ...); +void icalproperty_set_maxresultssize(icalproperty* prop, int v); +int icalproperty_get_maxresultssize(icalproperty* prop); +/* METHOD */ +icalproperty* icalproperty_new_method(enum icalproperty_method v); +icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...); +void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v); +enum icalproperty_method icalproperty_get_method(icalproperty* prop); +/* ORGANIZER */ +icalproperty* icalproperty_new_organizer(const char* v); +icalproperty* icalproperty_vanew_organizer(const char* v, ...); +void icalproperty_set_organizer(icalproperty* prop, const char* v); +const char* icalproperty_get_organizer(icalproperty* prop); +/* PERCENT-COMPLETE */ +icalproperty* icalproperty_new_percentcomplete(int v); +icalproperty* icalproperty_vanew_percentcomplete(int v, ...); +void icalproperty_set_percentcomplete(icalproperty* prop, int v); +int icalproperty_get_percentcomplete(icalproperty* prop); +/* PRIORITY */ +icalproperty* icalproperty_new_priority(int v); +icalproperty* icalproperty_vanew_priority(int v, ...); +void icalproperty_set_priority(icalproperty* prop, int v); +int icalproperty_get_priority(icalproperty* prop); +/* PRODID */ +icalproperty* icalproperty_new_prodid(const char* v); +icalproperty* icalproperty_vanew_prodid(const char* v, ...); +void icalproperty_set_prodid(icalproperty* prop, const char* v); +const char* icalproperty_get_prodid(icalproperty* prop); +/* QUERY */ +icalproperty* icalproperty_new_query(const char* v); +icalproperty* icalproperty_vanew_query(const char* v, ...); +void icalproperty_set_query(icalproperty* prop, const char* v); +const char* icalproperty_get_query(icalproperty* prop); +/* QUERYNAME */ +icalproperty* icalproperty_new_queryname(const char* v); +icalproperty* icalproperty_vanew_queryname(const char* v, ...); +void icalproperty_set_queryname(icalproperty* prop, const char* v); +const char* icalproperty_get_queryname(icalproperty* prop); +/* RDATE */ +icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v); +icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...); +void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v); +struct icaldatetimeperiodtype icalproperty_get_rdate(icalproperty* prop); +/* RECURRENCE-ID */ +icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v); +icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...); +void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_recurrenceid(icalproperty* prop); +/* RELATED-TO */ +icalproperty* icalproperty_new_relatedto(const char* v); +icalproperty* icalproperty_vanew_relatedto(const char* v, ...); +void icalproperty_set_relatedto(icalproperty* prop, const char* v); +const char* icalproperty_get_relatedto(icalproperty* prop); +/* REPEAT */ +icalproperty* icalproperty_new_repeat(int v); +icalproperty* icalproperty_vanew_repeat(int v, ...); +void icalproperty_set_repeat(icalproperty* prop, int v); +int icalproperty_get_repeat(icalproperty* prop); +/* REQUEST-STATUS */ +icalproperty* icalproperty_new_requeststatus(const char* v); +icalproperty* icalproperty_vanew_requeststatus(const char* v, ...); +void icalproperty_set_requeststatus(icalproperty* prop, const char* v); +const char* icalproperty_get_requeststatus(icalproperty* prop); +/* RESOURCES */ +icalproperty* icalproperty_new_resources(const char* v); +icalproperty* icalproperty_vanew_resources(const char* v, ...); +void icalproperty_set_resources(icalproperty* prop, const char* v); +const char* icalproperty_get_resources(icalproperty* prop); +/* RRULE */ +icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v); +icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...); +void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v); +struct icalrecurrencetype icalproperty_get_rrule(icalproperty* prop); +/* SCOPE */ +icalproperty* icalproperty_new_scope(const char* v); +icalproperty* icalproperty_vanew_scope(const char* v, ...); +void icalproperty_set_scope(icalproperty* prop, const char* v); +const char* icalproperty_get_scope(icalproperty* prop); +/* SEQUENCE */ +icalproperty* icalproperty_new_sequence(int v); +icalproperty* icalproperty_vanew_sequence(int v, ...); +void icalproperty_set_sequence(icalproperty* prop, int v); +int icalproperty_get_sequence(icalproperty* prop); +/* STATUS */ +icalproperty* icalproperty_new_status(enum icalproperty_status v); +icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...); +void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v); +enum icalproperty_status icalproperty_get_status(icalproperty* prop); +/* SUMMARY */ +icalproperty* icalproperty_new_summary(const char* v); +icalproperty* icalproperty_vanew_summary(const char* v, ...); +void icalproperty_set_summary(icalproperty* prop, const char* v); +const char* icalproperty_get_summary(icalproperty* prop); +/* TARGET */ +icalproperty* icalproperty_new_target(const char* v); +icalproperty* icalproperty_vanew_target(const char* v, ...); +void icalproperty_set_target(icalproperty* prop, const char* v); +const char* icalproperty_get_target(icalproperty* prop); +/* TRANSP */ +icalproperty* icalproperty_new_transp(const char* v); +icalproperty* icalproperty_vanew_transp(const char* v, ...); +void icalproperty_set_transp(icalproperty* prop, const char* v); +const char* icalproperty_get_transp(icalproperty* prop); +/* TRIGGER */ +icalproperty* icalproperty_new_trigger(struct icaltriggertype v); +icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...); +void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v); +struct icaltriggertype icalproperty_get_trigger(icalproperty* prop); +/* TZID */ +icalproperty* icalproperty_new_tzid(const char* v); +icalproperty* icalproperty_vanew_tzid(const char* v, ...); +void icalproperty_set_tzid(icalproperty* prop, const char* v); +const char* icalproperty_get_tzid(icalproperty* prop); +/* TZNAME */ +icalproperty* icalproperty_new_tzname(const char* v); +icalproperty* icalproperty_vanew_tzname(const char* v, ...); +void icalproperty_set_tzname(icalproperty* prop, const char* v); +const char* icalproperty_get_tzname(icalproperty* prop); +/* TZOFFSETFROM */ +icalproperty* icalproperty_new_tzoffsetfrom(int v); +icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...); +void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v); +int icalproperty_get_tzoffsetfrom(icalproperty* prop); +/* TZOFFSETTO */ +icalproperty* icalproperty_new_tzoffsetto(int v); +icalproperty* icalproperty_vanew_tzoffsetto(int v, ...); +void icalproperty_set_tzoffsetto(icalproperty* prop, int v); +int icalproperty_get_tzoffsetto(icalproperty* prop); +/* TZURL */ +icalproperty* icalproperty_new_tzurl(const char* v); +icalproperty* icalproperty_vanew_tzurl(const char* v, ...); +void icalproperty_set_tzurl(icalproperty* prop, const char* v); +const char* icalproperty_get_tzurl(icalproperty* prop); +/* UID */ +icalproperty* icalproperty_new_uid(const char* v); +icalproperty* icalproperty_vanew_uid(const char* v, ...); +void icalproperty_set_uid(icalproperty* prop, const char* v); +const char* icalproperty_get_uid(icalproperty* prop); +/* URL */ +icalproperty* icalproperty_new_url(const char* v); +icalproperty* icalproperty_vanew_url(const char* v, ...); +void icalproperty_set_url(icalproperty* prop, const char* v); +const char* icalproperty_get_url(icalproperty* prop); +/* VERSION */ +icalproperty* icalproperty_new_version(const char* v); +icalproperty* icalproperty_vanew_version(const char* v, ...); +void icalproperty_set_version(icalproperty* prop, const char* v); +const char* icalproperty_get_version(icalproperty* prop); +/* X */ +icalproperty* icalproperty_new_x(const char* v); +icalproperty* icalproperty_vanew_x(const char* v, ...); +void icalproperty_set_x(icalproperty* prop, const char* v); +const char* icalproperty_get_x(icalproperty* prop); +/* X-LIC-CLUSTERCOUNT */ +icalproperty* icalproperty_new_xlicclustercount(const char* v); +icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...); +void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicclustercount(icalproperty* prop); +/* X-LIC-ERROR */ +icalproperty* icalproperty_new_xlicerror(const char* v); +icalproperty* icalproperty_vanew_xlicerror(const char* v, ...); +void icalproperty_set_xlicerror(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicerror(icalproperty* prop); +/* X-LIC-MIMECHARSET */ +icalproperty* icalproperty_new_xlicmimecharset(const char* v); +icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...); +void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecharset(icalproperty* prop); +/* X-LIC-MIMECID */ +icalproperty* icalproperty_new_xlicmimecid(const char* v); +icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...); +void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecid(icalproperty* prop); +/* X-LIC-MIMECONTENTTYPE */ +icalproperty* icalproperty_new_xlicmimecontenttype(const char* v); +icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...); +void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecontenttype(icalproperty* prop); +/* X-LIC-MIMEENCODING */ +icalproperty* icalproperty_new_xlicmimeencoding(const char* v); +icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...); +void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimeencoding(icalproperty* prop); +/* X-LIC-MIMEFILENAME */ +icalproperty* icalproperty_new_xlicmimefilename(const char* v); +icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...); +void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimefilename(icalproperty* prop); +/* X-LIC-MIMEOPTINFO */ +icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v); +icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...); +void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimeoptinfo(icalproperty* prop); + +#endif /*ICALPROPERTY_H*/ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalproperty.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalparam.h + + ======================================================================*/ + + +#ifndef ICALPROPERTY_H +#define ICALPROPERTY_H + +#include <time.h> + + + + +/* Actually in icalderivedproperty.h: + typedef void icalproperty; */ + + +icalproperty* icalproperty_new(icalproperty_kind kind); + +icalproperty* icalproperty_new_clone(icalproperty * prop); + +icalproperty* icalproperty_new_from_string(char* str); + +char* icalproperty_as_ical_string(icalproperty* prop); + +void icalproperty_free(icalproperty* prop); + +icalproperty_kind icalproperty_isa(icalproperty* property); +int icalproperty_isa_property(void* property); + +void icalproperty_add_parameter(icalproperty* prop,icalparameter* parameter); +void icalproperty_set_parameter(icalproperty* prop,icalparameter* parameter); +void icalproperty_set_parameter_from_string(icalproperty* prop, + const char* name, const char* value); +const char* icalproperty_get_parameter_as_string(icalproperty* prop, + const char* name); + +void icalproperty_remove_parameter(icalproperty* prop, + icalparameter_kind kind); + +int icalproperty_count_parameters(icalproperty* prop); + +/* Iterate through the parameters */ +icalparameter* icalproperty_get_first_parameter(icalproperty* prop, + icalparameter_kind kind); +icalparameter* icalproperty_get_next_parameter(icalproperty* prop, + icalparameter_kind kind); +/* Access the value of the property */ +void icalproperty_set_value(icalproperty* prop, icalvalue* value); +void icalproperty_set_value_from_string(icalproperty* prop,const char* value, const char* kind); + +icalvalue* icalproperty_get_value(icalproperty* prop); +const char* icalproperty_get_value_as_string(icalproperty* prop); + +/* Deal with X properties */ + +void icalproperty_set_x_name(icalproperty* prop, char* name); +char* icalproperty_get_x_name(icalproperty* prop); + +/* Return the name of the property -- the type name converted to a + string, or the value of _get_x_name if the type is and X property */ +char* icalproperty_get_name (icalproperty* prop); + +icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value); + +/* Convert kinds to string and get default value type */ + +icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind); +icalvalue_kind icalproperty_value_kind_to_kind(icalvalue_kind kind); +const char* icalproperty_kind_to_string(icalproperty_kind kind); +icalproperty_kind icalproperty_string_to_kind(const char* string); + +icalproperty_method icalproperty_string_to_method(const char* str); +const char* icalproperty_method_to_string(icalproperty_method method); + + +const char* icalproperty_enum_to_string(int e); +int icalproperty_string_to_enum(const char* str); + +const char* icalproperty_status_to_string(icalproperty_status); +icalproperty_status icalproperty_string_to_status(const char* string); + +int icalproperty_enum_belongs_to_property(icalproperty_kind kind, int e); + + + + +#endif /*ICALPROPERTY_H*/ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalattendee.h + CREATOR: eric 8 Mar 01 + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icaltypes.h + +======================================================================*/ + +#ifndef ICALATTENDEE_H +#define ICALATTENDEE_H + +#include <time.h> + +struct icalorganizertype { + const char* value; + const char* common_name; + const char* dir; + const char* sentby; + const char* language; + +}; + +/* Create a copy of the given organizer. Libical will not own the + memory for the strings in the copy; the call must free them */ +struct icalorganizertype icalorganizertype_new_clone(struct icalorganizertype a); + + +struct icalattendeetype { + const char* cuid; /* Cal user id, contents of the property value */ + /*icalparameter_cutype cutype;*/ + const char* member; + /*icalparameter_role role;*/ + int rsvp; + const char* delto; + const char* delfrom; + const char* sentby; + const char* cn; + const char* dir; + const char* language; +}; + +/* Create a copy of the given attendee. Libical will not own the + memory for the strings in the copy; the call must free them */ +struct icalattendeetype icalattendeetype_new_clone(struct icalattendeetype a); + + +#endif /* !ICALATTENDEE_H */ +/*====================================================================== + FILE: pvl.h + CREATOR: eric November, 1995 + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org +======================================================================*/ + + +#ifndef __PVL_H__ +#define __PVL_H__ + +typedef void* pvl_list; +typedef void* pvl_elem; + +/* + struct pvl_elem_t + + This type is private. Always use pvl_elem instead. The struct would + not even appear in this header except to make code in the USE_MACROS + blocks work + + */ +typedef struct pvl_elem_t +{ + int MAGIC; /* Magic Identifier */ + void *d; /* Pointer to data user is storing */ + struct pvl_elem_t *next; /* Next element */ + struct pvl_elem_t *prior; /* prior element */ +} pvl_elem_t; + + + +/* This global is incremented for each call to pvl_new_element(); it gives each + * list a unique identifer */ + +extern int pvl_elem_count; +extern int pvl_list_count; + +/* Create new lists or elements */ +pvl_elem pvl_new_element(void* d, pvl_elem next,pvl_elem prior); +pvl_list pvl_newlist(void); +void pvl_free(pvl_list); + +/* Add, remove, or get the head of the list */ +void pvl_unshift(pvl_list l,void *d); +void* pvl_shift(pvl_list l); +pvl_elem pvl_head(pvl_list); + +/* Add, remove or get the tail of the list */ +void pvl_push(pvl_list l,void *d); +void* pvl_pop(pvl_list l); +pvl_elem pvl_tail(pvl_list); + +/* Insert elements in random places */ +typedef int (*pvl_comparef)(void* a, void* b); /* a, b are of the data type*/ +void pvl_insert_ordered(pvl_list l,pvl_comparef f,void *d); +void pvl_insert_after(pvl_list l,pvl_elem e,void *d); +void pvl_insert_before(pvl_list l,pvl_elem e,void *d); + +/* Remove an element, or clear the entire list */ +void* pvl_remove(pvl_list,pvl_elem); /* Remove element, return data */ +void pvl_clear(pvl_list); /* Remove all elements, de-allocate all data */ + +int pvl_count(pvl_list); + +/* Navagate the list */ +pvl_elem pvl_next(pvl_elem e); +pvl_elem pvl_prior(pvl_elem e); + +/* get the data in the list */ +#ifndef PVL_USE_MACROS +void* pvl_data(pvl_elem); +#else +#define pvl_data(x) x==0 ? 0 : ((struct pvl_elem_t *)x)->d; +#endif + + +/* Find an element for which a function returns true */ +typedef int (*pvl_findf)(void* a, void* b); /*a is list elem, b is other data*/ +pvl_elem pvl_find(pvl_list l,pvl_findf f,void* v); +pvl_elem pvl_find_next(pvl_list l,pvl_findf f,void* v); + +/* Pass each element in the list to a function */ +typedef void (*pvl_applyf)(void* a, void* b); /*a is list elem, b is other data*/ +void pvl_apply(pvl_list l,pvl_applyf f, void *v); + + +#endif /* __PVL_H__ */ + + + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalcomponent.h + CREATOR: eric 20 March 1999 + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalcomponent.h + +======================================================================*/ + +#ifndef ICALCOMPONENT_H +#define ICALCOMPONENT_H + + +typedef void icalcomponent; + +/* This is exposed so that callers will not have to allocate and + deallocate iterators. Pretend that you can't see it. */ +typedef struct icalcompiter +{ + icalcomponent_kind kind; + pvl_elem iter; + +} icalcompiter; + +icalcomponent* icalcomponent_new(icalcomponent_kind kind); +icalcomponent* icalcomponent_new_clone(icalcomponent* component); +icalcomponent* icalcomponent_new_from_string(char* str); +icalcomponent* icalcomponent_vanew(icalcomponent_kind kind, ...); +void icalcomponent_free(icalcomponent* component); + +char* icalcomponent_as_ical_string(icalcomponent* component); + +int icalcomponent_is_valid(icalcomponent* component); + +icalcomponent_kind icalcomponent_isa(icalcomponent* component); + +int icalcomponent_isa_component (void* component); + +/* + * Working with properties + */ + +void icalcomponent_add_property(icalcomponent* component, + icalproperty* property); + +void icalcomponent_remove_property(icalcomponent* component, + icalproperty* property); + +int icalcomponent_count_properties(icalcomponent* component, + icalproperty_kind kind); + +/* Iterate through the properties */ +icalproperty* icalcomponent_get_current_property(icalcomponent* component); + +icalproperty* icalcomponent_get_first_property(icalcomponent* component, + icalproperty_kind kind); +icalproperty* icalcomponent_get_next_property(icalcomponent* component, + icalproperty_kind kind); + + +/* + * Working with components + */ + + +/* Return the first VEVENT, VTODO or VJOURNAL sub-component of cop, or + comp if it is one of those types */ + +icalcomponent* icalcomponent_get_inner(icalcomponent* comp); + + +void icalcomponent_add_component(icalcomponent* parent, + icalcomponent* child); + +void icalcomponent_remove_component(icalcomponent* parent, + icalcomponent* child); + +int icalcomponent_count_components(icalcomponent* component, + icalcomponent_kind kind); + +/* Iteration Routines. There are two forms of iterators, internal and +external. The internal ones came first, and are almost completely +sufficient, but they fail badly when you want to construct a loop that +removes components from the container.*/ + + +/* Iterate through components */ +icalcomponent* icalcomponent_get_current_component (icalcomponent* component); + +icalcomponent* icalcomponent_get_first_component(icalcomponent* component, + icalcomponent_kind kind); +icalcomponent* icalcomponent_get_next_component(icalcomponent* component, + icalcomponent_kind kind); + +/* Using external iterators */ +icalcompiter icalcomponent_begin_component(icalcomponent* component, + icalcomponent_kind kind); +icalcompiter icalcomponent_end_component(icalcomponent* component, + icalcomponent_kind kind); +icalcomponent* icalcompiter_next(icalcompiter* i); +icalcomponent* icalcompiter_prior(icalcompiter* i); +icalcomponent* icalcompiter_deref(icalcompiter* i); + + + + +/* Working with embedded error properties */ + +int icalcomponent_count_errors(icalcomponent* component); + +/* Remove all X-LIC-ERROR properties*/ +void icalcomponent_strip_errors(icalcomponent* component); + +/* Convert some X-LIC-ERROR properties into RETURN-STATUS properties*/ +void icalcomponent_convert_errors(icalcomponent* component); + +/* Internal operations. They are private, and you should not be using them. */ +icalcomponent* icalcomponent_get_parent(icalcomponent* component); +void icalcomponent_set_parent(icalcomponent* component, + icalcomponent* parent); + +/* Kind conversion routiens */ + +icalcomponent_kind icalcomponent_string_to_kind(const char* string); + +const char* icalcomponent_kind_to_string(icalcomponent_kind kind); + + +/************* Derived class methods. **************************** + +If the code was in an OO language, the remaining routines would be +members of classes derived from icalcomponent. Don't call them on the +wrong component subtypes. */ + +/* For VCOMPONENT: Return a reference to the first VEVENT, VTODO or + VJOURNAL */ +icalcomponent* icalcomponent_get_first_real_component(icalcomponent *c); + +/* For VEVENT, VTODO, VJOURNAL and VTIMEZONE: report the start and end + times of an event in UTC */ +struct icaltime_span icalcomponent_get_span(icalcomponent* comp); + +/******************** Convienience routines **********************/ + +void icalcomponent_set_dtstart(icalcomponent* comp, struct icaltimetype v); +struct icaltimetype icalcomponent_get_dtstart(icalcomponent* comp); + +/* For the icalcomponent routines only, dtend and duration are tied + together. If you call the set routine for one and the other exists, + the routine will calculate the change to the other. That is, if + there is a DTEND and you call set_duration, the routine will modify + DTEND to be the sum of DTSTART and the duration. If you call a get + routine for one and the other exists, the routine will calculate + the return value. If you call a set routine and neither exists, the + routine will create the apcompriate comperty */ + + +struct icaltimetype icalcomponent_get_dtend(icalcomponent* comp); +void icalcomponent_set_dtend(icalcomponent* comp, struct icaltimetype v); + +void icalcomponent_set_duration(icalcomponent* comp, + struct icaldurationtype v); +struct icaldurationtype icalcomponent_get_duration(icalcomponent* comp); + +void icalcomponent_set_method(icalcomponent* comp, icalproperty_method method); +icalproperty_method icalcomponent_get_method(icalcomponent* comp); + +struct icaltimetype icalcomponent_get_dtstamp(icalcomponent* comp); +void icalcomponent_set_dtstamp(icalcomponent* comp, struct icaltimetype v); + + +void icalcomponent_set_summary(icalcomponent* comp, const char* v); +const char* icalcomponent_get_summary(icalcomponent* comp); + +void icalcomponent_set_comment(icalcomponent* comp, const char* v); +const char* icalcomponent_get_comment(icalcomponent* comp); + +void icalcomponent_set_uid(icalcomponent* comp, const char* v); +const char* icalcomponent_get_uid(icalcomponent* comp); + +void icalcomponent_set_recurrenceid(icalcomponent* comp, + struct icaltimetype v); +struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent* comp); + + +void icalcomponent_set_organizer(icalcomponent* comp, + struct icalorganizertype org); + struct icalorganizertype icalcomponent_get_organizer(icalcomponent* comp); + + +void icalcomponent_add_attendee(icalcomponent *comp, + struct icalattendeetype attendee); + +int icalcomponent_remove_attendee(icalcomponent *comp, char* cuid); + +/* Get the Nth attendee. Out of range indices return an attendee + with cuid == 0 */ +struct icalattendeetype icalcomponent_get_attendee(icalcomponent *comp, + int index); + + + + +/*************** Type Specific routines ***************/ + +icalcomponent* icalcomponent_new_vcalendar(); +icalcomponent* icalcomponent_new_vevent(); +icalcomponent* icalcomponent_new_vtodo(); +icalcomponent* icalcomponent_new_vjournal(); +icalcomponent* icalcomponent_new_valarm(); +icalcomponent* icalcomponent_new_vfreebusy(); +icalcomponent* icalcomponent_new_vtimezone(); +icalcomponent* icalcomponent_new_xstandard(); +icalcomponent* icalcomponent_new_xdaylight(); + + + +#endif /* !ICALCOMPONENT_H */ + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalparser.h + CREATOR: eric 20 April 1999 + + $Id$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalparser.h + +======================================================================*/ + + +#ifndef ICALPARSER_H +#define ICALPARSER_H + + +#include <stdio.h> /* For FILE* */ + +typedef void* icalparser; + + +/*********************************************************************** + * Line-oriented parsing. + * + * Create a new parser via icalparse_new_parser, then add ines one at + * a time with icalparse_add_line(). icalparser_add_line() will return + * non-zero when it has finished with a component. + ***********************************************************************/ + +typedef enum icalparser_state { + ICALPARSER_ERROR, + ICALPARSER_SUCCESS, + ICALPARSER_BEGIN_COMP, + ICALPARSER_END_COMP, + ICALPARSER_IN_PROGRESS +} icalparser_state; + +icalparser* icalparser_new(void); +icalcomponent* icalparser_add_line(icalparser* parser, char* str ); +icalcomponent* icalparser_clean(icalparser* parser); +icalparser_state icalparser_get_state(icalparser* parser); +void icalparser_free(icalparser* parser); + + +/*********************************************************************** + * Message oriented parsing. icalparser_parse takes a string that + * holds the text ( in RFC 2445 format ) and returns a pointer to an + * icalcomponent. The caller owns the memory. line_gen_func is a + * pointer to a function that returns one content line per invocation + **********************************************************************/ + +icalcomponent* icalparser_parse(icalparser *parser, + char* (*line_gen_func)(char *s, size_t size, void *d)); + +/* Set the data that icalparser_parse will give to the line_gen_func + as the parameter 'd'*/ +void icalparser_set_gen_data(icalparser* parser, void* data); + + +icalcomponent* icalparser_parse_string(const char* str); + + +/*********************************************************************** + * Parser support functions + ***********************************************************************/ + +/* Use the flex/bison parser to turn a string into a value type */ +icalvalue* icalparser_parse_value(icalvalue_kind kind, + const char* str, icalcomponent** errors); + +/* Given a line generator function, return a single iCal content line.*/ +char* icalparser_get_line(icalparser* parser, char* (*line_gen_func)(char *s, size_t size, void *d)); + +char* string_line_generator(char *out, size_t buf_size, void *d); + +#endif /* !ICALPARSE_H */ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalmemory.h + CREATOR: eric 30 June 1999 + + + $Id$ + $Locker$ + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The Initial Developer of the Original Code is Eric Busboom + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org +======================================================================*/ + +#ifndef ICALMEMORY_H +#define ICALMEMORY_H + +#include <sys/types.h> /* for size_t */ + + +/* Tmp buffers are managed by ical. References can be returned to the + caller, although the caller will not own the memory. */ + +void* icalmemory_tmp_buffer(size_t size); +char* icalmemory_tmp_copy(const char* str); + +/* Add an externally allocated buffer to the ring. */ +void icalmemory_add_tmp_buffer(void*); + + +/* Free all memory used in the ring */ +void icalmemory_free_ring(void); + +/* Non-tmp buffers must be freed. These are mostly wrappers around + * malloc, etc, but are used so the caller can change the memory + * allocators in a future version of the library */ + +void* icalmemory_new_buffer(size_t size); +void* icalmemory_resize_buffer(void* buf, size_t size); +void icalmemory_free_buffer(void* buf); + +/* icalmemory_append_string will copy the string 'string' to the + buffer 'buf' starting at position 'pos', reallocing 'buf' if it is + too small. 'buf_size' is the size of 'buf' and will be changed if + 'buf' is reallocated. 'pos' will point to the last byte of the new + string in 'buf', usually a '\0' */ + +/* THESE ROUTINES CAN NOT BE USED ON TMP BUFFERS. Only use them on + normally allocated memory, or on buffers created from + icalmemory_new_buffer, never with buffers created by + icalmemory_tmp_buffer. If icalmemory_append_string has to resize a + buffer on the ring, the ring will loose track of it an you will + have memory problems. */ + +void icalmemory_append_string(char** buf, char** pos, size_t* buf_size, + const char* string); + +/* icalmemory_append_char is similar, but is appends a character instead of a string */ +void icalmemory_append_char(char** buf, char** pos, size_t* buf_size, + char ch); + +/* A wrapper around strdup. Partly to trap calls to strdup, partly + because in -ansi, gcc on Red Hat claims that strudup is undeclared */ +char* icalmemory_strdup(const char *s); + +#endif /* !ICALMEMORY_H */ + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalerror.h + CREATOR: eric 09 May 1999 + + $Id$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalerror.h + +======================================================================*/ + + +#ifndef ICALERROR_H +#define ICALERROR_H + +#include <assert.h> +#include <stdio.h> /* For icalerror_warn() */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +/* This routine is called before any error is triggered. It is called + by icalerror_set_errno, so it does not appear in all of the macros + below */ +void icalerror_stop_here(void); + +typedef enum icalerrorenum { + + ICAL_BADARG_ERROR, + ICAL_NEWFAILED_ERROR, + ICAL_ALLOCATION_ERROR, + ICAL_MALFORMEDDATA_ERROR, + ICAL_PARSE_ERROR, + ICAL_INTERNAL_ERROR, /* Like assert --internal consist. prob */ + ICAL_FILE_ERROR, + ICAL_USAGE_ERROR, + ICAL_UNIMPLEMENTED_ERROR, + ICAL_UNKNOWN_ERROR, /* Used for problems in input to icalerror_strerror()*/ + ICAL_NO_ERROR + +} icalerrorenum; + +/* The libical error enumeration, like errno*/ +extern icalerrorenum icalerrno; + +/* If true, libicl aborts after a call to icalerror_set_error*/ +extern int icalerror_errors_are_fatal; + +/* Warning messages */ + +#ifdef __GNUC__ca +#define icalerror_warn(message) {fprintf(stderr,"%s(), %s:%d: %s\n",__FUNCTION__,__FILE__,__LINE__,message);} +#else /* __GNU_C__ */ +#define icalerror_warn(message) {fprintf(stderr,"%s:%d: %s\n",__FILE__,__LINE__,message);} +#endif /* __GNU_C__ */ + + +void icalerror_clear_errno(void); +void _icalerror_set_errno(icalerrorenum); + +/* Make an individual error fatal or non-fatal. */ +typedef enum icalerrorstate { + ICAL_ERROR_FATAL, /* Not fata */ + ICAL_ERROR_NONFATAL, /* Fatal */ + ICAL_ERROR_DEFAULT, /* Use the value of icalerror_errors_are_fatal*/ + ICAL_ERROR_UNKNOWN /* Asked state for an unknown error type */ +} icalerrorstate ; + +char* icalerror_strerror(icalerrorenum e); +char* icalerror_perror(); +void icalerror_set_error_state( icalerrorenum error, icalerrorstate); +icalerrorstate icalerror_get_error_state( icalerrorenum error); + + +#define icalerror_set_errno(x) \ +icalerrno = x; \ +if(icalerror_get_error_state(x)==ICAL_ERROR_FATAL || \ + (icalerror_get_error_state(x)==ICAL_ERROR_DEFAULT && \ + icalerror_errors_are_fatal == 1 )){ \ + icalerror_warn(icalerror_strerror(x)); \ + assert(0); \ +} + + +#ifdef ICAL_ERRORS_ARE_FATAL +#undef NDEBUG +#endif + +#define icalerror_check_value_type(value,type); +#define icalerror_check_property_type(value,type); +#define icalerror_check_parameter_type(value,type); +#define icalerror_check_component_type(value,type); + +/* Assert with a message */ +#ifdef ICAL_ERRORS_ARE_FATAL + +#ifdef __GNUC__ +#define icalerror_assert(test,message) if(!(test)){fprintf(stderr,"%s(), %s:%d: %s\n",__FUNCTION__,__FILE__,__LINE__,message);icalerror_stop_here(); abort();} +#else /*__GNUC__*/ +#define icalerror_assert(test,message) if(!(test)){fprintf(stderr,"%s:%d: %s\n",__FILE__,__LINE__,message);icalerror_stop_here(); abort();} +#endif /*__GNUC__*/ + +#else /* ICAL_ERRORS_ARE_FATAL */ +#define icalerror_assert(test,message) +#endif /* ICAL_ERRORS_ARE_FATAL */ + +/* Check & abort if check fails */ +#define icalerror_check_arg(test,arg) if(!(test)) { icalerror_set_errno(ICAL_BADARG_ERROR); } + +/* Check & return void if check fails*/ +#define icalerror_check_arg_rv(test,arg) if(!(test)) {icalerror_set_errno(ICAL_BADARG_ERROR); return; } + +/* Check & return 0 if check fails*/ +#define icalerror_check_arg_rz(test,arg) if(!(test)) { icalerror_set_errno(ICAL_BADARG_ERROR); return 0;} + +/* Check & return an error if check fails*/ +#define icalerror_check_arg_re(test,arg,error) if(!(test)) { icalerror_stop_here(); assert(0); return error;} + +/* Check & return something*/ +#define icalerror_check_arg_rx(test,arg,x) if(!(test)) { icalerror_set_errno(ICAL_BADARG_ERROR); return x;} + + + +/* String interfaces to set an error to NONFATAL and restore it to its + original value */ + +icalerrorstate icalerror_supress(const char* error); +void icalerror_restore(const char* error, icalerrorstate es); + + +#endif /* !ICALERROR_H */ + + + +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalrestriction.h + CREATOR: eric 24 April 1999 + + $Id$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalrestriction.h + + Contributions from: + Graham Davison (g.m.davison@computer.org) + + +======================================================================*/ + + +#ifndef ICALRESTRICTION_H +#define ICALRESTRICTION_H + +/* These must stay in this order for icalrestriction_compare to work */ +typedef enum icalrestriction_kind { + ICAL_RESTRICTION_NONE=0, /* 0 */ + ICAL_RESTRICTION_ZERO, /* 1 */ + ICAL_RESTRICTION_ONE, /* 2 */ + ICAL_RESTRICTION_ZEROPLUS, /* 3 */ + ICAL_RESTRICTION_ONEPLUS, /* 4 */ + ICAL_RESTRICTION_ZEROORONE, /* 5 */ + ICAL_RESTRICTION_ONEEXCLUSIVE, /* 6 */ + ICAL_RESTRICTION_ONEMUTUAL, /* 7 */ + ICAL_RESTRICTION_UNKNOWN /* 8 */ +} icalrestriction_kind; + +int +icalrestriction_compare(icalrestriction_kind restr, int count); + + +int +icalrestriction_is_parameter_allowed(icalproperty_kind property, + icalparameter_kind parameter); + +int icalrestriction_check(icalcomponent* comp); + + +#endif /* !ICALRESTRICTION_H */ + + + +/* -*- Mode: C -*- + ====================================================================== + FILE: sspm.h Mime Parser + CREATOR: eric 25 June 2000 + + $Id$ + $Locker$ + + The contents of this file are subject to the Mozilla Public License + Version 1.0 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and + limitations under the License. + + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The Initial Developer of the Original Code is Eric Busboom + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + ======================================================================*/ + +#ifndef SSPM_H +#define SSPM_H + +enum sspm_major_type { + SSPM_NO_MAJOR_TYPE, + SSPM_TEXT_MAJOR_TYPE, + SSPM_IMAGE_MAJOR_TYPE, + SSPM_AUDIO_MAJOR_TYPE, + SSPM_VIDEO_MAJOR_TYPE, + SSPM_APPLICATION_MAJOR_TYPE, + SSPM_MULTIPART_MAJOR_TYPE, + SSPM_MESSAGE_MAJOR_TYPE, + SSPM_UNKNOWN_MAJOR_TYPE +}; + +enum sspm_minor_type { + SSPM_NO_MINOR_TYPE, + SSPM_ANY_MINOR_TYPE, + SSPM_PLAIN_MINOR_TYPE, + SSPM_RFC822_MINOR_TYPE, + SSPM_DIGEST_MINOR_TYPE, + SSPM_CALENDAR_MINOR_TYPE, + SSPM_MIXED_MINOR_TYPE, + SSPM_RELATED_MINOR_TYPE, + SSPM_ALTERNATIVE_MINOR_TYPE, + SSPM_PARALLEL_MINOR_TYPE, + SSPM_UNKNOWN_MINOR_TYPE +}; + +enum sspm_encoding { + SSPM_NO_ENCODING, + SSPM_QUOTED_PRINTABLE_ENCODING, + SSPM_8BIT_ENCODING, + SSPM_7BIT_ENCODING, + SSPM_BINARY_ENCODING, + SSPM_BASE64_ENCODING, + SSPM_UNKNOWN_ENCODING +}; + +enum sspm_error{ + SSPM_NO_ERROR, + SSPM_UNEXPECTED_BOUNDARY_ERROR, + SSPM_WRONG_BOUNDARY_ERROR, + SSPM_NO_BOUNDARY_ERROR, + SSPM_NO_HEADER_ERROR, + SSPM_MALFORMED_HEADER_ERROR +}; + + +struct sspm_header +{ + int def; + char* boundary; + enum sspm_major_type major; + enum sspm_minor_type minor; + char *minor_text; + char ** content_type_params; + char* charset; + enum sspm_encoding encoding; + char* filename; + char* content_id; + enum sspm_error error; + char* error_text; +}; + +struct sspm_part { + struct sspm_header header; + int level; + size_t data_size; + void *data; +}; + +struct sspm_action_map { + enum sspm_major_type major; + enum sspm_minor_type minor; + void* (*new_part)(); + void (*add_line)(void *part, struct sspm_header *header, + char* line, size_t size); + void* (*end_part)(void* part); + void (*free_part)(void *part); +}; + +char* sspm_major_type_string(enum sspm_major_type type); +char* sspm_minor_type_string(enum sspm_minor_type type); +char* sspm_encoding_string(enum sspm_encoding type); + +int sspm_parse_mime(struct sspm_part *parts, + size_t max_parts, + struct sspm_action_map *actions, + char* (*get_string)(char *s, size_t size, void* data), + void *get_string_data, + struct sspm_header *first_header + ); + +void sspm_free_parts(struct sspm_part *parts, size_t max_parts); + +char *decode_quoted_printable(char *dest, + char *src, + size_t *size); +char *decode_base64(char *dest, + char *src, + size_t *size); + + +int sspm_write_mime(struct sspm_part *parts,size_t num_parts, + char **output_string, char* header); + +#endif /*SSPM_H*/ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalmime.h + CREATOR: eric 26 July 2000 + + + $Id$ + $Locker$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + +======================================================================*/ + +#ifndef ICALMIME_H +#define ICALMIME_H + + +icalcomponent* icalmime_parse( char* (*line_gen_func)(char *s, size_t size, + void *d), + void *data); + +/* The inverse of icalmime_parse, not implemented yet. Use sspm.h directly. */ +char* icalmime_as_mime_string(char* component); + + + +#endif /* !ICALMIME_H */ + + + +/* -*- Mode: C -*- + ====================================================================== + FILE: icallangbind.h + CREATOR: eric 25 jan 2001 + + DESCRIPTION: + + $Id$ + $Locker$ + + (C) COPYRIGHT 1999 Eric Busboom + http://www.softwarestudio.org + + This package is free software and is provided "as is" without + express or implied warranty. It may be used, redistributed and/or + modified under the same terms as perl itself. ( Either the Artistic + License or the GPL. ) + + ======================================================================*/ + +#ifndef __ICALLANGBIND_H__ +#define __ICALLANGBIND_H__ + +int* icallangbind_new_array(int size); +void icallangbind_free_array(int* array); +int icallangbind_access_array(int* array, int index); +icalproperty* icallangbind_get_property(icalcomponent *c, int n, const char* prop); +const char* icallangbind_get_property_val(icalproperty* p); +const char* icallangbind_get_parameter(icalproperty *p, const char* parameter); +icalcomponent* icallangbind_get_component(icalcomponent *c, const char* comp); + +icalproperty* icallangbind_get_first_property(icalcomponent *c, + const char* prop); + +icalproperty* icallangbind_get_next_property(icalcomponent *c, + const char* prop); + +icalcomponent* icallangbind_get_first_component(icalcomponent *c, + const char* comp); + +icalcomponent* icallangbind_get_next_component(icalcomponent *c, + const char* comp); + + +const char* icallangbind_property_eval_string(icalproperty* prop, char* sep); + + +int icallangbind_string_to_open_flag(const char* str); +#endif /*__ICALLANGBIND_H__*/ diff --git a/src/plugins/vcalendar/libical/libical/icalderivedparameter.c b/src/plugins/vcalendar/libical/libical/icalderivedparameter.c @@ -0,0 +1,1251 @@ +/* -*- Mode: C -*- + ====================================================================== + FILE: icalderivedparameters.{c,h} + CREATOR: eric 09 May 1999 + + $Id$ + $Locker$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalderivedparameters.{c,h} + + Contributions from: + Graham Davison (g.m.davison@computer.org) + + ======================================================================*/ +/*#line 29 "icalparameter.c.in"*/ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + + +#include "icalparameter.h" +#include "icalparameterimpl.h" + +#include "icalproperty.h" +#include "icalerror.h" +#include "icalmemory.h" + +#include <stdlib.h> /* for malloc() */ +#include <errno.h> +#include <string.h> /* for memset() */ + +icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value); + +struct icalparameter_impl* icalparameter_new_impl(icalparameter_kind kind); + +/* This map associates each of the parameters with the string + representation of the paramter's name */ +struct icalparameter_kind_map { + icalparameter_kind kind; + char *name; + +}; + +static struct icalparameter_kind_map parameter_map[]; + + +const char* icalparameter_kind_to_string(icalparameter_kind kind) +{ + int i; + + for (i=0; parameter_map[i].kind != ICAL_NO_PARAMETER; i++) { + if (parameter_map[i].kind == kind) { + return parameter_map[i].name; + } + } + + return 0; + +} + +icalparameter_kind icalparameter_string_to_kind(const char* string) +{ + int i; + + if (string ==0 ) { + return ICAL_NO_PARAMETER; + } + + for (i=0; parameter_map[i].kind != ICAL_NO_PARAMETER; i++) { + + if (strcmp(parameter_map[i].name, string) == 0) { + return parameter_map[i].kind; + } + } + + if(strncmp(string,"X-",2)==0){ + return ICAL_X_PARAMETER; + } + + return ICAL_NO_PARAMETER; +} + +/* This map associates the enumerations for the VALUE parameter with + the kinds of VALUEs. */ + +struct icalparameter_value_kind_map { + icalparameter_value value; + icalvalue_kind kind; +}; + +static struct icalparameter_value_kind_map value_kind_map[]; + + +icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value) +{ + int i; + + for (i=0; value_kind_map[i].kind != ICAL_NO_VALUE; i++) { + + if (value_kind_map[i].value == value) { + return value_kind_map[i].kind; + } + } + + return ICAL_NO_VALUE; +} + + +/* This map associates the parameter enumerations with a specific parameter and the string representation of the enumeration */ + +struct icalparameter_map { + icalparameter_kind kind; + int enumeration; + const char* str; +}; + + +static struct icalparameter_map icalparameter_map[]; + + +const char* icalparameter_enum_to_string(int e) +{ + int i; + + icalerror_check_arg_rz(e >= ICALPARAMETER_FIRST_ENUM,"e"); + icalerror_check_arg_rz(e <= ICALPARAMETER_LAST_ENUM,"e"); + + for (i=0; icalparameter_map[i].kind != ICAL_NO_PARAMETER; i++){ + if(e == icalparameter_map[i].enumeration){ + return icalparameter_map[i].str; + } + } + + return 0; +} + +int icalparameter_string_to_enum(const char* str) +{ + int i; + + icalerror_check_arg_rz(str != 0,"str"); + + for (i=0; icalparameter_map[i].kind != ICAL_NO_PARAMETER; i++){ + if(strcmp(str,icalparameter_map[i].str) == 0) { + return icalparameter_map[i].enumeration; + } + } + + return 0; +} + +icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind,const char* val) +{ + + struct icalparameter_impl* param=0; + int found_kind = 0; + int i; + + icalerror_check_arg_rz((val!=0),"val"); + + /* Search through the parameter map to find a matching kind */ + + param = icalparameter_new_impl(kind); + + for (i=0; icalparameter_map[i].kind != ICAL_NO_PARAMETER; i++){ + if(kind == icalparameter_map[i].kind) { + char *raw_val = strdup(val); + char *value = raw_val; + found_kind = 1; + if(value[0] == '\"' && value[strlen(value) - 1] == '\"') { + value++; + value[strlen(value) - 1] = '\0'; + } + if(strcmp(value,icalparameter_map[i].str) == 0) { + free(raw_val); + param->data = (int)icalparameter_map[i].enumeration; + return param; + } + free(raw_val); + } + } + + if(found_kind == 1){ + /* The kind was in the parameter map, but the string did not + match, so assume that it is an alternate value, like an + X-value.*/ + + icalparameter_set_xvalue(param, val); + + } else { + + /* If the kind was not found, then it must be a string type */ + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(val); + + } + + return param; +} + + + + +/* Everything below this line is machine generated. Do not edit. */ +static struct icalparameter_value_kind_map value_kind_map[] = { + {ICAL_VALUE_BINARY,ICAL_BINARY_VALUE}, + {ICAL_VALUE_BOOLEAN,ICAL_BOOLEAN_VALUE}, + {ICAL_VALUE_DATE,ICAL_DATE_VALUE}, + {ICAL_VALUE_DURATION,ICAL_DURATION_VALUE}, + {ICAL_VALUE_FLOAT,ICAL_FLOAT_VALUE}, + {ICAL_VALUE_INTEGER,ICAL_INTEGER_VALUE}, + {ICAL_VALUE_PERIOD,ICAL_PERIOD_VALUE}, + {ICAL_VALUE_RECUR,ICAL_RECUR_VALUE}, + {ICAL_VALUE_TEXT,ICAL_TEXT_VALUE}, + {ICAL_VALUE_TIME,ICAL_TIME_VALUE}, + {ICAL_VALUE_URI,ICAL_URI_VALUE}, + {ICAL_VALUE_DATETIME,ICAL_DATETIME_VALUE}, + {ICAL_VALUE_UTCOFFSET,ICAL_UTCOFFSET_VALUE}, + {ICAL_VALUE_CALADDRESS,ICAL_CALADDRESS_VALUE}, + {ICAL_VALUE_X,ICAL_X_VALUE}, + {ICAL_VALUE_NONE,ICAL_NO_VALUE} +}; + +static struct icalparameter_kind_map parameter_map[] = { + {ICAL_ALTREP_PARAMETER,"ALTREP"}, + {ICAL_CHARSET_PARAMETER,"CHARSET"}, + {ICAL_CN_PARAMETER,"CN"}, + {ICAL_CUTYPE_PARAMETER,"CUTYPE"}, + {ICAL_DELEGATEDFROM_PARAMETER,"DELEGATED-FROM"}, + {ICAL_DELEGATEDTO_PARAMETER,"DELEGATED-TO"}, + {ICAL_DIR_PARAMETER,"DIR"}, + {ICAL_ENCODING_PARAMETER,"ENCODING"}, + {ICAL_FBTYPE_PARAMETER,"FBTYPE"}, + {ICAL_FMTTYPE_PARAMETER,"FMTTYPE"}, + {ICAL_LANGUAGE_PARAMETER,"LANGUAGE"}, + {ICAL_MEMBER_PARAMETER,"MEMBER"}, + {ICAL_PARTSTAT_PARAMETER,"PARTSTAT"}, + {ICAL_RANGE_PARAMETER,"RANGE"}, + {ICAL_RELATED_PARAMETER,"RELATED"}, + {ICAL_RELTYPE_PARAMETER,"RELTYPE"}, + {ICAL_ROLE_PARAMETER,"ROLE"}, + {ICAL_RSVP_PARAMETER,"RSVP"}, + {ICAL_SENTBY_PARAMETER,"SENT-BY"}, + {ICAL_TZID_PARAMETER,"TZID"}, + {ICAL_VALUE_PARAMETER,"VALUE"}, + {ICAL_X_PARAMETER,"X"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,"X-LIC-COMPARETYPE"}, + {ICAL_XLICERRORTYPE_PARAMETER,"X-LIC-ERRORTYPE"}, + { ICAL_NO_PARAMETER, ""} +}; + +static struct icalparameter_map icalparameter_map[] = { +{ICAL_ANY_PARAMETER,0,""}, + {ICAL_CUTYPE_PARAMETER,ICAL_CUTYPE_INDIVIDUAL,"INDIVIDUAL"}, + {ICAL_CUTYPE_PARAMETER,ICAL_CUTYPE_GROUP,"GROUP"}, + {ICAL_CUTYPE_PARAMETER,ICAL_CUTYPE_RESOURCE,"RESOURCE"}, + {ICAL_CUTYPE_PARAMETER,ICAL_CUTYPE_ROOM,"ROOM"}, + {ICAL_CUTYPE_PARAMETER,ICAL_CUTYPE_UNKNOWN,"UNKNOWN"}, + {ICAL_ENCODING_PARAMETER,ICAL_ENCODING_8BIT,"8BIT"}, + {ICAL_ENCODING_PARAMETER,ICAL_ENCODING_BASE64,"BASE64"}, + {ICAL_FBTYPE_PARAMETER,ICAL_FBTYPE_FREE,"FREE"}, + {ICAL_FBTYPE_PARAMETER,ICAL_FBTYPE_BUSY,"BUSY"}, + {ICAL_FBTYPE_PARAMETER,ICAL_FBTYPE_BUSYUNAVAILABLE,"BUSYUNAVAILABLE"}, + {ICAL_FBTYPE_PARAMETER,ICAL_FBTYPE_BUSYTENTATIVE,"BUSYTENTATIVE"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_NEEDSACTION,"NEEDS-ACTION"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_ACCEPTED,"ACCEPTED"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_DECLINED,"DECLINED"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_TENTATIVE,"TENTATIVE"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_DELEGATED,"DELEGATED"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_COMPLETED,"COMPLETED"}, + {ICAL_PARTSTAT_PARAMETER,ICAL_PARTSTAT_INPROCESS,"INPROCESS"}, + {ICAL_RANGE_PARAMETER,ICAL_RANGE_THISANDPRIOR,"THISANDPRIOR"}, + {ICAL_RANGE_PARAMETER,ICAL_RANGE_THISANDFUTURE,"THISANDFUTURE"}, + {ICAL_RELATED_PARAMETER,ICAL_RELATED_START,"START"}, + {ICAL_RELATED_PARAMETER,ICAL_RELATED_END ,"END "}, + {ICAL_RELTYPE_PARAMETER,ICAL_RELTYPE_PARENT,"PARENT"}, + {ICAL_RELTYPE_PARAMETER,ICAL_RELTYPE_CHILD,"CHILD"}, + {ICAL_RELTYPE_PARAMETER,ICAL_RELTYPE_SIBLING,"SIBLING"}, + {ICAL_ROLE_PARAMETER,ICAL_ROLE_CHAIR,"CHAIR"}, + {ICAL_ROLE_PARAMETER,ICAL_ROLE_REQPARTICIPANT,"REQ-PARTICIPANT"}, + {ICAL_ROLE_PARAMETER,ICAL_ROLE_OPTPARTICIPANT,"OPT-PARTICIPANT"}, + {ICAL_ROLE_PARAMETER,ICAL_ROLE_NONPARTICIPANT,"NON-PARTICIPANT"}, + {ICAL_RSVP_PARAMETER,ICAL_RSVP_TRUE,"TRUE"}, + {ICAL_RSVP_PARAMETER,ICAL_RSVP_FALSE,"FALSE"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_BINARY,"BINARY"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_BOOLEAN,"BOOLEAN"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_DATE,"DATE"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_DURATION,"DURATION"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_FLOAT,"FLOAT"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_INTEGER,"INTEGER"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_PERIOD,"PERIOD"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_RECUR,"RECUR"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_TEXT,"TEXT"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_TIME,"TIME"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_URI,"URI"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_ERROR,"ERROR"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_DATETIME,"DATE-TIME"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_UTCOFFSET,"UTC-OFFSET"}, + {ICAL_VALUE_PARAMETER,ICAL_VALUE_CALADDRESS,"CAL-ADDRESS"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_EQUAL,"EQUAL"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_NOTEQUAL,"NOTEQUAL"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_LESS,"LESS"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_GREATER,"GREATER"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_LESSEQUAL,"LESSEQUAL"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_GREATEREQUAL,"GREATEREQUAL"}, + {ICAL_XLICCOMPARETYPE_PARAMETER,ICAL_XLICCOMPARETYPE_REGEX,"REGEX"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_COMPONENTPARSEERROR,"COMPONENT-PARSE-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_PROPERTYPARSEERROR,"PROPERTY-PARSE-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR,"PARAMETER-NAME-PARSE-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR,"PARAMETER-VALUE-PARSE-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_VALUEPARSEERROR,"VALUE-PARSE-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_INVALIDITIP,"INVALID-ITIP"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR,"UNKNOWN-VCAL-PROP-ERROR"}, + {ICAL_XLICERRORTYPE_PARAMETER,ICAL_XLICERRORTYPE_MIMEPARSEERROR,"MIME-PARSE-ERROR"}, + {ICAL_NO_PARAMETER,0,""}}; + +/* PARTSTAT */ +icalparameter* icalparameter_new_partstat(icalparameter_partstat v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_PARTSTAT_X,"v"); + icalerror_check_arg_rz(v < ICAL_PARTSTAT_NONE,"v"); + impl = icalparameter_new_impl(ICAL_PARTSTAT_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_partstat((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_partstat icalparameter_get_partstat(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_PARTSTAT_X; + } + +return (icalparameter_partstat)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_partstat(icalparameter* param, icalparameter_partstat v) +{ + icalerror_check_arg_rv(v >= ICAL_PARTSTAT_X,"v"); + icalerror_check_arg_rv(v < ICAL_PARTSTAT_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* RSVP */ +icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_RSVP_X,"v"); + icalerror_check_arg_rz(v < ICAL_RSVP_NONE,"v"); + impl = icalparameter_new_impl(ICAL_RSVP_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_rsvp((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_rsvp icalparameter_get_rsvp(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + +return (icalparameter_rsvp)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_rsvp(icalparameter* param, icalparameter_rsvp v) +{ + icalerror_check_arg_rv(v >= ICAL_RSVP_X,"v"); + icalerror_check_arg_rv(v < ICAL_RSVP_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* TZID */ +icalparameter* icalparameter_new_tzid(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_TZID_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_tzid((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_tzid(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_tzid(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* X */ +icalparameter* icalparameter_new_x(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_X_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_x((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_x(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_x(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* RELTYPE */ +icalparameter* icalparameter_new_reltype(icalparameter_reltype v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_RELTYPE_X,"v"); + icalerror_check_arg_rz(v < ICAL_RELTYPE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_RELTYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_reltype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_reltype icalparameter_get_reltype(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_RELTYPE_X; + } + +return (icalparameter_reltype)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_reltype(icalparameter* param, icalparameter_reltype v) +{ + icalerror_check_arg_rv(v >= ICAL_RELTYPE_X,"v"); + icalerror_check_arg_rv(v < ICAL_RELTYPE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* RELATED */ +icalparameter* icalparameter_new_related(icalparameter_related v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_RELATED_X,"v"); + icalerror_check_arg_rz(v < ICAL_RELATED_NONE,"v"); + impl = icalparameter_new_impl(ICAL_RELATED_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_related((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_related icalparameter_get_related(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + +return (icalparameter_related)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_related(icalparameter* param, icalparameter_related v) +{ + icalerror_check_arg_rv(v >= ICAL_RELATED_X,"v"); + icalerror_check_arg_rv(v < ICAL_RELATED_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* CHARSET */ +icalparameter* icalparameter_new_charset( const char * v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_CHARSET_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_charset((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + + const char * icalparameter_get_charset(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return ( const char *)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_charset(icalparameter* param, const char * v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* FMTTYPE */ +icalparameter* icalparameter_new_fmttype(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_FMTTYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_fmttype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_fmttype(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_fmttype(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* DIR */ +icalparameter* icalparameter_new_dir(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_DIR_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_dir((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_dir(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_dir(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* MEMBER */ +icalparameter* icalparameter_new_member(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_MEMBER_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_member((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_member(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_member(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* DELEGATED-TO */ +icalparameter* icalparameter_new_delegatedto(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_DELEGATEDTO_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_delegatedto((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_delegatedto(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_delegatedto(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* FBTYPE */ +icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_FBTYPE_X,"v"); + icalerror_check_arg_rz(v < ICAL_FBTYPE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_FBTYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_fbtype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_fbtype icalparameter_get_fbtype(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_FBTYPE_X; + } + +return (icalparameter_fbtype)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_fbtype(icalparameter* param, icalparameter_fbtype v) +{ + icalerror_check_arg_rv(v >= ICAL_FBTYPE_X,"v"); + icalerror_check_arg_rv(v < ICAL_FBTYPE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* LANGUAGE */ +icalparameter* icalparameter_new_language(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_LANGUAGE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_language((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_language(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_language(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* DELEGATED-FROM */ +icalparameter* icalparameter_new_delegatedfrom(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_DELEGATEDFROM_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_delegatedfrom((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_delegatedfrom(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_delegatedfrom(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* RANGE */ +icalparameter* icalparameter_new_range(icalparameter_range v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_RANGE_X,"v"); + icalerror_check_arg_rz(v < ICAL_RANGE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_RANGE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_range((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_range icalparameter_get_range(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + +return (icalparameter_range)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_range(icalparameter* param, icalparameter_range v) +{ + icalerror_check_arg_rv(v >= ICAL_RANGE_X,"v"); + icalerror_check_arg_rv(v < ICAL_RANGE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* X-LIC-ERRORTYPE */ +icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_XLICERRORTYPE_X,"v"); + icalerror_check_arg_rz(v < ICAL_XLICERRORTYPE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_XLICERRORTYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_xlicerrortype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_xlicerrortype icalparameter_get_xlicerrortype(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + +return (icalparameter_xlicerrortype)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_xlicerrortype(icalparameter* param, icalparameter_xlicerrortype v) +{ + icalerror_check_arg_rv(v >= ICAL_XLICERRORTYPE_X,"v"); + icalerror_check_arg_rv(v < ICAL_XLICERRORTYPE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* CN */ +icalparameter* icalparameter_new_cn(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_CN_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_cn((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_cn(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_cn(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* VALUE */ +icalparameter* icalparameter_new_value(icalparameter_value v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_VALUE_X,"v"); + icalerror_check_arg_rz(v < ICAL_VALUE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_VALUE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_value((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_value icalparameter_get_value(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_VALUE_X; + } + +return (icalparameter_value)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_value(icalparameter* param, icalparameter_value v) +{ + icalerror_check_arg_rv(v >= ICAL_VALUE_X,"v"); + icalerror_check_arg_rv(v < ICAL_VALUE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* ROLE */ +icalparameter* icalparameter_new_role(icalparameter_role v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_ROLE_X,"v"); + icalerror_check_arg_rz(v < ICAL_ROLE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_ROLE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_role((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_role icalparameter_get_role(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_ROLE_X; + } + +return (icalparameter_role)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_role(icalparameter* param, icalparameter_role v) +{ + icalerror_check_arg_rv(v >= ICAL_ROLE_X,"v"); + icalerror_check_arg_rv(v < ICAL_ROLE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* SENT-BY */ +icalparameter* icalparameter_new_sentby(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_SENTBY_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_sentby((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_sentby(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_sentby(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* ALTREP */ +icalparameter* icalparameter_new_altrep(const char* v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalparameter_new_impl(ICAL_ALTREP_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_altrep((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +const char* icalparameter_get_altrep(icalparameter* param) +{ + icalerror_clear_errno(); + icalerror_check_arg_rz( (param!=0), "param"); + return (const char*)((struct icalparameter_impl*)param)->string; +} + +void icalparameter_set_altrep(icalparameter* param, const char* v) +{ + icalerror_check_arg_rv( (v!=0),"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->string = icalmemory_strdup(v); +} + +/* X-LIC-COMPARETYPE */ +icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_XLICCOMPARETYPE_X,"v"); + icalerror_check_arg_rz(v < ICAL_XLICCOMPARETYPE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_XLICCOMPARETYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_xliccomparetype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_xliccomparetype icalparameter_get_xliccomparetype(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + +return (icalparameter_xliccomparetype)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_xliccomparetype(icalparameter* param, icalparameter_xliccomparetype v) +{ + icalerror_check_arg_rv(v >= ICAL_XLICCOMPARETYPE_X,"v"); + icalerror_check_arg_rv(v < ICAL_XLICCOMPARETYPE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* ENCODING */ +icalparameter* icalparameter_new_encoding(icalparameter_encoding v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_ENCODING_X,"v"); + icalerror_check_arg_rz(v < ICAL_ENCODING_NONE,"v"); + impl = icalparameter_new_impl(ICAL_ENCODING_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_encoding((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_encoding icalparameter_get_encoding(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_ENCODING_X; + } + +return (icalparameter_encoding)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_encoding(icalparameter* param, icalparameter_encoding v) +{ + icalerror_check_arg_rv(v >= ICAL_ENCODING_X,"v"); + icalerror_check_arg_rv(v < ICAL_ENCODING_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + +/* CUTYPE */ +icalparameter* icalparameter_new_cutype(icalparameter_cutype v) +{ + struct icalparameter_impl *impl; + icalerror_clear_errno(); + icalerror_check_arg_rz(v >= ICAL_CUTYPE_X,"v"); + icalerror_check_arg_rz(v < ICAL_CUTYPE_NONE,"v"); + impl = icalparameter_new_impl(ICAL_CUTYPE_PARAMETER); + if (impl == 0) { + return 0; + } + + icalparameter_set_cutype((icalparameter*) impl,v); + if (icalerrno != ICAL_NO_ERROR) { + icalparameter_free((icalparameter*) impl); + return 0; + } + + return (icalparameter*) impl; +} + +icalparameter_cutype icalparameter_get_cutype(icalparameter* param) +{ + icalerror_clear_errno(); +icalerror_check_arg( (param!=0), "param"); + if ( ((struct icalparameter_impl*)param)->string != 0){ + return ICAL_CUTYPE_X; + } + +return (icalparameter_cutype)((struct icalparameter_impl*)param)->data; +} + +void icalparameter_set_cutype(icalparameter* param, icalparameter_cutype v) +{ + icalerror_check_arg_rv(v >= ICAL_CUTYPE_X,"v"); + icalerror_check_arg_rv(v < ICAL_CUTYPE_NONE,"v"); + icalerror_check_arg_rv( (param!=0), "param"); + icalerror_clear_errno(); + + ((struct icalparameter_impl*)param)->data = (int)v; +} + diff --git a/src/plugins/vcalendar/libical/libical/icalderivedparameter.h b/src/plugins/vcalendar/libical/libical/icalderivedparameter.h @@ -0,0 +1,314 @@ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalparam.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalparam.h + + ======================================================================*/ + +#ifndef ICALDERIVEDPARAMETER_H +#define ICALDERIVEDPARAMETER_H + + +typedef void icalparameter; + +const char* icalparameter_enum_to_string(int e); +int icalparameter_string_to_enum(const char* str); + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalparameter_kind { + ICAL_ANY_PARAMETER = 0, + ICAL_ALTREP_PARAMETER, + ICAL_CHARSET_PARAMETER, + ICAL_CN_PARAMETER, + ICAL_CUTYPE_PARAMETER, + ICAL_DELEGATEDFROM_PARAMETER, + ICAL_DELEGATEDTO_PARAMETER, + ICAL_DIR_PARAMETER, + ICAL_ENCODING_PARAMETER, + ICAL_FBTYPE_PARAMETER, + ICAL_FMTTYPE_PARAMETER, + ICAL_LANGUAGE_PARAMETER, + ICAL_MEMBER_PARAMETER, + ICAL_PARTSTAT_PARAMETER, + ICAL_RANGE_PARAMETER, + ICAL_RELATED_PARAMETER, + ICAL_RELTYPE_PARAMETER, + ICAL_ROLE_PARAMETER, + ICAL_RSVP_PARAMETER, + ICAL_SENTBY_PARAMETER, + ICAL_TZID_PARAMETER, + ICAL_VALUE_PARAMETER, + ICAL_X_PARAMETER, + ICAL_XLICCOMPARETYPE_PARAMETER, + ICAL_XLICERRORTYPE_PARAMETER, + ICAL_NO_PARAMETER +} icalparameter_kind; + +#define ICALPARAMETER_FIRST_ENUM 20000 + +typedef enum icalparameter_cutype { + ICAL_CUTYPE_X = 20000, + ICAL_CUTYPE_INDIVIDUAL = 20001, + ICAL_CUTYPE_GROUP = 20002, + ICAL_CUTYPE_RESOURCE = 20003, + ICAL_CUTYPE_ROOM = 20004, + ICAL_CUTYPE_UNKNOWN = 20005, + ICAL_CUTYPE_NONE = 20006 +} icalparameter_cutype; + +typedef enum icalparameter_encoding { + ICAL_ENCODING_X = 20007, + ICAL_ENCODING_8BIT = 20008, + ICAL_ENCODING_BASE64 = 20009, + ICAL_ENCODING_NONE = 20010 +} icalparameter_encoding; + +typedef enum icalparameter_fbtype { + ICAL_FBTYPE_X = 20011, + ICAL_FBTYPE_FREE = 20012, + ICAL_FBTYPE_BUSY = 20013, + ICAL_FBTYPE_BUSYUNAVAILABLE = 20014, + ICAL_FBTYPE_BUSYTENTATIVE = 20015, + ICAL_FBTYPE_NONE = 20016 +} icalparameter_fbtype; + +typedef enum icalparameter_partstat { + ICAL_PARTSTAT_X = 20017, + ICAL_PARTSTAT_NEEDSACTION = 20018, + ICAL_PARTSTAT_ACCEPTED = 20019, + ICAL_PARTSTAT_DECLINED = 20020, + ICAL_PARTSTAT_TENTATIVE = 20021, + ICAL_PARTSTAT_DELEGATED = 20022, + ICAL_PARTSTAT_COMPLETED = 20023, + ICAL_PARTSTAT_INPROCESS = 20024, + ICAL_PARTSTAT_NONE = 20025 +} icalparameter_partstat; + +typedef enum icalparameter_range { + ICAL_RANGE_X = 20026, + ICAL_RANGE_THISANDPRIOR = 20027, + ICAL_RANGE_THISANDFUTURE = 20028, + ICAL_RANGE_NONE = 20029 +} icalparameter_range; + +typedef enum icalparameter_related { + ICAL_RELATED_X = 20030, + ICAL_RELATED_START = 20031, + ICAL_RELATED_END = 20032, + ICAL_RELATED_NONE = 20033 +} icalparameter_related; + +typedef enum icalparameter_reltype { + ICAL_RELTYPE_X = 20034, + ICAL_RELTYPE_PARENT = 20035, + ICAL_RELTYPE_CHILD = 20036, + ICAL_RELTYPE_SIBLING = 20037, + ICAL_RELTYPE_NONE = 20038 +} icalparameter_reltype; + +typedef enum icalparameter_role { + ICAL_ROLE_X = 20039, + ICAL_ROLE_CHAIR = 20040, + ICAL_ROLE_REQPARTICIPANT = 20041, + ICAL_ROLE_OPTPARTICIPANT = 20042, + ICAL_ROLE_NONPARTICIPANT = 20043, + ICAL_ROLE_NONE = 20044 +} icalparameter_role; + +typedef enum icalparameter_rsvp { + ICAL_RSVP_X = 20045, + ICAL_RSVP_TRUE = 20046, + ICAL_RSVP_FALSE = 20047, + ICAL_RSVP_NONE = 20048 +} icalparameter_rsvp; + +typedef enum icalparameter_value { + ICAL_VALUE_X = 20049, + ICAL_VALUE_BINARY = 20050, + ICAL_VALUE_BOOLEAN = 20051, + ICAL_VALUE_DATE = 20052, + ICAL_VALUE_DURATION = 20053, + ICAL_VALUE_FLOAT = 20054, + ICAL_VALUE_INTEGER = 20055, + ICAL_VALUE_PERIOD = 20056, + ICAL_VALUE_RECUR = 20057, + ICAL_VALUE_TEXT = 20058, + ICAL_VALUE_TIME = 20059, + ICAL_VALUE_URI = 20060, + ICAL_VALUE_ERROR = 20061, + ICAL_VALUE_DATETIME = 20062, + ICAL_VALUE_UTCOFFSET = 20063, + ICAL_VALUE_CALADDRESS = 20064, + ICAL_VALUE_NONE = 20065 +} icalparameter_value; + +typedef enum icalparameter_xliccomparetype { + ICAL_XLICCOMPARETYPE_X = 20066, + ICAL_XLICCOMPARETYPE_EQUAL = 20067, + ICAL_XLICCOMPARETYPE_NOTEQUAL = 20068, + ICAL_XLICCOMPARETYPE_LESS = 20069, + ICAL_XLICCOMPARETYPE_GREATER = 20070, + ICAL_XLICCOMPARETYPE_LESSEQUAL = 20071, + ICAL_XLICCOMPARETYPE_GREATEREQUAL = 20072, + ICAL_XLICCOMPARETYPE_REGEX = 20073, + ICAL_XLICCOMPARETYPE_NONE = 20074 +} icalparameter_xliccomparetype; + +typedef enum icalparameter_xlicerrortype { + ICAL_XLICERRORTYPE_X = 20075, + ICAL_XLICERRORTYPE_COMPONENTPARSEERROR = 20076, + ICAL_XLICERRORTYPE_PROPERTYPARSEERROR = 20077, + ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR = 20078, + ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR = 20079, + ICAL_XLICERRORTYPE_VALUEPARSEERROR = 20080, + ICAL_XLICERRORTYPE_INVALIDITIP = 20081, + ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR = 20082, + ICAL_XLICERRORTYPE_MIMEPARSEERROR = 20083, + ICAL_XLICERRORTYPE_NONE = 20084 +} icalparameter_xlicerrortype; + +#define ICALPARAMETER_LAST_ENUM 20085 + +/* CUTYPE */ +icalparameter* icalparameter_new_cutype(icalparameter_cutype v); +icalparameter_cutype icalparameter_get_cutype(icalparameter* value); +void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v); + +/* FMTTYPE */ +icalparameter* icalparameter_new_fmttype(const char* v); +const char* icalparameter_get_fmttype(icalparameter* value); +void icalparameter_set_fmttype(icalparameter* value, const char* v); + +/* FBTYPE */ +icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v); +icalparameter_fbtype icalparameter_get_fbtype(icalparameter* value); +void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v); + +/* DELEGATED-FROM */ +icalparameter* icalparameter_new_delegatedfrom(const char* v); +const char* icalparameter_get_delegatedfrom(icalparameter* value); +void icalparameter_set_delegatedfrom(icalparameter* value, const char* v); + +/* RELTYPE */ +icalparameter* icalparameter_new_reltype(icalparameter_reltype v); +icalparameter_reltype icalparameter_get_reltype(icalparameter* value); +void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v); + +/* ROLE */ +icalparameter* icalparameter_new_role(icalparameter_role v); +icalparameter_role icalparameter_get_role(icalparameter* value); +void icalparameter_set_role(icalparameter* value, icalparameter_role v); + +/* MEMBER */ +icalparameter* icalparameter_new_member(const char* v); +const char* icalparameter_get_member(icalparameter* value); +void icalparameter_set_member(icalparameter* value, const char* v); + +/* LANGUAGE */ +icalparameter* icalparameter_new_language(const char* v); +const char* icalparameter_get_language(icalparameter* value); +void icalparameter_set_language(icalparameter* value, const char* v); + +/* PARTSTAT */ +icalparameter* icalparameter_new_partstat(icalparameter_partstat v); +icalparameter_partstat icalparameter_get_partstat(icalparameter* value); +void icalparameter_set_partstat(icalparameter* value, icalparameter_partstat v); + +/* DELEGATED-TO */ +icalparameter* icalparameter_new_delegatedto(const char* v); +const char* icalparameter_get_delegatedto(icalparameter* value); +void icalparameter_set_delegatedto(icalparameter* value, const char* v); + +/* RSVP */ +icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v); +icalparameter_rsvp icalparameter_get_rsvp(icalparameter* value); +void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v); + +/* DIR */ +icalparameter* icalparameter_new_dir(const char* v); +const char* icalparameter_get_dir(icalparameter* value); +void icalparameter_set_dir(icalparameter* value, const char* v); + +/* X */ +icalparameter* icalparameter_new_x(const char* v); +const char* icalparameter_get_x(icalparameter* value); +void icalparameter_set_x(icalparameter* value, const char* v); + +/* X-LIC-ERRORTYPE */ +icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v); +icalparameter_xlicerrortype icalparameter_get_xlicerrortype(icalparameter* value); +void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v); + +/* RELATED */ +icalparameter* icalparameter_new_related(icalparameter_related v); +icalparameter_related icalparameter_get_related(icalparameter* value); +void icalparameter_set_related(icalparameter* value, icalparameter_related v); + +/* CN */ +icalparameter* icalparameter_new_cn(const char* v); +const char* icalparameter_get_cn(icalparameter* value); +void icalparameter_set_cn(icalparameter* value, const char* v); + +/* ENCODING */ +icalparameter* icalparameter_new_encoding(icalparameter_encoding v); +icalparameter_encoding icalparameter_get_encoding(icalparameter* value); +void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v); + +/* VALUE */ +icalparameter* icalparameter_new_value(icalparameter_value v); +icalparameter_value icalparameter_get_value(icalparameter* value); +void icalparameter_set_value(icalparameter* value, icalparameter_value v); + +/* ALTREP */ +icalparameter* icalparameter_new_altrep(const char* v); +const char* icalparameter_get_altrep(icalparameter* value); +void icalparameter_set_altrep(icalparameter* value, const char* v); + +/* RANGE */ +icalparameter* icalparameter_new_range(icalparameter_range v); +icalparameter_range icalparameter_get_range(icalparameter* value); +void icalparameter_set_range(icalparameter* value, icalparameter_range v); + +/* X-LIC-COMPARETYPE */ +icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v); +icalparameter_xliccomparetype icalparameter_get_xliccomparetype(icalparameter* value); +void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v); + +/* TZID */ +icalparameter* icalparameter_new_tzid(const char* v); +const char* icalparameter_get_tzid(icalparameter* value); +void icalparameter_set_tzid(icalparameter* value, const char* v); + +/* CHARSET */ +icalparameter* icalparameter_new_charset( const char * v); + const char * icalparameter_get_charset(icalparameter* value); +void icalparameter_set_charset(icalparameter* value, const char * v); + +/* SENT-BY */ +icalparameter* icalparameter_new_sentby(const char* v); +const char* icalparameter_get_sentby(icalparameter* value); +void icalparameter_set_sentby(icalparameter* value, const char* v); + +#endif /*ICALPARAMETER_H*/ + diff --git a/src/plugins/vcalendar/libical/libical/icalderivedproperty.c b/src/plugins/vcalendar/libical/libical/icalderivedproperty.c @@ -0,0 +1,2450 @@ +/* -*- Mode: C -*- */ + +/*====================================================================== + FILE: icalderivedproperty.c + CREATOR: eric 15 Feb 2001 + + $Id$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalproperty.c + +======================================================================*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "icalproperty.h" +#include "icalcomponent.h" +#include "pvl.h" +#include "icalenums.h" +#include "icalerror.h" +#include "icalmemory.h" +#include "icalparser.h" + +#include <string.h> /* For icalmemory_strdup, rindex */ +#include <assert.h> +#include <stdlib.h> +#include <errno.h> +#include <stdio.h> /* for printf */ +#include <stdarg.h> /* for va_list, va_start, etc. */ + +#define TMP_BUF_SIZE 1024 + +struct icalproperty_impl* +icalproperty_new_impl (icalproperty_kind kind); + +void icalproperty_add_parameters (struct icalproperty_impl *prop, va_list args); + +/* This map associates the property kinds with the string + representation of the property name and the kind of VALUE that the + property uses as a default */ + +struct icalproperty_map { + icalproperty_kind kind; + const char *name; + icalvalue_kind value; + +}; + +static struct icalproperty_map property_map[]; + +const char* icalproperty_kind_to_string(icalproperty_kind kind) +{ + int i; + + for (i=0; property_map[i].kind != ICAL_NO_PROPERTY; i++) { + if (property_map[i].kind == kind) { + return property_map[i].name; + } + } + + return 0; + +} + + +icalproperty_kind icalproperty_string_to_kind(const char* string) +{ + int i; + + if (string ==0 ) { + return ICAL_NO_PROPERTY; + } + + + for (i=0; property_map[i].kind != ICAL_NO_PROPERTY; i++) { + if (strcmp(property_map[i].name, string) == 0) { + return property_map[i].kind; + } + } + + if(strncmp(string,"X-",2)==0){ + return ICAL_X_PROPERTY; + } + + + return ICAL_NO_PROPERTY; +} + + +icalvalue_kind icalproperty_value_kind_to_kind(icalvalue_kind kind) +{ + int i; + + for (i=0; property_map[i].kind != ICAL_NO_PROPERTY; i++) { + if ( property_map[i].value == kind ) { + return property_map[i].kind; + } + } + + return ICAL_NO_VALUE; +} + + + +icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind) +{ + int i; + + for (i=0; property_map[i].kind != ICAL_NO_PROPERTY; i++) { + if ( property_map[i].kind == kind ) { + return property_map[i].value; + } + } + + return ICAL_NO_VALUE; +} + + +/* This map associates the property enumerations with the king of + property that they are used in and the string representation of the + enumeration */ + +struct icalproperty_enum_map { + icalproperty_kind prop; + int prop_enum; + const char* str; +}; + +static struct icalproperty_enum_map enum_map[]; + + +const char* icalproperty_enum_to_string(int e) +{ + icalerror_check_arg_rz(e >= ICALPROPERTY_FIRST_ENUM,"e"); + icalerror_check_arg_rz(e <= ICALPROPERTY_LAST_ENUM,"e"); + + return enum_map[e-ICALPROPERTY_FIRST_ENUM].str; +} + +int icalproperty_string_to_enum(const char* str) +{ + int i; + + icalerror_check_arg_rz(str!=0,"str") + + while(*str == ' '){ + str++; + } + + for (i=ICALPROPERTY_FIRST_ENUM; i != ICALPROPERTY_LAST_ENUM; i++) { + if ( strcmp(enum_map[i-ICALPROPERTY_FIRST_ENUM].str, str) == 0) { + return enum_map[i-ICALPROPERTY_FIRST_ENUM].prop_enum; + } + } + + return 0; +} + +int icalproperty_enum_belongs_to_property(icalproperty_kind kind, int e) +{ + int i; + + + for (i=ICALPROPERTY_FIRST_ENUM; i != ICALPROPERTY_LAST_ENUM; i++) { + if(enum_map[i-ICALPROPERTY_FIRST_ENUM].prop_enum == e && + enum_map[i-ICALPROPERTY_FIRST_ENUM].prop == kind ){ + return 1; + } + } + + return 0; +} + + +const char* icalproperty_method_to_string(icalproperty_method method) +{ + icalerror_check_arg_rz(method >= ICAL_METHOD_X,"method"); + icalerror_check_arg_rz(method <= ICAL_METHOD_NONE,"method"); + + return enum_map[method-ICALPROPERTY_FIRST_ENUM].str; +} + +icalproperty_method icalproperty_string_to_method(const char* str) +{ + int i; + + icalerror_check_arg_rx(str!=0,"str",ICAL_METHOD_NONE) + + while(*str == ' '){ + str++; + } + + for (i=ICAL_METHOD_X-ICALPROPERTY_FIRST_ENUM; + i != ICAL_METHOD_NONE-ICALPROPERTY_FIRST_ENUM; + i++) { + if ( strcmp(enum_map[i].str, str) == 0) { + return (icalproperty_method)enum_map[i].prop_enum; + } + } + + return ICAL_METHOD_NONE; +} + + +const char* icalenum_status_to_string(icalproperty_status status) +{ + icalerror_check_arg_rz(status >= ICAL_STATUS_X,"status"); + icalerror_check_arg_rz(status <= ICAL_STATUS_NONE,"status"); + + return enum_map[status-ICALPROPERTY_FIRST_ENUM].str; +} + +icalproperty_status icalenum_string_to_status(const char* str) +{ + int i; + + icalerror_check_arg_rx(str!=0,"str",ICAL_STATUS_NONE) + + while(*str == ' '){ + str++; + } + + for (i=ICAL_STATUS_X-ICALPROPERTY_FIRST_ENUM; + i != ICAL_STATUS_NONE-ICALPROPERTY_FIRST_ENUM; + i++) { + if ( strcmp(enum_map[i].str, str) == 0) { + return (icalproperty_method)enum_map[i].prop_enum; + } + } + + return ICAL_STATUS_NONE; + +} + + + +/* Everything below this line is machine generated. Do not edit. */ +static struct icalproperty_map property_map[] = { +{ICAL_ACTION_PROPERTY,"ACTION",ICAL_ACTION_VALUE}, +{ICAL_ANY_PROPERTY,"ANY",ICAL_NO_VALUE}, +{ICAL_ATTACH_PROPERTY,"ATTACH",ICAL_ATTACH_VALUE}, +{ICAL_ATTENDEE_PROPERTY,"ATTENDEE",ICAL_CALADDRESS_VALUE}, +{ICAL_CALSCALE_PROPERTY,"CALSCALE",ICAL_TEXT_VALUE}, +{ICAL_CATEGORIES_PROPERTY,"CATEGORIES",ICAL_TEXT_VALUE}, +{ICAL_CLASS_PROPERTY,"CLASS",ICAL_TEXT_VALUE}, +{ICAL_COMMENT_PROPERTY,"COMMENT",ICAL_TEXT_VALUE}, +{ICAL_COMPLETED_PROPERTY,"COMPLETED",ICAL_DATETIME_VALUE}, +{ICAL_CONTACT_PROPERTY,"CONTACT",ICAL_TEXT_VALUE}, +{ICAL_CREATED_PROPERTY,"CREATED",ICAL_DATETIME_VALUE}, +{ICAL_DESCRIPTION_PROPERTY,"DESCRIPTION",ICAL_TEXT_VALUE}, +{ICAL_DTEND_PROPERTY,"DTEND",ICAL_DATETIME_VALUE}, +{ICAL_DTSTAMP_PROPERTY,"DTSTAMP",ICAL_DATETIME_VALUE}, +{ICAL_DTSTART_PROPERTY,"DTSTART",ICAL_DATETIME_VALUE}, +{ICAL_DUE_PROPERTY,"DUE",ICAL_DATETIME_VALUE}, +{ICAL_DURATION_PROPERTY,"DURATION",ICAL_DURATION_VALUE}, +{ICAL_EXDATE_PROPERTY,"EXDATE",ICAL_DATETIME_VALUE}, +{ICAL_EXRULE_PROPERTY,"EXRULE",ICAL_RECUR_VALUE}, +{ICAL_FREEBUSY_PROPERTY,"FREEBUSY",ICAL_PERIOD_VALUE}, +{ICAL_GEO_PROPERTY,"GEO",ICAL_GEO_VALUE}, +{ICAL_LASTMODIFIED_PROPERTY,"LAST-MODIFIED",ICAL_DATETIME_VALUE}, +{ICAL_LOCATION_PROPERTY,"LOCATION",ICAL_TEXT_VALUE}, +{ICAL_MAXRESULTS_PROPERTY,"MAXRESULTS",ICAL_INTEGER_VALUE}, +{ICAL_MAXRESULTSSIZE_PROPERTY,"MAXRESULTSSIZE",ICAL_INTEGER_VALUE}, +{ICAL_METHOD_PROPERTY,"METHOD",ICAL_METHOD_VALUE}, +{ICAL_ORGANIZER_PROPERTY,"ORGANIZER",ICAL_CALADDRESS_VALUE}, +{ICAL_PERCENTCOMPLETE_PROPERTY,"PERCENT-COMPLETE",ICAL_INTEGER_VALUE}, +{ICAL_PRIORITY_PROPERTY,"PRIORITY",ICAL_INTEGER_VALUE}, +{ICAL_PRODID_PROPERTY,"PRODID",ICAL_TEXT_VALUE}, +{ICAL_QUERY_PROPERTY,"QUERY",ICAL_QUERY_VALUE}, +{ICAL_QUERYNAME_PROPERTY,"QUERYNAME",ICAL_TEXT_VALUE}, +{ICAL_RDATE_PROPERTY,"RDATE",ICAL_DATETIMEPERIOD_VALUE}, +{ICAL_RECURRENCEID_PROPERTY,"RECURRENCE-ID",ICAL_DATETIME_VALUE}, +{ICAL_RELATEDTO_PROPERTY,"RELATED-TO",ICAL_TEXT_VALUE}, +{ICAL_REPEAT_PROPERTY,"REPEAT",ICAL_INTEGER_VALUE}, +{ICAL_REQUESTSTATUS_PROPERTY,"REQUEST-STATUS",ICAL_STRING_VALUE}, +{ICAL_RESOURCES_PROPERTY,"RESOURCES",ICAL_TEXT_VALUE}, +{ICAL_RRULE_PROPERTY,"RRULE",ICAL_RECUR_VALUE}, +{ICAL_SCOPE_PROPERTY,"SCOPE",ICAL_TEXT_VALUE}, +{ICAL_SEQUENCE_PROPERTY,"SEQUENCE",ICAL_INTEGER_VALUE}, +{ICAL_STATUS_PROPERTY,"STATUS",ICAL_STATUS_VALUE}, +{ICAL_SUMMARY_PROPERTY,"SUMMARY",ICAL_TEXT_VALUE}, +{ICAL_TARGET_PROPERTY,"TARGET",ICAL_CALADDRESS_VALUE}, +{ICAL_TRANSP_PROPERTY,"TRANSP",ICAL_TEXT_VALUE}, +{ICAL_TRIGGER_PROPERTY,"TRIGGER",ICAL_TRIGGER_VALUE}, +{ICAL_TZID_PROPERTY,"TZID",ICAL_TEXT_VALUE}, +{ICAL_TZNAME_PROPERTY,"TZNAME",ICAL_TEXT_VALUE}, +{ICAL_TZOFFSETFROM_PROPERTY,"TZOFFSETFROM",ICAL_UTCOFFSET_VALUE}, +{ICAL_TZOFFSETTO_PROPERTY,"TZOFFSETTO",ICAL_UTCOFFSET_VALUE}, +{ICAL_TZURL_PROPERTY,"TZURL",ICAL_URI_VALUE}, +{ICAL_UID_PROPERTY,"UID",ICAL_TEXT_VALUE}, +{ICAL_URL_PROPERTY,"URL",ICAL_URI_VALUE}, +{ICAL_VERSION_PROPERTY,"VERSION",ICAL_TEXT_VALUE}, +{ICAL_X_PROPERTY,"X",ICAL_TEXT_VALUE}, +{ICAL_XLICCLUSTERCOUNT_PROPERTY,"X-LIC-CLUSTERCOUNT",ICAL_STRING_VALUE}, +{ICAL_XLICERROR_PROPERTY,"X-LIC-ERROR",ICAL_TEXT_VALUE}, +{ICAL_XLICMIMECHARSET_PROPERTY,"X-LIC-MIMECHARSET",ICAL_STRING_VALUE}, +{ICAL_XLICMIMECID_PROPERTY,"X-LIC-MIMECID",ICAL_STRING_VALUE}, +{ICAL_XLICMIMECONTENTTYPE_PROPERTY,"X-LIC-MIMECONTENTTYPE",ICAL_STRING_VALUE}, +{ICAL_XLICMIMEENCODING_PROPERTY,"X-LIC-MIMEENCODING",ICAL_STRING_VALUE}, +{ICAL_XLICMIMEFILENAME_PROPERTY,"X-LIC-MIMEFILENAME",ICAL_STRING_VALUE}, +{ICAL_XLICMIMEOPTINFO_PROPERTY,"X-LIC-MIMEOPTINFO",ICAL_STRING_VALUE}, +{ICAL_NO_PROPERTY,"",ICAL_NO_VALUE}}; + +static struct icalproperty_enum_map enum_map[] = { + {ICAL_ACTION_PROPERTY,ICAL_ACTION_X,"" }, /*10000*/ + {ICAL_ACTION_PROPERTY,ICAL_ACTION_AUDIO,"AUDIO" }, /*10001*/ + {ICAL_ACTION_PROPERTY,ICAL_ACTION_DISPLAY,"DISPLAY" }, /*10002*/ + {ICAL_ACTION_PROPERTY,ICAL_ACTION_EMAIL,"EMAIL" }, /*10003*/ + {ICAL_ACTION_PROPERTY,ICAL_ACTION_PROCEDURE,"PROCEDURE" }, /*10004*/ + {ICAL_ACTION_PROPERTY,ICAL_ACTION_NONE,"" }, /*10005*/ + {ICAL_CLASS_PROPERTY,ICAL_CLASS_X,"" }, /*10006*/ + {ICAL_CLASS_PROPERTY,ICAL_CLASS_PUBLIC,"PUBLIC" }, /*10007*/ + {ICAL_CLASS_PROPERTY,ICAL_CLASS_PRIVATE,"PRIVATE" }, /*10008*/ + {ICAL_CLASS_PROPERTY,ICAL_CLASS_CONFIDENTIAL,"CONFIDENTIAL" }, /*10009*/ + {ICAL_CLASS_PROPERTY,ICAL_CLASS_NONE,"" }, /*10010*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_X,"" }, /*10011*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_PUBLISH,"PUBLISH" }, /*10012*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_REQUEST,"REQUEST" }, /*10013*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_REPLY,"REPLY" }, /*10014*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_ADD,"ADD" }, /*10015*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_CANCEL,"CANCEL" }, /*10016*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_REFRESH,"REFRESH" }, /*10017*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_COUNTER,"COUNTER" }, /*10018*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_DECLINECOUNTER,"DECLINECOUNTER" }, /*10019*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_CREATE,"CREATE" }, /*10020*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_READ,"READ" }, /*10021*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_RESPONSE,"RESPONSE" }, /*10022*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_MOVE,"MOVE" }, /*10023*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_MODIFY,"MODIFY" }, /*10024*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_GENERATEUID,"GENERATEUID" }, /*10025*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_DELETE,"DELETE" }, /*10026*/ + {ICAL_METHOD_PROPERTY,ICAL_METHOD_NONE,"" }, /*10027*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_X,"" }, /*10028*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_TENTATIVE,"TENTATIVE" }, /*10029*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_CONFIRMED,"CONFIRMED" }, /*10030*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_COMPLETED,"COMPLETED" }, /*10031*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_NEEDSACTION,"NEEDS-ACTION" }, /*10032*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_CANCELLED,"CANCELLED" }, /*10033*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_INPROCESS,"IN-PROCESS" }, /*10034*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_DRAFT,"DRAFT" }, /*10035*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_FINAL,"FINAL" }, /*10036*/ + {ICAL_STATUS_PROPERTY,ICAL_STATUS_NONE,"" }, /*10037*/ + {ICAL_TRANSP_PROPERTY,ICAL_TRANSP_X,"" }, /*10038*/ + {ICAL_TRANSP_PROPERTY,ICAL_TRANSP_OPAQUE,"OPAQUE" }, /*10039*/ + {ICAL_TRANSP_PROPERTY,ICAL_TRANSP_TRANSPARENT,"TRANSPARENT" }, /*10040*/ + {ICAL_TRANSP_PROPERTY,ICAL_TRANSP_NONE,"" }, /*10041*/ + {ICAL_NO_PROPERTY,0,""} +}; + +/* ACTION */ +icalproperty* icalproperty_new_action(enum icalproperty_action v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_ACTION_PROPERTY); + icalproperty_set_action((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_ACTION_PROPERTY); + icalproperty_set_action((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_action(v); + icalproperty_set_value(prop,value); +} +enum icalproperty_action icalproperty_get_action(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_action(value); +} +/* ATTACH */ +icalproperty* icalproperty_new_attach(struct icalattachtype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_ATTACH_PROPERTY); + icalproperty_set_attach((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_attach(struct icalattachtype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_ATTACH_PROPERTY); + icalproperty_set_attach((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_attach(icalproperty* prop, struct icalattachtype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_attach(v); + icalproperty_set_value(prop,value); +} +struct icalattachtype icalproperty_get_attach(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_attach(value); +} +/* ATTENDEE */ +icalproperty* icalproperty_new_attendee(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_ATTENDEE_PROPERTY); + icalproperty_set_attendee((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_attendee(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_ATTENDEE_PROPERTY); + icalproperty_set_attendee((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_attendee(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_caladdress(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_attendee(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_caladdress(value); +} +/* CALSCALE */ +icalproperty* icalproperty_new_calscale(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CALSCALE_PROPERTY); + icalproperty_set_calscale((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_calscale(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CALSCALE_PROPERTY); + icalproperty_set_calscale((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_calscale(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_calscale(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* CATEGORIES */ +icalproperty* icalproperty_new_categories(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CATEGORIES_PROPERTY); + icalproperty_set_categories((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_categories(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CATEGORIES_PROPERTY); + icalproperty_set_categories((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_categories(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_categories(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* CLASS */ +icalproperty* icalproperty_new_class(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CLASS_PROPERTY); + icalproperty_set_class((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_class(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CLASS_PROPERTY); + icalproperty_set_class((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_class(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_class(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* COMMENT */ +icalproperty* icalproperty_new_comment(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_COMMENT_PROPERTY); + icalproperty_set_comment((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_comment(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_COMMENT_PROPERTY); + icalproperty_set_comment((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_comment(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_comment(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* COMPLETED */ +icalproperty* icalproperty_new_completed(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_COMPLETED_PROPERTY); + icalproperty_set_completed((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_COMPLETED_PROPERTY); + icalproperty_set_completed((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_completed(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* CONTACT */ +icalproperty* icalproperty_new_contact(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CONTACT_PROPERTY); + icalproperty_set_contact((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_contact(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_CONTACT_PROPERTY); + icalproperty_set_contact((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_contact(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_contact(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* CREATED */ +icalproperty* icalproperty_new_created(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_CREATED_PROPERTY); + icalproperty_set_created((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_CREATED_PROPERTY); + icalproperty_set_created((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_created(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_created(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* DESCRIPTION */ +icalproperty* icalproperty_new_description(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_DESCRIPTION_PROPERTY); + icalproperty_set_description((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_description(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_DESCRIPTION_PROPERTY); + icalproperty_set_description((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_description(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_description(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* DTEND */ +icalproperty* icalproperty_new_dtend(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTEND_PROPERTY); + icalproperty_set_dtend((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTEND_PROPERTY); + icalproperty_set_dtend((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_dtend(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* DTSTAMP */ +icalproperty* icalproperty_new_dtstamp(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTSTAMP_PROPERTY); + icalproperty_set_dtstamp((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTSTAMP_PROPERTY); + icalproperty_set_dtstamp((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_dtstamp(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* DTSTART */ +icalproperty* icalproperty_new_dtstart(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTSTART_PROPERTY); + icalproperty_set_dtstart((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DTSTART_PROPERTY); + icalproperty_set_dtstart((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_dtstart(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* DUE */ +icalproperty* icalproperty_new_due(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DUE_PROPERTY); + icalproperty_set_due((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DUE_PROPERTY); + icalproperty_set_due((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_due(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_due(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* DURATION */ +icalproperty* icalproperty_new_duration(struct icaldurationtype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DURATION_PROPERTY); + icalproperty_set_duration((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_DURATION_PROPERTY); + icalproperty_set_duration((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_duration(v); + icalproperty_set_value(prop,value); +} +struct icaldurationtype icalproperty_get_duration(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_duration(value); +} +/* EXDATE */ +icalproperty* icalproperty_new_exdate(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_EXDATE_PROPERTY); + icalproperty_set_exdate((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_EXDATE_PROPERTY); + icalproperty_set_exdate((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_exdate(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* EXRULE */ +icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_EXRULE_PROPERTY); + icalproperty_set_exrule((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_EXRULE_PROPERTY); + icalproperty_set_exrule((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_recur(v); + icalproperty_set_value(prop,value); +} +struct icalrecurrencetype icalproperty_get_exrule(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_recur(value); +} +/* FREEBUSY */ +icalproperty* icalproperty_new_freebusy(struct icalperiodtype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_FREEBUSY_PROPERTY); + icalproperty_set_freebusy((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_FREEBUSY_PROPERTY); + icalproperty_set_freebusy((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_period(v); + icalproperty_set_value(prop,value); +} +struct icalperiodtype icalproperty_get_freebusy(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_period(value); +} +/* GEO */ +icalproperty* icalproperty_new_geo(struct icalgeotype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_GEO_PROPERTY); + icalproperty_set_geo((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_GEO_PROPERTY); + icalproperty_set_geo((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_geo(v); + icalproperty_set_value(prop,value); +} +struct icalgeotype icalproperty_get_geo(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_geo(value); +} +/* LAST-MODIFIED */ +icalproperty* icalproperty_new_lastmodified(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_LASTMODIFIED_PROPERTY); + icalproperty_set_lastmodified((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_LASTMODIFIED_PROPERTY); + icalproperty_set_lastmodified((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_lastmodified(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* LOCATION */ +icalproperty* icalproperty_new_location(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_LOCATION_PROPERTY); + icalproperty_set_location((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_location(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_LOCATION_PROPERTY); + icalproperty_set_location((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_location(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_location(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* MAXRESULTS */ +icalproperty* icalproperty_new_maxresults(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_MAXRESULTS_PROPERTY); + icalproperty_set_maxresults((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_maxresults(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_MAXRESULTS_PROPERTY); + icalproperty_set_maxresults((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_maxresults(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_maxresults(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* MAXRESULTSSIZE */ +icalproperty* icalproperty_new_maxresultssize(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_MAXRESULTSSIZE_PROPERTY); + icalproperty_set_maxresultssize((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_maxresultssize(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_MAXRESULTSSIZE_PROPERTY); + icalproperty_set_maxresultssize((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_maxresultssize(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_maxresultssize(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* METHOD */ +icalproperty* icalproperty_new_method(enum icalproperty_method v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_METHOD_PROPERTY); + icalproperty_set_method((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_METHOD_PROPERTY); + icalproperty_set_method((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_method(v); + icalproperty_set_value(prop,value); +} +enum icalproperty_method icalproperty_get_method(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_method(value); +} +/* ORGANIZER */ +icalproperty* icalproperty_new_organizer(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_ORGANIZER_PROPERTY); + icalproperty_set_organizer((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_organizer(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_ORGANIZER_PROPERTY); + icalproperty_set_organizer((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_organizer(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_caladdress(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_organizer(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_caladdress(value); +} +/* PERCENT-COMPLETE */ +icalproperty* icalproperty_new_percentcomplete(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_PERCENTCOMPLETE_PROPERTY); + icalproperty_set_percentcomplete((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_percentcomplete(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_PERCENTCOMPLETE_PROPERTY); + icalproperty_set_percentcomplete((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_percentcomplete(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_percentcomplete(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* PRIORITY */ +icalproperty* icalproperty_new_priority(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_PRIORITY_PROPERTY); + icalproperty_set_priority((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_priority(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_PRIORITY_PROPERTY); + icalproperty_set_priority((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_priority(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_priority(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* PRODID */ +icalproperty* icalproperty_new_prodid(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_PRODID_PROPERTY); + icalproperty_set_prodid((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_prodid(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_PRODID_PROPERTY); + icalproperty_set_prodid((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_prodid(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_prodid(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* QUERY */ +icalproperty* icalproperty_new_query(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_QUERY_PROPERTY); + icalproperty_set_query((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_query(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_QUERY_PROPERTY); + icalproperty_set_query((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_query(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_query(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_query(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_query(value); +} +/* QUERYNAME */ +icalproperty* icalproperty_new_queryname(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_QUERYNAME_PROPERTY); + icalproperty_set_queryname((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_queryname(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_QUERYNAME_PROPERTY); + icalproperty_set_queryname((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_queryname(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_queryname(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* RDATE */ +icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RDATE_PROPERTY); + icalproperty_set_rdate((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RDATE_PROPERTY); + icalproperty_set_rdate((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetimeperiod(v); + icalproperty_set_value(prop,value); +} +struct icaldatetimeperiodtype icalproperty_get_rdate(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetimeperiod(value); +} +/* RECURRENCE-ID */ +icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RECURRENCEID_PROPERTY); + icalproperty_set_recurrenceid((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RECURRENCEID_PROPERTY); + icalproperty_set_recurrenceid((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_datetime(v); + icalproperty_set_value(prop,value); +} +struct icaltimetype icalproperty_get_recurrenceid(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_datetime(value); +} +/* RELATED-TO */ +icalproperty* icalproperty_new_relatedto(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_RELATEDTO_PROPERTY); + icalproperty_set_relatedto((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_relatedto(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_RELATEDTO_PROPERTY); + icalproperty_set_relatedto((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_relatedto(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_relatedto(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* REPEAT */ +icalproperty* icalproperty_new_repeat(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_REPEAT_PROPERTY); + icalproperty_set_repeat((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_repeat(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_REPEAT_PROPERTY); + icalproperty_set_repeat((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_repeat(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_repeat(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* REQUEST-STATUS */ +icalproperty* icalproperty_new_requeststatus(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_REQUESTSTATUS_PROPERTY); + icalproperty_set_requeststatus((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_requeststatus(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_REQUESTSTATUS_PROPERTY); + icalproperty_set_requeststatus((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_requeststatus(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_requeststatus(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* RESOURCES */ +icalproperty* icalproperty_new_resources(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_RESOURCES_PROPERTY); + icalproperty_set_resources((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_resources(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_RESOURCES_PROPERTY); + icalproperty_set_resources((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_resources(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_resources(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* RRULE */ +icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RRULE_PROPERTY); + icalproperty_set_rrule((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_RRULE_PROPERTY); + icalproperty_set_rrule((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_recur(v); + icalproperty_set_value(prop,value); +} +struct icalrecurrencetype icalproperty_get_rrule(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_recur(value); +} +/* SCOPE */ +icalproperty* icalproperty_new_scope(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_SCOPE_PROPERTY); + icalproperty_set_scope((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_scope(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_SCOPE_PROPERTY); + icalproperty_set_scope((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_scope(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_scope(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* SEQUENCE */ +icalproperty* icalproperty_new_sequence(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_SEQUENCE_PROPERTY); + icalproperty_set_sequence((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_sequence(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_SEQUENCE_PROPERTY); + icalproperty_set_sequence((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_sequence(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_integer(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_sequence(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_integer(value); +} +/* STATUS */ +icalproperty* icalproperty_new_status(enum icalproperty_status v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_STATUS_PROPERTY); + icalproperty_set_status((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_STATUS_PROPERTY); + icalproperty_set_status((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_status(v); + icalproperty_set_value(prop,value); +} +enum icalproperty_status icalproperty_get_status(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_status(value); +} +/* SUMMARY */ +icalproperty* icalproperty_new_summary(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_SUMMARY_PROPERTY); + icalproperty_set_summary((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_summary(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_SUMMARY_PROPERTY); + icalproperty_set_summary((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_summary(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_summary(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* TARGET */ +icalproperty* icalproperty_new_target(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TARGET_PROPERTY); + icalproperty_set_target((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_target(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TARGET_PROPERTY); + icalproperty_set_target((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_target(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_caladdress(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_target(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_caladdress(value); +} +/* TRANSP */ +icalproperty* icalproperty_new_transp(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TRANSP_PROPERTY); + icalproperty_set_transp((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_transp(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TRANSP_PROPERTY); + icalproperty_set_transp((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_transp(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_transp(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* TRIGGER */ +icalproperty* icalproperty_new_trigger(struct icaltriggertype v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TRIGGER_PROPERTY); + icalproperty_set_trigger((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TRIGGER_PROPERTY); + icalproperty_set_trigger((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_trigger(v); + icalproperty_set_value(prop,value); +} +struct icaltriggertype icalproperty_get_trigger(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_trigger(value); +} +/* TZID */ +icalproperty* icalproperty_new_tzid(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZID_PROPERTY); + icalproperty_set_tzid((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_tzid(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZID_PROPERTY); + icalproperty_set_tzid((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_tzid(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_tzid(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* TZNAME */ +icalproperty* icalproperty_new_tzname(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZNAME_PROPERTY); + icalproperty_set_tzname((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_tzname(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZNAME_PROPERTY); + icalproperty_set_tzname((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_tzname(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_tzname(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* TZOFFSETFROM */ +icalproperty* icalproperty_new_tzoffsetfrom(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TZOFFSETFROM_PROPERTY); + icalproperty_set_tzoffsetfrom((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TZOFFSETFROM_PROPERTY); + icalproperty_set_tzoffsetfrom((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_utcoffset(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_tzoffsetfrom(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_utcoffset(value); +} +/* TZOFFSETTO */ +icalproperty* icalproperty_new_tzoffsetto(int v) { + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TZOFFSETTO_PROPERTY); + icalproperty_set_tzoffsetto((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_tzoffsetto(int v, ...){ + va_list args; + struct icalproperty_impl *impl; + + impl = icalproperty_new_impl(ICAL_TZOFFSETTO_PROPERTY); + icalproperty_set_tzoffsetto((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_tzoffsetto(icalproperty* prop, int v){ + icalvalue *value; + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_utcoffset(v); + icalproperty_set_value(prop,value); +} +int icalproperty_get_tzoffsetto(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_utcoffset(value); +} +/* TZURL */ +icalproperty* icalproperty_new_tzurl(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZURL_PROPERTY); + icalproperty_set_tzurl((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_tzurl(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_TZURL_PROPERTY); + icalproperty_set_tzurl((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_tzurl(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_uri(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_tzurl(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_uri(value); +} +/* UID */ +icalproperty* icalproperty_new_uid(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_UID_PROPERTY); + icalproperty_set_uid((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_uid(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_UID_PROPERTY); + icalproperty_set_uid((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_uid(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_uid(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* URL */ +icalproperty* icalproperty_new_url(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_URL_PROPERTY); + icalproperty_set_url((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_url(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_URL_PROPERTY); + icalproperty_set_url((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_url(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_uri(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_url(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_uri(value); +} +/* VERSION */ +icalproperty* icalproperty_new_version(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_VERSION_PROPERTY); + icalproperty_set_version((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_version(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_VERSION_PROPERTY); + icalproperty_set_version((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_version(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_version(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* X */ +icalproperty* icalproperty_new_x(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_X_PROPERTY); + icalproperty_set_x((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_x(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_X_PROPERTY); + icalproperty_set_x((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_x(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_x(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* X-LIC-CLUSTERCOUNT */ +icalproperty* icalproperty_new_xlicclustercount(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICCLUSTERCOUNT_PROPERTY); + icalproperty_set_xlicclustercount((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICCLUSTERCOUNT_PROPERTY); + icalproperty_set_xlicclustercount((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicclustercount(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-ERROR */ +icalproperty* icalproperty_new_xlicerror(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICERROR_PROPERTY); + icalproperty_set_xlicerror((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicerror(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICERROR_PROPERTY); + icalproperty_set_xlicerror((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicerror(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_text(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicerror(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_text(value); +} +/* X-LIC-MIMECHARSET */ +icalproperty* icalproperty_new_xlicmimecharset(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECHARSET_PROPERTY); + icalproperty_set_xlicmimecharset((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECHARSET_PROPERTY); + icalproperty_set_xlicmimecharset((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimecharset(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-MIMECID */ +icalproperty* icalproperty_new_xlicmimecid(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECID_PROPERTY); + icalproperty_set_xlicmimecid((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECID_PROPERTY); + icalproperty_set_xlicmimecid((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimecid(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-MIMECONTENTTYPE */ +icalproperty* icalproperty_new_xlicmimecontenttype(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECONTENTTYPE_PROPERTY); + icalproperty_set_xlicmimecontenttype((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMECONTENTTYPE_PROPERTY); + icalproperty_set_xlicmimecontenttype((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimecontenttype(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-MIMEENCODING */ +icalproperty* icalproperty_new_xlicmimeencoding(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEENCODING_PROPERTY); + icalproperty_set_xlicmimeencoding((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEENCODING_PROPERTY); + icalproperty_set_xlicmimeencoding((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimeencoding(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-MIMEFILENAME */ +icalproperty* icalproperty_new_xlicmimefilename(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEFILENAME_PROPERTY); + icalproperty_set_xlicmimefilename((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEFILENAME_PROPERTY); + icalproperty_set_xlicmimefilename((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimefilename(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} +/* X-LIC-MIMEOPTINFO */ +icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v) { + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEOPTINFO_PROPERTY); + icalproperty_set_xlicmimeoptinfo((icalproperty*)impl,v); + return (icalproperty*)impl; +} +icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...){ + va_list args; + struct icalproperty_impl *impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalproperty_new_impl(ICAL_XLICMIMEOPTINFO_PROPERTY); + icalproperty_set_xlicmimeoptinfo((icalproperty*)impl,v); + va_start(args,v); + icalproperty_add_parameters(impl, args); + va_end(args); + return (icalproperty*)impl; +} +void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v){ + icalvalue *value; + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_arg_rv( (prop!=0),"prop"); + value = icalvalue_new_string(v); + icalproperty_set_value(prop,value); +} +const char* icalproperty_get_xlicmimeoptinfo(icalproperty* prop){ + icalvalue *value; + icalerror_check_arg( (prop!=0),"prop"); + value = icalproperty_get_value(prop); + return icalvalue_get_string(value); +} diff --git a/src/plugins/vcalendar/libical/libical/icalderivedproperty.h b/src/plugins/vcalendar/libical/libical/icalderivedproperty.h @@ -0,0 +1,403 @@ +/* -*- Mode: C -*- + ====================================================================== + FILE: icalderivedproperties.{c,h} + CREATOR: eric 09 May 1999 + + $Id$ + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + ======================================================================*/ + + +#ifndef ICALDERIVEDPROPERTY_H +#define ICALDERIVEDPROPERTY_H + +#include <time.h> +#include "icalparameter.h" +#include "icalderivedvalue.h" +#include "icalrecur.h" + +typedef void icalproperty; + + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalproperty_kind { + ICAL_ANY_PROPERTY = 0, + ICAL_ACTION_PROPERTY, + ICAL_ATTACH_PROPERTY, + ICAL_ATTENDEE_PROPERTY, + ICAL_CALSCALE_PROPERTY, + ICAL_CATEGORIES_PROPERTY, + ICAL_CLASS_PROPERTY, + ICAL_COMMENT_PROPERTY, + ICAL_COMPLETED_PROPERTY, + ICAL_CONTACT_PROPERTY, + ICAL_CREATED_PROPERTY, + ICAL_DESCRIPTION_PROPERTY, + ICAL_DTEND_PROPERTY, + ICAL_DTSTAMP_PROPERTY, + ICAL_DTSTART_PROPERTY, + ICAL_DUE_PROPERTY, + ICAL_DURATION_PROPERTY, + ICAL_EXDATE_PROPERTY, + ICAL_EXRULE_PROPERTY, + ICAL_FREEBUSY_PROPERTY, + ICAL_GEO_PROPERTY, + ICAL_LASTMODIFIED_PROPERTY, + ICAL_LOCATION_PROPERTY, + ICAL_MAXRESULTS_PROPERTY, + ICAL_MAXRESULTSSIZE_PROPERTY, + ICAL_METHOD_PROPERTY, + ICAL_ORGANIZER_PROPERTY, + ICAL_PERCENTCOMPLETE_PROPERTY, + ICAL_PRIORITY_PROPERTY, + ICAL_PRODID_PROPERTY, + ICAL_QUERY_PROPERTY, + ICAL_QUERYNAME_PROPERTY, + ICAL_RDATE_PROPERTY, + ICAL_RECURRENCEID_PROPERTY, + ICAL_RELATEDTO_PROPERTY, + ICAL_REPEAT_PROPERTY, + ICAL_REQUESTSTATUS_PROPERTY, + ICAL_RESOURCES_PROPERTY, + ICAL_RRULE_PROPERTY, + ICAL_SCOPE_PROPERTY, + ICAL_SEQUENCE_PROPERTY, + ICAL_STATUS_PROPERTY, + ICAL_SUMMARY_PROPERTY, + ICAL_TARGET_PROPERTY, + ICAL_TRANSP_PROPERTY, + ICAL_TRIGGER_PROPERTY, + ICAL_TZID_PROPERTY, + ICAL_TZNAME_PROPERTY, + ICAL_TZOFFSETFROM_PROPERTY, + ICAL_TZOFFSETTO_PROPERTY, + ICAL_TZURL_PROPERTY, + ICAL_UID_PROPERTY, + ICAL_URL_PROPERTY, + ICAL_VERSION_PROPERTY, + ICAL_X_PROPERTY, + ICAL_XLICCLUSTERCOUNT_PROPERTY, + ICAL_XLICERROR_PROPERTY, + ICAL_XLICMIMECHARSET_PROPERTY, + ICAL_XLICMIMECID_PROPERTY, + ICAL_XLICMIMECONTENTTYPE_PROPERTY, + ICAL_XLICMIMEENCODING_PROPERTY, + ICAL_XLICMIMEFILENAME_PROPERTY, + ICAL_XLICMIMEOPTINFO_PROPERTY, + ICAL_NO_PROPERTY +} icalproperty_kind; + + +/* ACTION */ +icalproperty* icalproperty_new_action(enum icalproperty_action v); +icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...); +void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v); +enum icalproperty_action icalproperty_get_action(icalproperty* prop); +/* ATTACH */ +icalproperty* icalproperty_new_attach(struct icalattachtype v); +icalproperty* icalproperty_vanew_attach(struct icalattachtype v, ...); +void icalproperty_set_attach(icalproperty* prop, struct icalattachtype v); +struct icalattachtype icalproperty_get_attach(icalproperty* prop); +/* ATTENDEE */ +icalproperty* icalproperty_new_attendee(const char* v); +icalproperty* icalproperty_vanew_attendee(const char* v, ...); +void icalproperty_set_attendee(icalproperty* prop, const char* v); +const char* icalproperty_get_attendee(icalproperty* prop); +/* CALSCALE */ +icalproperty* icalproperty_new_calscale(const char* v); +icalproperty* icalproperty_vanew_calscale(const char* v, ...); +void icalproperty_set_calscale(icalproperty* prop, const char* v); +const char* icalproperty_get_calscale(icalproperty* prop); +/* CATEGORIES */ +icalproperty* icalproperty_new_categories(const char* v); +icalproperty* icalproperty_vanew_categories(const char* v, ...); +void icalproperty_set_categories(icalproperty* prop, const char* v); +const char* icalproperty_get_categories(icalproperty* prop); +/* CLASS */ +icalproperty* icalproperty_new_class(const char* v); +icalproperty* icalproperty_vanew_class(const char* v, ...); +void icalproperty_set_class(icalproperty* prop, const char* v); +const char* icalproperty_get_class(icalproperty* prop); +/* COMMENT */ +icalproperty* icalproperty_new_comment(const char* v); +icalproperty* icalproperty_vanew_comment(const char* v, ...); +void icalproperty_set_comment(icalproperty* prop, const char* v); +const char* icalproperty_get_comment(icalproperty* prop); +/* COMPLETED */ +icalproperty* icalproperty_new_completed(struct icaltimetype v); +icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...); +void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_completed(icalproperty* prop); +/* CONTACT */ +icalproperty* icalproperty_new_contact(const char* v); +icalproperty* icalproperty_vanew_contact(const char* v, ...); +void icalproperty_set_contact(icalproperty* prop, const char* v); +const char* icalproperty_get_contact(icalproperty* prop); +/* CREATED */ +icalproperty* icalproperty_new_created(struct icaltimetype v); +icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...); +void icalproperty_set_created(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_created(icalproperty* prop); +/* DESCRIPTION */ +icalproperty* icalproperty_new_description(const char* v); +icalproperty* icalproperty_vanew_description(const char* v, ...); +void icalproperty_set_description(icalproperty* prop, const char* v); +const char* icalproperty_get_description(icalproperty* prop); +/* DTEND */ +icalproperty* icalproperty_new_dtend(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...); +void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtend(icalproperty* prop); +/* DTSTAMP */ +icalproperty* icalproperty_new_dtstamp(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...); +void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtstamp(icalproperty* prop); +/* DTSTART */ +icalproperty* icalproperty_new_dtstart(struct icaltimetype v); +icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...); +void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_dtstart(icalproperty* prop); +/* DUE */ +icalproperty* icalproperty_new_due(struct icaltimetype v); +icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...); +void icalproperty_set_due(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_due(icalproperty* prop); +/* DURATION */ +icalproperty* icalproperty_new_duration(struct icaldurationtype v); +icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...); +void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v); +struct icaldurationtype icalproperty_get_duration(icalproperty* prop); +/* EXDATE */ +icalproperty* icalproperty_new_exdate(struct icaltimetype v); +icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...); +void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_exdate(icalproperty* prop); +/* EXRULE */ +icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v); +icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...); +void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v); +struct icalrecurrencetype icalproperty_get_exrule(icalproperty* prop); +/* FREEBUSY */ +icalproperty* icalproperty_new_freebusy(struct icalperiodtype v); +icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...); +void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v); +struct icalperiodtype icalproperty_get_freebusy(icalproperty* prop); +/* GEO */ +icalproperty* icalproperty_new_geo(struct icalgeotype v); +icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...); +void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v); +struct icalgeotype icalproperty_get_geo(icalproperty* prop); +/* LAST-MODIFIED */ +icalproperty* icalproperty_new_lastmodified(struct icaltimetype v); +icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...); +void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_lastmodified(icalproperty* prop); +/* LOCATION */ +icalproperty* icalproperty_new_location(const char* v); +icalproperty* icalproperty_vanew_location(const char* v, ...); +void icalproperty_set_location(icalproperty* prop, const char* v); +const char* icalproperty_get_location(icalproperty* prop); +/* MAXRESULTS */ +icalproperty* icalproperty_new_maxresults(int v); +icalproperty* icalproperty_vanew_maxresults(int v, ...); +void icalproperty_set_maxresults(icalproperty* prop, int v); +int icalproperty_get_maxresults(icalproperty* prop); +/* MAXRESULTSSIZE */ +icalproperty* icalproperty_new_maxresultssize(int v); +icalproperty* icalproperty_vanew_maxresultssize(int v, ...); +void icalproperty_set_maxresultssize(icalproperty* prop, int v); +int icalproperty_get_maxresultssize(icalproperty* prop); +/* METHOD */ +icalproperty* icalproperty_new_method(enum icalproperty_method v); +icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...); +void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v); +enum icalproperty_method icalproperty_get_method(icalproperty* prop); +/* ORGANIZER */ +icalproperty* icalproperty_new_organizer(const char* v); +icalproperty* icalproperty_vanew_organizer(const char* v, ...); +void icalproperty_set_organizer(icalproperty* prop, const char* v); +const char* icalproperty_get_organizer(icalproperty* prop); +/* PERCENT-COMPLETE */ +icalproperty* icalproperty_new_percentcomplete(int v); +icalproperty* icalproperty_vanew_percentcomplete(int v, ...); +void icalproperty_set_percentcomplete(icalproperty* prop, int v); +int icalproperty_get_percentcomplete(icalproperty* prop); +/* PRIORITY */ +icalproperty* icalproperty_new_priority(int v); +icalproperty* icalproperty_vanew_priority(int v, ...); +void icalproperty_set_priority(icalproperty* prop, int v); +int icalproperty_get_priority(icalproperty* prop); +/* PRODID */ +icalproperty* icalproperty_new_prodid(const char* v); +icalproperty* icalproperty_vanew_prodid(const char* v, ...); +void icalproperty_set_prodid(icalproperty* prop, const char* v); +const char* icalproperty_get_prodid(icalproperty* prop); +/* QUERY */ +icalproperty* icalproperty_new_query(const char* v); +icalproperty* icalproperty_vanew_query(const char* v, ...); +void icalproperty_set_query(icalproperty* prop, const char* v); +const char* icalproperty_get_query(icalproperty* prop); +/* QUERYNAME */ +icalproperty* icalproperty_new_queryname(const char* v); +icalproperty* icalproperty_vanew_queryname(const char* v, ...); +void icalproperty_set_queryname(icalproperty* prop, const char* v); +const char* icalproperty_get_queryname(icalproperty* prop); +/* RDATE */ +icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v); +icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...); +void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v); +struct icaldatetimeperiodtype icalproperty_get_rdate(icalproperty* prop); +/* RECURRENCE-ID */ +icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v); +icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...); +void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v); +struct icaltimetype icalproperty_get_recurrenceid(icalproperty* prop); +/* RELATED-TO */ +icalproperty* icalproperty_new_relatedto(const char* v); +icalproperty* icalproperty_vanew_relatedto(const char* v, ...); +void icalproperty_set_relatedto(icalproperty* prop, const char* v); +const char* icalproperty_get_relatedto(icalproperty* prop); +/* REPEAT */ +icalproperty* icalproperty_new_repeat(int v); +icalproperty* icalproperty_vanew_repeat(int v, ...); +void icalproperty_set_repeat(icalproperty* prop, int v); +int icalproperty_get_repeat(icalproperty* prop); +/* REQUEST-STATUS */ +icalproperty* icalproperty_new_requeststatus(const char* v); +icalproperty* icalproperty_vanew_requeststatus(const char* v, ...); +void icalproperty_set_requeststatus(icalproperty* prop, const char* v); +const char* icalproperty_get_requeststatus(icalproperty* prop); +/* RESOURCES */ +icalproperty* icalproperty_new_resources(const char* v); +icalproperty* icalproperty_vanew_resources(const char* v, ...); +void icalproperty_set_resources(icalproperty* prop, const char* v); +const char* icalproperty_get_resources(icalproperty* prop); +/* RRULE */ +icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v); +icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...); +void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v); +struct icalrecurrencetype icalproperty_get_rrule(icalproperty* prop); +/* SCOPE */ +icalproperty* icalproperty_new_scope(const char* v); +icalproperty* icalproperty_vanew_scope(const char* v, ...); +void icalproperty_set_scope(icalproperty* prop, const char* v); +const char* icalproperty_get_scope(icalproperty* prop); +/* SEQUENCE */ +icalproperty* icalproperty_new_sequence(int v); +icalproperty* icalproperty_vanew_sequence(int v, ...); +void icalproperty_set_sequence(icalproperty* prop, int v); +int icalproperty_get_sequence(icalproperty* prop); +/* STATUS */ +icalproperty* icalproperty_new_status(enum icalproperty_status v); +icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...); +void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v); +enum icalproperty_status icalproperty_get_status(icalproperty* prop); +/* SUMMARY */ +icalproperty* icalproperty_new_summary(const char* v); +icalproperty* icalproperty_vanew_summary(const char* v, ...); +void icalproperty_set_summary(icalproperty* prop, const char* v); +const char* icalproperty_get_summary(icalproperty* prop); +/* TARGET */ +icalproperty* icalproperty_new_target(const char* v); +icalproperty* icalproperty_vanew_target(const char* v, ...); +void icalproperty_set_target(icalproperty* prop, const char* v); +const char* icalproperty_get_target(icalproperty* prop); +/* TRANSP */ +icalproperty* icalproperty_new_transp(const char* v); +icalproperty* icalproperty_vanew_transp(const char* v, ...); +void icalproperty_set_transp(icalproperty* prop, const char* v); +const char* icalproperty_get_transp(icalproperty* prop); +/* TRIGGER */ +icalproperty* icalproperty_new_trigger(struct icaltriggertype v); +icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...); +void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v); +struct icaltriggertype icalproperty_get_trigger(icalproperty* prop); +/* TZID */ +icalproperty* icalproperty_new_tzid(const char* v); +icalproperty* icalproperty_vanew_tzid(const char* v, ...); +void icalproperty_set_tzid(icalproperty* prop, const char* v); +const char* icalproperty_get_tzid(icalproperty* prop); +/* TZNAME */ +icalproperty* icalproperty_new_tzname(const char* v); +icalproperty* icalproperty_vanew_tzname(const char* v, ...); +void icalproperty_set_tzname(icalproperty* prop, const char* v); +const char* icalproperty_get_tzname(icalproperty* prop); +/* TZOFFSETFROM */ +icalproperty* icalproperty_new_tzoffsetfrom(int v); +icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...); +void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v); +int icalproperty_get_tzoffsetfrom(icalproperty* prop); +/* TZOFFSETTO */ +icalproperty* icalproperty_new_tzoffsetto(int v); +icalproperty* icalproperty_vanew_tzoffsetto(int v, ...); +void icalproperty_set_tzoffsetto(icalproperty* prop, int v); +int icalproperty_get_tzoffsetto(icalproperty* prop); +/* TZURL */ +icalproperty* icalproperty_new_tzurl(const char* v); +icalproperty* icalproperty_vanew_tzurl(const char* v, ...); +void icalproperty_set_tzurl(icalproperty* prop, const char* v); +const char* icalproperty_get_tzurl(icalproperty* prop); +/* UID */ +icalproperty* icalproperty_new_uid(const char* v); +icalproperty* icalproperty_vanew_uid(const char* v, ...); +void icalproperty_set_uid(icalproperty* prop, const char* v); +const char* icalproperty_get_uid(icalproperty* prop); +/* URL */ +icalproperty* icalproperty_new_url(const char* v); +icalproperty* icalproperty_vanew_url(const char* v, ...); +void icalproperty_set_url(icalproperty* prop, const char* v); +const char* icalproperty_get_url(icalproperty* prop); +/* VERSION */ +icalproperty* icalproperty_new_version(const char* v); +icalproperty* icalproperty_vanew_version(const char* v, ...); +void icalproperty_set_version(icalproperty* prop, const char* v); +const char* icalproperty_get_version(icalproperty* prop); +/* X */ +icalproperty* icalproperty_new_x(const char* v); +icalproperty* icalproperty_vanew_x(const char* v, ...); +void icalproperty_set_x(icalproperty* prop, const char* v); +const char* icalproperty_get_x(icalproperty* prop); +/* X-LIC-CLUSTERCOUNT */ +icalproperty* icalproperty_new_xlicclustercount(const char* v); +icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...); +void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicclustercount(icalproperty* prop); +/* X-LIC-ERROR */ +icalproperty* icalproperty_new_xlicerror(const char* v); +icalproperty* icalproperty_vanew_xlicerror(const char* v, ...); +void icalproperty_set_xlicerror(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicerror(icalproperty* prop); +/* X-LIC-MIMECHARSET */ +icalproperty* icalproperty_new_xlicmimecharset(const char* v); +icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...); +void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecharset(icalproperty* prop); +/* X-LIC-MIMECID */ +icalproperty* icalproperty_new_xlicmimecid(const char* v); +icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...); +void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecid(icalproperty* prop); +/* X-LIC-MIMECONTENTTYPE */ +icalproperty* icalproperty_new_xlicmimecontenttype(const char* v); +icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...); +void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimecontenttype(icalproperty* prop); +/* X-LIC-MIMEENCODING */ +icalproperty* icalproperty_new_xlicmimeencoding(const char* v); +icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...); +void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimeencoding(icalproperty* prop); +/* X-LIC-MIMEFILENAME */ +icalproperty* icalproperty_new_xlicmimefilename(const char* v); +icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...); +void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimefilename(icalproperty* prop); +/* X-LIC-MIMEOPTINFO */ +icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v); +icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...); +void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v); +const char* icalproperty_get_xlicmimeoptinfo(icalproperty* prop); + +#endif /*ICALPROPERTY_H*/ diff --git a/src/plugins/vcalendar/libical/libical/icalderivedvalue.c b/src/plugins/vcalendar/libical/libical/icalderivedvalue.c @@ -0,0 +1,950 @@ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalvalue.c + CREATOR: eric 02 May 1999 + + $Id$ + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalvalue.c + + Contributions from: + Graham Davison (g.m.davison@computer.org) + + +======================================================================*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "icalerror.h" +#include "icalmemory.h" +#include "icalparser.h" +#include "icalenums.h" + +#include "icalvalueimpl.h" + +#include <stdlib.h> /* for malloc */ +#include <stdio.h> /* for sprintf */ +#include <string.h> /* For memset, others */ +#include <stddef.h> /* For offsetof() macro */ +#include <errno.h> +#include <time.h> /* for mktime */ +#include <stdlib.h> /* for atoi and atof */ +#include <limits.h> /* for SHRT_MAX */ + + + +#define TMP_BUF_SIZE 1024 + +struct icalvalue_impl* icalvalue_new_impl(icalvalue_kind kind); + +/* This map associates each of the value types with its string + representation */ +struct icalvalue_kind_map { + icalvalue_kind kind; + char name[20]; +}; + +static struct icalvalue_kind_map value_map[]; + +const char* icalvalue_kind_to_string(icalvalue_kind kind) +{ + int i; + + for (i=0; value_map[i].kind != ICAL_NO_VALUE; i++) { + if (value_map[i].kind == kind) { + return value_map[i].name; + } + } + + return 0; +} + +icalvalue_kind icalvalue_string_to_kind(const char* str) +{ + int i; + + for (i=0; value_map[i].kind != ICAL_NO_VALUE; i++) { + if (strcmp(value_map[i].name,str) == 0) { + return value_map[i].kind; + } + } + + return value_map[i].kind; + +} + +icalvalue* icalvalue_new_x (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + impl = icalvalue_new_impl(ICAL_X_VALUE); + icalvalue_set_x((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_x(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + impl = (struct icalvalue_impl*)value; + if(impl->x_value!=0) {free((void*)impl->x_value);} + + impl->x_value = icalmemory_strdup(v); + + if (impl->x_value == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_x(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_X_VALUE); + return ((struct icalvalue_impl*)value)->x_value; +} + +/* Recur is a special case, so it is not auto generated. */ +icalvalue* +icalvalue_new_recur (struct icalrecurrencetype v) +{ + struct icalvalue_impl* impl = icalvalue_new_impl(ICAL_RECUR_VALUE); + + icalvalue_set_recur((icalvalue*)impl,v); + + return (icalvalue*)impl; +} + +void +icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v) +{ + struct icalvalue_impl* impl; + + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_RECUR_VALUE); + + impl = (struct icalvalue_impl*)value; + + if (impl->data.v_recur != 0){ + free(impl->data.v_recur); + impl->data.v_recur = 0; + } + + impl->data.v_recur = malloc(sizeof(struct icalrecurrencetype)); + + if (impl->data.v_recur == 0){ + icalerror_set_errno(ICAL_NEWFAILED_ERROR); + return; + } else { + memcpy(impl->data.v_recur, &v, sizeof(struct icalrecurrencetype)); + } + +} + +struct icalrecurrencetype +icalvalue_get_recur(icalvalue* value) +{ + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_RECUR_VALUE); + + return *(((struct icalvalue_impl*)value)->data.v_recur); +} + + + + +icalvalue* +icalvalue_new_trigger (struct icaltriggertype v) +{ + struct icalvalue_impl* impl = icalvalue_new_impl(ICAL_TRIGGER_VALUE); + + icalvalue_set_trigger((icalvalue*)impl,v); + + return (icalvalue*)impl; +} + +void +icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v) +{ + struct icalvalue_impl* impl; + + icalerror_check_arg_rv( (value!=0),"value"); + + impl = (struct icalvalue_impl*)value; + + if(!icaltime_is_null_time(v.time)){ + icalvalue_set_datetime((icalvalue*)impl,v.time); + impl->kind = ICAL_DATETIME_VALUE; + } else { + icalvalue_set_duration((icalvalue*)impl,v.duration); + impl->kind = ICAL_DURATION_VALUE; + } + +} + +struct icaltriggertype +icalvalue_get_trigger(icalvalue* value) +{ + struct icalvalue_impl *impl = (struct icalvalue_impl*)value; + struct icaltriggertype tr; + + icalerror_check_arg( (value!=0),"value"); + + if(impl->kind == ICAL_DATETIME_VALUE){ + tr.duration = icaldurationtype_from_int(0); + tr.time = impl->data.v_time; + } else if(impl->kind == ICAL_DURATION_VALUE){ + tr.time = icaltime_null_time(); + tr.duration = impl->data.v_duration; + } else { + tr.duration = icaldurationtype_from_int(0); + tr.time = icaltime_null_time(); + icalerror_set_errno(ICAL_BADARG_ERROR); + } + + return tr; +} + +/* DATE-TIME-PERIOD is a special case, and is not auto generated */ + +icalvalue* +icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v) +{ + struct icalvalue_impl* impl = icalvalue_new_impl(ICAL_DATETIMEPERIOD_VALUE); + + icalvalue_set_datetimeperiod((icalvalue*)impl,v); + + return (icalvalue*)impl; +} + +void +icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v) +{ + struct icalvalue_impl* impl = (struct icalvalue_impl*)value; + + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_DATETIMEPERIOD_VALUE); + + if(!icaltime_is_null_time(v.time)){ + if(!icaltime_is_valid_time(v.time)){ + icalerror_set_errno(ICAL_BADARG_ERROR); + return; + } + impl->kind = ICAL_DATETIME_VALUE; + icalvalue_set_datetime(impl,v.time); + } else if (!icalperiodtype_is_null_period(v.period)) { + if(!icalperiodtype_is_valid_period(v.period)){ + icalerror_set_errno(ICAL_BADARG_ERROR); + return; + } + impl->kind = ICAL_PERIOD_VALUE; + icalvalue_set_period(impl,v.period); + } else { + icalerror_set_errno(ICAL_BADARG_ERROR); + } +} + +struct icaldatetimeperiodtype +icalvalue_get_datetimeperiod(icalvalue* value) +{ + struct icaldatetimeperiodtype dtp; + + struct icalvalue_impl* impl = (struct icalvalue_impl*)value; + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_DATETIMEPERIOD_VALUE); + + if(impl->kind == ICAL_DATETIME_VALUE){ + dtp.period = icalperiodtype_null_period(); + dtp.time = impl->data.v_time; + } else if(impl->kind == ICAL_PERIOD_VALUE) { + dtp.period = impl->data.v_period; + dtp.time = icaltime_null_time(); + } else { + dtp.period = icalperiodtype_null_period(); + dtp.time = icaltime_null_time(); + icalerror_set_errno(ICAL_BADARG_ERROR); + } + + return dtp; +} + + + + + + + + + +/* The remaining interfaces are 'new', 'set' and 'get' for each of the value + types */ + + +/* Everything below this line is machine generated. Do not edit. */ +static struct icalvalue_kind_map value_map[]={ + {ICAL_RECUR_VALUE,"RECUR"}, + {ICAL_DATETIMEDATE_VALUE,"DATE-TIME-DATE"}, + {ICAL_DATETIMEPERIOD_VALUE,"DATE-TIME-PERIOD"}, + {ICAL_CALADDRESS_VALUE,"CAL-ADDRESS"}, + {ICAL_BOOLEAN_VALUE,"BOOLEAN"}, + {ICAL_DATETIME_VALUE,"DATE-TIME"}, + {ICAL_DURATION_VALUE,"DURATION"}, + {ICAL_TRIGGER_VALUE,"TRIGGER"}, + {ICAL_UTCOFFSET_VALUE,"UTC-OFFSET"}, + {ICAL_TRANSP_VALUE,"TRANSP"}, + {ICAL_DATE_VALUE,"DATE"}, + {ICAL_GEO_VALUE,"GEO"}, + {ICAL_PERIOD_VALUE,"PERIOD"}, + {ICAL_INTEGER_VALUE,"INTEGER"}, + {ICAL_X_VALUE,"X"}, + {ICAL_TIME_VALUE,"TIME"}, + {ICAL_QUERY_VALUE,"QUERY"}, + {ICAL_ATTACH_VALUE,"ATTACH"}, + {ICAL_FLOAT_VALUE,"FLOAT"}, + {ICAL_BINARY_VALUE,"BINARY"}, + {ICAL_STRING_VALUE,"STRING"}, + {ICAL_URI_VALUE,"URI"}, + {ICAL_ACTION_VALUE,"ACTION"}, + {ICAL_CLASS_VALUE,"CLASS"}, + {ICAL_METHOD_VALUE,"METHOD"}, + {ICAL_TEXT_VALUE,"TEXT"}, + {ICAL_STATUS_VALUE,"STATUS"}, + {ICAL_NO_VALUE,""} +}; + + +icalvalue* icalvalue_new_datetimedate (struct icaltimetype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_DATETIMEDATE_VALUE); + icalvalue_set_datetimedate((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_datetimedate(icalvalue* value, struct icaltimetype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_DATETIMEDATE_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_time = v; + } +struct icaltimetype icalvalue_get_datetimedate(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_DATETIMEDATE_VALUE); + return ((struct icalvalue_impl*)value)->data.v_time; +} + + + +icalvalue* icalvalue_new_caladdress (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_CALADDRESS_VALUE); + icalvalue_set_caladdress((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_caladdress(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_CALADDRESS_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_caladdress(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_CALADDRESS_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_boolean (int v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_BOOLEAN_VALUE); + icalvalue_set_boolean((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_boolean(icalvalue* value, int v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_BOOLEAN_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_int = v; + } +int icalvalue_get_boolean(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_BOOLEAN_VALUE); + return ((struct icalvalue_impl*)value)->data.v_int; +} + + + +icalvalue* icalvalue_new_datetime (struct icaltimetype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_DATETIME_VALUE); + icalvalue_set_datetime((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_DATETIME_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_time = v; + } +struct icaltimetype icalvalue_get_datetime(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_DATETIME_VALUE); + return ((struct icalvalue_impl*)value)->data.v_time; +} + + + +icalvalue* icalvalue_new_duration (struct icaldurationtype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_DURATION_VALUE); + icalvalue_set_duration((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_DURATION_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_duration = v; + } +struct icaldurationtype icalvalue_get_duration(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_DURATION_VALUE); + return ((struct icalvalue_impl*)value)->data.v_duration; +} + + + +icalvalue* icalvalue_new_utcoffset (int v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_UTCOFFSET_VALUE); + icalvalue_set_utcoffset((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_utcoffset(icalvalue* value, int v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_UTCOFFSET_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_int = v; + } +int icalvalue_get_utcoffset(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_UTCOFFSET_VALUE); + return ((struct icalvalue_impl*)value)->data.v_int; +} + + + +icalvalue* icalvalue_new_transp (enum icalproperty_transp v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_TRANSP_VALUE); + icalvalue_set_transp((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_TRANSP_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_enum = v; + } +enum icalproperty_transp icalvalue_get_transp(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_TRANSP_VALUE); + return ((struct icalvalue_impl*)value)->data.v_enum; +} + + + +icalvalue* icalvalue_new_date (struct icaltimetype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_DATE_VALUE); + icalvalue_set_date((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_date(icalvalue* value, struct icaltimetype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_DATE_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_time = v; + } +struct icaltimetype icalvalue_get_date(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_DATE_VALUE); + return ((struct icalvalue_impl*)value)->data.v_time; +} + + + +icalvalue* icalvalue_new_geo (struct icalgeotype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_GEO_VALUE); + icalvalue_set_geo((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_geo(icalvalue* value, struct icalgeotype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_GEO_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_geo = v; + } +struct icalgeotype icalvalue_get_geo(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_GEO_VALUE); + return ((struct icalvalue_impl*)value)->data.v_geo; +} + + + +icalvalue* icalvalue_new_period (struct icalperiodtype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_PERIOD_VALUE); + icalvalue_set_period((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_period(icalvalue* value, struct icalperiodtype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_PERIOD_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_period = v; + } +struct icalperiodtype icalvalue_get_period(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_PERIOD_VALUE); + return ((struct icalvalue_impl*)value)->data.v_period; +} + + + +icalvalue* icalvalue_new_integer (int v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_INTEGER_VALUE); + icalvalue_set_integer((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_integer(icalvalue* value, int v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_INTEGER_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_int = v; + } +int icalvalue_get_integer(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_INTEGER_VALUE); + return ((struct icalvalue_impl*)value)->data.v_int; +} + + + +icalvalue* icalvalue_new_time (struct icaltimetype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_TIME_VALUE); + icalvalue_set_time((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_time(icalvalue* value, struct icaltimetype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_TIME_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_time = v; + } +struct icaltimetype icalvalue_get_time(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_TIME_VALUE); + return ((struct icalvalue_impl*)value)->data.v_time; +} + + + +icalvalue* icalvalue_new_query (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_QUERY_VALUE); + icalvalue_set_query((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_query(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_QUERY_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_query(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_QUERY_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_attach (struct icalattachtype v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_ATTACH_VALUE); + icalvalue_set_attach((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_attach(icalvalue* value, struct icalattachtype v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_ATTACH_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_attach = v; + } +struct icalattachtype icalvalue_get_attach(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_ATTACH_VALUE); + return ((struct icalvalue_impl*)value)->data.v_attach; +} + + + +icalvalue* icalvalue_new_float (float v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_FLOAT_VALUE); + icalvalue_set_float((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_float(icalvalue* value, float v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_FLOAT_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_float = v; + } +float icalvalue_get_float(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_FLOAT_VALUE); + return ((struct icalvalue_impl*)value)->data.v_float; +} + + + +icalvalue* icalvalue_new_binary (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_BINARY_VALUE); + icalvalue_set_binary((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_binary(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_BINARY_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_binary(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_BINARY_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_string (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_STRING_VALUE); + icalvalue_set_string((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_string(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_STRING_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_string(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_STRING_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_uri (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_URI_VALUE); + icalvalue_set_uri((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_uri(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_URI_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_uri(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_URI_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_action (enum icalproperty_action v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_ACTION_VALUE); + icalvalue_set_action((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_action(icalvalue* value, enum icalproperty_action v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_ACTION_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_enum = v; + } +enum icalproperty_action icalvalue_get_action(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_ACTION_VALUE); + return ((struct icalvalue_impl*)value)->data.v_enum; +} + + + +icalvalue* icalvalue_new_class (enum icalproperty_class v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_CLASS_VALUE); + icalvalue_set_class((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_class(icalvalue* value, enum icalproperty_class v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_CLASS_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_enum = v; + } +enum icalproperty_class icalvalue_get_class(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_CLASS_VALUE); + return ((struct icalvalue_impl*)value)->data.v_enum; +} + + + +icalvalue* icalvalue_new_method (enum icalproperty_method v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_METHOD_VALUE); + icalvalue_set_method((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_method(icalvalue* value, enum icalproperty_method v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_METHOD_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_enum = v; + } +enum icalproperty_method icalvalue_get_method(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_METHOD_VALUE); + return ((struct icalvalue_impl*)value)->data.v_enum; +} + + + +icalvalue* icalvalue_new_text (const char* v){ + struct icalvalue_impl* impl; + icalerror_check_arg_rz( (v!=0),"v"); + + impl = icalvalue_new_impl(ICAL_TEXT_VALUE); + icalvalue_set_text((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_text(icalvalue* value, const char* v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + icalerror_check_arg_rv( (v!=0),"v"); + + icalerror_check_value_type(value, ICAL_TEXT_VALUE); + impl = (struct icalvalue_impl*)value; + if(impl->data.v_string!=0) {free((void*)impl->data.v_string);} + + impl->data.v_string = icalmemory_strdup(v); + + if (impl->data.v_string == 0){ + errno = ENOMEM; + } + + } +const char* icalvalue_get_text(icalvalue* value) { + + icalerror_check_arg_rz( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_TEXT_VALUE); + return ((struct icalvalue_impl*)value)->data.v_string; +} + + + +icalvalue* icalvalue_new_status (enum icalproperty_status v){ + struct icalvalue_impl* impl; + + impl = icalvalue_new_impl(ICAL_STATUS_VALUE); + icalvalue_set_status((icalvalue*)impl,v); + return (icalvalue*)impl; +} +void icalvalue_set_status(icalvalue* value, enum icalproperty_status v) { + struct icalvalue_impl* impl; + icalerror_check_arg_rv( (value!=0),"value"); + + icalerror_check_value_type(value, ICAL_STATUS_VALUE); + impl = (struct icalvalue_impl*)value; + + impl->data.v_enum = v; + } +enum icalproperty_status icalvalue_get_status(icalvalue* value) { + + icalerror_check_arg( (value!=0),"value"); + icalerror_check_value_type(value, ICAL_STATUS_VALUE); + return ((struct icalvalue_impl*)value)->data.v_enum; +} diff --git a/src/plugins/vcalendar/libical/libical/icalderivedvalue.h b/src/plugins/vcalendar/libical/libical/icalderivedvalue.h @@ -0,0 +1,290 @@ +/* -*- Mode: C -*- */ +/*====================================================================== + FILE: icalvalue.h + CREATOR: eric 20 March 1999 + + + $Id$ + $Locker$ + + + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + + This program is free software; you can redistribute it and/or modify + it under the terms of either: + + The LGPL as published by the Free Software Foundation, version + 2.1, available at: http://www.fsf.org/copyleft/lesser.html + + Or: + + The Mozilla Public License Version 1.0. You may obtain a copy of + the License at http://www.mozilla.org/MPL/ + + The original code is icalvalue.h + + ======================================================================*/ + +#ifndef ICALDERIVEDVALUE_H +#define ICALDERIVEDVALUE_H + +#include "icaltypes.h" +#include "icalrecur.h" +#include "icaltime.h" +#include "icalduration.h" +#include "icalperiod.h" + +typedef void icalvalue; + + + +void icalvalue_set_x(icalvalue* value, const char* v); +icalvalue* icalvalue_new_x(const char* v); +const char* icalvalue_get_x(icalvalue* value); + +icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); +void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); +struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); + +icalvalue* icalvalue_new_trigger (struct icaltriggertype v); +void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); +struct icaltriggertype icalvalue_get_trigger(icalvalue* value); + +icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); +void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v); +struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); + +/* Everything below this line is machine generated. Do not edit. */ +typedef enum icalvalue_kind { + ICAL_ANY_VALUE=5000, + ICAL_TEXT_VALUE=5001, + ICAL_BOOLEAN_VALUE=5002, + ICAL_DATETIMEPERIOD_VALUE=5003, + ICAL_DURATION_VALUE=5004, + ICAL_DATETIME_VALUE=5005, + ICAL_URI_VALUE=5006, + ICAL_X_VALUE=5007, + ICAL_FLOAT_VALUE=5008, + ICAL_PERIOD_VALUE=5009, + ICAL_TRIGGER_VALUE=5010, + ICAL_QUERY_VALUE=5011, + ICAL_CALADDRESS_VALUE=5012, + ICAL_UTCOFFSET_VALUE=5013, + ICAL_DATETIMEDATE_VALUE=5014, + ICAL_TRANSP_VALUE=5015, + ICAL_DATE_VALUE=5016, + ICAL_ACTION_VALUE=5017, + ICAL_TIME_VALUE=5018, + ICAL_METHOD_VALUE=5019, + ICAL_STATUS_VALUE=5020, + ICAL_GEO_VALUE=5021, + ICAL_INTEGER_VALUE=5022, + ICAL_CLASS_VALUE=5023, + ICAL_ATTACH_VALUE=5024, + ICAL_RECUR_VALUE=5025, + ICAL_BINARY_VALUE=5026, + ICAL_STRING_VALUE=5027, + ICAL_NO_VALUE=5028 +} icalvalue_kind ; + +#define ICALPROPERTY_FIRST_ENUM 10000 + +typedef enum icalproperty_action { + ICAL_ACTION_X = 10000, + ICAL_ACTION_AUDIO = 10001, + ICAL_ACTION_DISPLAY = 10002, + ICAL_ACTION_EMAIL = 10003, + ICAL_ACTION_PROCEDURE = 10004, + ICAL_ACTION_NONE = 10005 +} icalproperty_action; + +typedef enum icalproperty_class { + ICAL_CLASS_X = 10006, + ICAL_CLASS_PUBLIC = 10007, + ICAL_CLASS_PRIVATE = 10008, + ICAL_CLASS_CONFIDENTIAL = 10009, + ICAL_CLASS_NONE = 10010 +} icalproperty_class; + +typedef enum icalproperty_method { + ICAL_METHOD_X = 10011, + ICAL_METHOD_PUBLISH = 10012, + ICAL_METHOD_REQUEST = 10013, + ICAL_METHOD_REPLY = 10014, + ICAL_METHOD_ADD = 10015, + ICAL_METHOD_CANCEL = 10016, + ICAL_METHOD_REFRESH = 10017, + ICAL_METHOD_COUNTER = 10018, + ICAL_METHOD_DECLINECOUNTER = 10019, + ICAL_METHOD_CREATE = 10020, + ICAL_METHOD_READ = 10021, + ICAL_METHOD_RESPONSE = 10022, + ICAL_METHOD_MOVE = 10023, + ICAL_METHOD_MODIFY = 10024, + ICAL_METHOD_GENERATEUID = 10025, + ICAL_METHOD_DELETE = 10026, + ICAL_METHOD_NONE = 10027 +} icalproperty_method; + +typedef enum icalproperty_status { + ICAL_STATUS_X = 10028, + ICAL_STATUS_TENTATIVE = 10029, + ICAL_STATUS_CONFIRMED = 10030, + ICAL_STATUS_COMPLETED = 10031, + ICAL_STATUS_NEEDSACTION = 10032, + ICAL_STATUS_CANCELLED = 10033, + ICAL_STATUS_INPROCESS = 10034, + ICAL_STATUS_DRAFT = 10035, + ICAL_STATUS_FINAL = 10036, + ICAL_STATUS_NONE = 10037 +} icalproperty_status; + +typedef enum icalproperty_transp { + ICAL_TRANSP_X = 10038, + ICAL_TRANSP_OPAQUE = 10039, + ICAL_TRANSP_TRANSPARENT = 10040, + ICAL_TRANSP_NONE = 10041 +} icalproperty_transp; + +#define ICALPROPERTY_LAST_ENUM 10042 + + + /* TEXT */ +icalvalue* icalvalue_new_text(const char* v); +const char* icalvalue_get_text(icalvalue* value); +void icalvalue_set_text(icalvalue* value, const char* v); + + + /* BOOLEAN */ +icalvalue* icalvalue_new_boolean(int v); +int icalvalue_get_boolean(icalvalue* value); +void icalvalue_set_boolean(icalvalue* value, int v); + + + /* DURATION */ +icalvalue* icalvalue_new_duration(struct icaldurationtype v); +struct icaldurationtype icalvalue_get_duration(icalvalue* value); +void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v); + + + /* DATE-TIME */ +icalvalue* icalvalue_new_datetime(struct icaltimetype v); +struct icaltimetype icalvalue_get_datetime(icalvalue* value); +void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v); + + + /* URI */ +icalvalue* icalvalue_new_uri(const char* v); +const char* icalvalue_get_uri(icalvalue* value); +void icalvalue_set_uri(icalvalue* value, const char* v); + + + /* FLOAT */ +icalvalue* icalvalue_new_float(float v); +float icalvalue_get_float(icalvalue* value); +void icalvalue_set_float(icalvalue* value, float v); + + + /* PERIOD */ +icalvalue* icalvalue_new_period(struct icalperiodtype v); +struct icalperiodtype icalvalue_get_period(icalvalue* value); +void icalvalue_set_period(icalvalue* value, struct icalperiodtype v); + + + /* QUERY */ +icalvalue* icalvalue_new_query(const char* v); +const char* icalvalue_get_query(icalvalue* value); +void icalvalue_set_query(icalvalue* value, const char* v); + + + /* CAL-ADDRESS */ +icalvalue* icalvalue_new_caladdress(const char* v); +const char* icalvalue_get_caladdress(icalvalue* value); +void icalvalue_set_caladdress(icalvalue* value, const char* v); + + + /* UTC-OFFSET */ +icalvalue* icalvalue_new_utcoffset(int v); +int icalvalue_get_utcoffset(icalvalue* value); +void icalvalue_set_utcoffset(icalvalue* value, int v); + + + /* DATE-TIME-DATE */ +icalvalue* icalvalue_new_datetimedate(struct icaltimetype v); +struct icaltimetype icalvalue_get_datetimedate(icalvalue* value); +void icalvalue_set_datetimedate(icalvalue* value, struct icaltimetype v); + + + /* TRANSP */ +icalvalue* icalvalue_new_transp(enum icalproperty_transp v); +enum icalproperty_transp icalvalue_get_transp(icalvalue* value); +void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v); + + + /* DATE */ +icalvalue* icalvalue_new_date(struct icaltimetype v); +struct icaltimetype icalvalue_get_date(icalvalue* value); +void icalvalue_set_date(icalvalue* value, struct icaltimetype v); + + + /* ACTION */ +icalvalue* icalvalue_new_action(enum icalproperty_action v); +enum icalproperty_action icalvalue_get_action(icalvalue* value); +void icalvalue_set_action(icalvalue* value, enum icalproperty_action v); + + + /* TIME */ +icalvalue* icalvalue_new_time(struct icaltimetype v); +struct icaltimetype icalvalue_get_time(icalvalue* value); +void icalvalue_set_time(icalvalue* value, struct icaltimetype v); + + + /* METHOD */ +icalvalue* icalvalue_new_method(enum icalproperty_method v); +enum icalproperty_method icalvalue_get_method(icalvalue* value); +void icalvalue_set_method(icalvalue* value, enum icalproperty_method v); + + + /* STATUS */ +icalvalue* icalvalue_new_status(enum icalproperty_status v); +enum icalproperty_status icalvalue_get_status(icalvalue* value); +void icalvalue_set_status(icalvalue* value, enum icalproperty_status v); + + + /* GEO */ +icalvalue* icalvalue_new_geo(struct icalgeotype v); +struct icalgeotype icalvalue_get_geo(icalvalue* value); +void icalvalue_set_geo(icalvalue* value, struct icalgeotype v); + + + /* INTEGER */ +icalvalue* icalvalue_new_integer(int v); +int icalvalue_get_integer(icalvalue* value); +void icalvalue_set_integer(icalvalue* value, int v); + + + /* CLASS */ +icalvalue* icalvalue_new_class(enum icalproperty_class v); +enum icalproperty_class icalvalue_get_class(icalvalue* value); +void icalvalue_set_class(icalvalue* value, enum icalproperty_class v); + + + /* ATTACH */ +icalvalue* icalvalue_new_attach(struct icalattachtype v); +struct icalattachtype icalvalue_get_attach(icalvalue* value); +void icalvalue_set_attach(icalvalue* value, struct icalattachtype v); + + + /* BINARY */ +icalvalue* icalvalue_new_binary(const char* v); +const char* icalvalue_get_binary(icalvalue* value); +void icalvalue_set_binary(icalvalue* value, const char* v); + + + /* STRING */ +icalvalue* icalvalue_new_string(const char* v); +const char* icalvalue_get_string(icalvalue* value); +void icalvalue_set_string(icalvalue* value, const char* v); + +#endif /*ICALVALUE_H*/ diff --git a/src/plugins/vcalendar/libical/libical/icallexer.c b/src/plugins/vcalendar/libical/libical/icallexer.c @@ -0,0 +1,2006 @@ + +#line 3 "icallexer.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define yy_create_buffer ical_yy_create_buffer +#define yy_delete_buffer ical_yy_delete_buffer +#define yy_flex_debug ical_yy_flex_debug +#define yy_init_buffer ical_yy_init_buffer +#define yy_flush_buffer ical_yy_flush_buffer +#define yy_load_buffer_state ical_yy_load_buffer_state +#define yy_switch_to_buffer ical_yy_switch_to_buffer +#define yyin ical_yyin +#define yyleng ical_yyleng +#define yylex ical_yylex +#define yylineno ical_yylineno +#define yyout ical_yyout +#define yyrestart ical_yyrestart +#define yytext ical_yytext +#define yywrap ical_yywrap +#define yyalloc ical_yyalloc +#define yyrealloc ical_yyrealloc +#define yyfree ical_yyfree + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <stdlib.h> + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include <inttypes.h> +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE ical_yyrestart(ical_yyin ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +extern int ical_yyleng; + +extern FILE *ical_yyin, *ical_yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up ical_yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up ical_yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, (yytext_ptr) ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via ical_yyrestart()), so that the user can continue scanning by + * just pointing ical_yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when ical_yytext is formed. */ +static char yy_hold_char; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int ical_yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = (char *) 0; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow ical_yywrap()'s to do buffer switches + * instead of setting up a fresh ical_yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void ical_yyrestart (FILE *input_file ); +void ical_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE ical_yy_create_buffer (FILE *file,int size ); +void ical_yy_delete_buffer (YY_BUFFER_STATE b ); +void ical_yy_flush_buffer (YY_BUFFER_STATE b ); +void ical_yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +void ical_yypop_buffer_state (void ); + +static void ical_yyensure_buffer_stack (void ); +static void ical_yy_load_buffer_state (void ); +static void ical_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); + +#define YY_FLUSH_BUFFER ical_yy_flush_buffer(YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE ical_yy_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE ical_yy_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE ical_yy_scan_bytes (yyconst char *bytes,int len ); + +void *ical_yyalloc (yy_size_t ); +void *ical_yyrealloc (void *,yy_size_t ); +void ical_yyfree (void * ); + +#define yy_new_buffer ical_yy_create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + ical_yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + ical_yy_create_buffer(ical_yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + ical_yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + ical_yy_create_buffer(ical_yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +typedef unsigned char YY_CHAR; + +FILE *ical_yyin = (FILE *) 0, *ical_yyout = (FILE *) 0; + +typedef int yy_state_type; + +extern int ical_yylineno; + +int ical_yylineno = 1; + +extern char ical_yytext[]; + +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up ical_yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + ical_yyleng = (size_t) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + if ( ical_yyleng >= YYLMAX ) \ + YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ + yy_flex_strncpy( ical_yytext, (yytext_ptr), ical_yyleng + 1 ); \ + (yy_c_buf_p) = yy_cp; + +#define YY_NUM_RULES 12 +#define YY_END_OF_BUFFER 13 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[67] = + { 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13, 12, 5, 12, 4, 1, + 2, 3, 6, 12, 7, 12, 9, 10, 9, 11, + 5, 1, 6, 8, 10, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 5, 6, 1, 7, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, + 1, 7, 1, 1, 1, 1, 7, 1, 1, 7, + 1, 1, 7, 9, 1, 1, 7, 1, 1, 10, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, + + 1, 1, 1, 7, 1, 1, 1, 1, 7, 1, + 1, 7, 1, 1, 7, 11, 1, 1, 7, 1, + 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[13] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1 + } ; + +static yyconst flex_int16_t yy_base[69] = + { 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 18, 20, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 27, 26, 0, 0, + 0, 0, 0, 0, 30, 33, 33, 27, 33, 20, + 33, 33, 33, 25, 33, 18, 33, 33, 23, 33, + 33, 16, 33, 33, 33, 33, 17, 15 + } ; + +static yyconst flex_int16_t yy_def[69] = + { 0, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 66, 11, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 23, 68, 68, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 0, 66, 66 + } ; + +static yyconst flex_int16_t yy_nxt[46] = + { 0, + 46, 47, 48, 49, 46, 49, 49, 50, 51, 52, + 51, 52, 53, 54, 55, 57, 55, 46, 56, 58, + 59, 58, 59, 62, 65, 64, 63, 62, 61, 66, + 60, 60, 45, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66 + } ; + +static yyconst flex_int16_t yy_chk[46] = + { 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 23, 23, 23, 68, 23, 67, 23, 25, + 25, 26, 26, 62, 59, 56, 54, 50, 48, 45, + 38, 37, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66 + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + +extern int ical_yy_flex_debug; +int ical_yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +#ifndef YYLMAX +#define YYLMAX 8192 +#endif + +char ical_yytext[YYLMAX]; +char *yytext_ptr; +#line 1 "icallexer.l" +#line 2 "icallexer.l" +/* -*- Mode: C -*- + ====================================================================== + FILE: icallexer.l + CREATOR: eric 10 June 1999 + + DESCRIPTION: + + $Id$ + $Locker$ + + (C) COPYRIGHT 1999 Eric Busboom + http://www.softwarestudio.org + + The contents of this file are subject to the Mozilla Public License + Version 1.0 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and + limitations under the License. + + The original author is Eric Busboom + The original code is icalitip.y + + + + ======================================================================*/ +#include "icalparser.h" +#include "icalenums.h" +#include "icalmemory.h" +#include "assert.h" +#include "icalyacc.h" + +#include <string.h> /* For strdup() */ + +int icalparser_flex_input(char* buf, int max_size); +void icalparser_clear_flex_input(void); + + +#define ICAL_MAX_STR_CONST 1024 + +#undef YY_INPUT +#define YY_INPUT(b,r,ms) ( r= icalparser_flex_input(b,ms)) +#undef ical_yywrap + +#undef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) ical_yyerror(msg) + +icalvalue_kind value_kind=ICAL_NO_VALUE; +void set_parser_value_state(icalvalue_kind kind); +extern int yydebug; + +void ical_yyerror(char *s); + +void init_str_buf(void); + +int last_state; + +char *str_buf; +char *str_buf_p; +size_t buf_sz; /* = ICAL_MAX_STR_CONST;*/ + + + + +#line 579 "icallexer.c" + +#define INITIAL 0 +#define quoted_string 1 +#define binary_value 2 +#define boolean_value 3 +#define uri_value 4 +#define time_value 5 +#define duration_value 6 +#define number_value 7 +#define period_value 8 +#define recur_value 9 +#define text_value 10 +#define utcoffset_value 11 +#define enum_param_value 12 +#define string_param_value 13 +#define stringlist_param_value 14 +#define keyword 15 +#define line_start 16 +#define component 17 +#define seperator 18 +#define parameter 19 +#define end_of_value 20 +#define paramtext 21 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include <unistd.h> +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals (void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int ical_yylex_destroy (void ); + +int ical_yyget_debug (void ); + +void ical_yyset_debug (int debug_flag ); + +YY_EXTRA_TYPE ical_yyget_extra (void ); + +void ical_yyset_extra (YY_EXTRA_TYPE user_defined ); + +FILE *ical_yyget_in (void ); + +void ical_yyset_in (FILE * in_str ); + +FILE *ical_yyget_out (void ); + +void ical_yyset_out (FILE * out_str ); + +int ical_yyget_leng (void ); + +char *ical_yyget_text (void ); + +int ical_yyget_lineno (void ); + +void ical_yyset_lineno (int line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int ical_yywrap (void ); +#else +extern int ical_yywrap (void ); +#endif +#endif + + static void yyunput (int c,char *buf_ptr ); + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (void ); +#else +static int input (void ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( ical_yytext, ical_yyleng, 1, ical_yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( ical_yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( ical_yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, ical_yyin))==0 && ferror(ical_yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(ical_yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int ical_yylex (void); + +#define YY_DECL int ical_yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after ical_yytext and ical_yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + +#line 91 "icallexer.l" + + + + + + + +#line 795 "icallexer.c" + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! ical_yyin ) + ical_yyin = stdin; + + if ( ! ical_yyout ) + ical_yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + ical_yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + ical_yy_create_buffer(ical_yyin,YY_BUF_SIZE ); + } + + ical_yy_load_buffer_state( ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of ical_yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 67 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 33 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 99 "icallexer.l" +{ ical_yylval.v_string =icalmemory_tmp_copy(ical_yytext) ; + return DIGITS; } + YY_BREAK +case 2: +YY_RULE_SETUP +#line 101 "icallexer.l" +{ return TIME_CHAR; } + YY_BREAK +case 3: +YY_RULE_SETUP +#line 102 "icallexer.l" +{ return UTC_CHAR; } + YY_BREAK +case 4: +YY_RULE_SETUP +#line 103 "icallexer.l" +{ return ical_yytext[0]; } + YY_BREAK +case 5: +/* rule 5 can match eol */ +YY_RULE_SETUP +#line 104 "icallexer.l" +{ return EOL;} + YY_BREAK + + +case 6: +/* rule 6 can match eol */ +YY_RULE_SETUP +#line 109 "icallexer.l" +{ return EOL;} + YY_BREAK +case 7: +YY_RULE_SETUP +#line 110 "icallexer.l" +{ return ical_yytext[0]; } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 111 "icallexer.l" +{ ical_yylval.v_int=atoi(ical_yytext); return INTNUMBER; } + YY_BREAK + + +case 9: +YY_RULE_SETUP +#line 116 "icallexer.l" +{ return CHARACTER; } + YY_BREAK +case 10: +/* rule 10 can match eol */ +YY_RULE_SETUP +#line 117 "icallexer.l" +{ return EOL;} + YY_BREAK + + +case 11: +YY_RULE_SETUP +#line 122 "icallexer.l" +{ BEGIN(last_state); return COMMA; } + YY_BREAK + +case 12: +YY_RULE_SETUP +#line 126 "icallexer.l" +ECHO; + YY_BREAK +#line 949 "icallexer.c" +case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(quoted_string): +case YY_STATE_EOF(binary_value): +case YY_STATE_EOF(boolean_value): +case YY_STATE_EOF(uri_value): +case YY_STATE_EOF(time_value): +case YY_STATE_EOF(duration_value): +case YY_STATE_EOF(number_value): +case YY_STATE_EOF(period_value): +case YY_STATE_EOF(recur_value): +case YY_STATE_EOF(text_value): +case YY_STATE_EOF(utcoffset_value): +case YY_STATE_EOF(enum_param_value): +case YY_STATE_EOF(string_param_value): +case YY_STATE_EOF(stringlist_param_value): +case YY_STATE_EOF(keyword): +case YY_STATE_EOF(line_start): +case YY_STATE_EOF(component): +case YY_STATE_EOF(seperator): +case YY_STATE_EOF(parameter): +case YY_STATE_EOF(end_of_value): +case YY_STATE_EOF(paramtext): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed ical_yyin at a new source and called + * ical_yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = ical_yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( ical_yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * ical_yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of ical_yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); + register int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + ical_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), (size_t) num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + ical_yyrestart(ical_yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ical_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + + yy_current_state = (yy_start); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 67 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + register int yy_is_jam; + register char *yy_cp = (yy_c_buf_p); + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 67 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 66); + + return yy_is_jam ? 0 : yy_current_state; +} + + static void yyunput (int c, register char * yy_bp ) +{ + register char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up ical_yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + register int number_to_move = (yy_n_chars) + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + int offset = (yy_c_buf_p) - (yytext_ptr); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + ical_yyrestart(ical_yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( ical_yywrap( ) ) + return EOF; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve ical_yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void ical_yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + ical_yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + ical_yy_create_buffer(ical_yyin,YY_BUF_SIZE ); + } + + ical_yy_init_buffer(YY_CURRENT_BUFFER,input_file ); + ical_yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void ical_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * ical_yypop_buffer_state(); + * ical_yypush_buffer_state(new_buffer); + */ + ical_yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + ical_yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (ical_yywrap()) processing, but the only time this flag + * is looked at is after ical_yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void ical_yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + ical_yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE ical_yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) ical_yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) ical_yyalloc(b->yy_buf_size + 2 ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + ical_yy_init_buffer(b,file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with ical_yy_create_buffer() + * + */ + void ical_yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + ical_yyfree((void *) b->yy_ch_buf ); + + ical_yyfree((void *) b ); +} + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a ical_yyrestart() or at EOF. + */ + static void ical_yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + ical_yy_flush_buffer(b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then ical_yy_init_buffer was _probably_ + * called from ical_yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void ical_yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + ical_yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void ical_yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + ical_yyensure_buffer_stack(); + + /* This block is copied from ical_yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from ical_yy_switch_to_buffer. */ + ical_yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void ical_yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + ical_yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + ical_yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void ical_yyensure_buffer_stack (void) +{ + int num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)ical_yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yyensure_buffer_stack()" ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)ical_yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yyensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE ical_yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) ical_yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yy_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + ical_yy_switch_to_buffer(b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to ical_yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * ical_yy_scan_bytes() instead. + */ +YY_BUFFER_STATE ical_yy_scan_string (yyconst char * yystr ) +{ + + return ical_yy_scan_bytes(yystr,strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to ical_yylex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE ical_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) ical_yyalloc(n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in ical_yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = ical_yy_scan_buffer(buf,n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in ical_yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up ical_yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + ical_yytext[ical_yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = ical_yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + ical_yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int ical_yyget_lineno (void) +{ + + return ical_yylineno; +} + +/** Get the input stream. + * + */ +FILE *ical_yyget_in (void) +{ + return ical_yyin; +} + +/** Get the output stream. + * + */ +FILE *ical_yyget_out (void) +{ + return ical_yyout; +} + +/** Get the length of the current token. + * + */ +int ical_yyget_leng (void) +{ + return ical_yyleng; +} + +/** Get the current token. + * + */ + +char *ical_yyget_text (void) +{ + return ical_yytext; +} + +/** Set the current line number. + * @param line_number + * + */ +void ical_yyset_lineno (int line_number ) +{ + + ical_yylineno = line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * + * @see ical_yy_switch_to_buffer + */ +void ical_yyset_in (FILE * in_str ) +{ + ical_yyin = in_str ; +} + +void ical_yyset_out (FILE * out_str ) +{ + ical_yyout = out_str ; +} + +int ical_yyget_debug (void) +{ + return ical_yy_flex_debug; +} + +void ical_yyset_debug (int bdebug ) +{ + ical_yy_flex_debug = bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from ical_yylex_destroy(), so don't allocate here. + */ + + (yy_buffer_stack) = 0; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = (char *) 0; + (yy_init) = 0; + (yy_start) = 0; + +/* Defined in main.c */ +#ifdef YY_STDINIT + ical_yyin = stdin; + ical_yyout = stdout; +#else + ical_yyin = (FILE *) 0; + ical_yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * ical_yylex_init() + */ + return 0; +} + +/* ical_yylex_destroy is for both reentrant and non-reentrant scanners. */ +int ical_yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + ical_yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + ical_yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + ical_yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * ical_yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s ) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *ical_yyalloc (yy_size_t size ) +{ + return (void *) malloc( size ); +} + +void *ical_yyrealloc (void * ptr, yy_size_t size ) +{ + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); +} + +void ical_yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see ical_yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 126 "icallexer.l" + + + +int ical_yywrap() +{ + return 1; +} + + +void set_parser_value_state(icalvalue_kind kind) +{ + + switch (kind){ + + case ICAL_UTCOFFSET_VALUE: + {BEGIN(utcoffset_value);break;} + + case ICAL_DATETIMEPERIOD_VALUE: + case ICAL_DURATION_VALUE: + case ICAL_PERIOD_VALUE: + {BEGIN(time_value);break;} + + default: + { + assert(1==0); + } + } +} + +void init_str_buf(void) +{ + str_buf = icalmemory_tmp_buffer(ICAL_MAX_STR_CONST); + str_buf_p = str_buf; + buf_sz = ICAL_MAX_STR_CONST; + + +} + + diff --git a/src/plugins/vcalendar/libical/libical/icalrestriction.c b/src/plugins/vcalendar/libical/libical/icalrestriction.c @@ -0,0 +1,1778 @@ +/* -*- Mode: C -*- */ +/* ====================================================================== + File: icalrestriction.c + + (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org + ======================================================================*/ +/*#line 7 "icalrestriction.c.in"*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "icalrestriction.h" +#include "icalenums.h" +#include "icalerror.h" + +#include <assert.h> +#include <stdio.h> /* For snprintf */ + +#define TMP_BUF_SIZE 1024 + + +/* Define the structs for the restrictions. these data are filled out +in machine generated code below */ + +struct icalrestriction_property_record; + +typedef char* (*restriction_func)(struct icalrestriction_property_record* rec,icalcomponent* comp,icalproperty* prop); + + +typedef struct icalrestriction_property_record { + icalproperty_method method; + icalcomponent_kind component; + icalproperty_kind property; + icalrestriction_kind restriction; + restriction_func function; +} icalrestriction_property_record; + + +typedef struct icalrestriction_component_record { + icalproperty_method method; + icalcomponent_kind component; + icalcomponent_kind subcomponent; + icalrestriction_kind restriction; + restriction_func function; +} icalrestriction_component_record; + +icalrestriction_property_record* +icalrestriction_get_property_restriction(icalproperty_method method, + icalcomponent_kind component, + icalproperty_kind property); +icalrestriction_component_record* +icalrestriction_get_component_restriction(icalproperty_method method, + icalcomponent_kind component, + icalcomponent_kind subcomponent); + +icalrestriction_component_record icalrestriction_component_records[]; +icalrestriction_property_record icalrestriction_property_records[]; + +icalrestriction_property_record null_prop_record = {ICAL_METHOD_NONE,ICAL_NO_COMPONENT,ICAL_NO_PROPERTY,ICAL_RESTRICTION_UNKNOWN,0}; +icalrestriction_component_record null_comp_record = {ICAL_METHOD_NONE,ICAL_NO_COMPONENT,ICAL_NO_COMPONENT,ICAL_RESTRICTION_UNKNOWN,0}; + + +/* The each row gives the result of comparing a restriction against a + count. The columns in each row represent 0,1,2+. '-1' indicates + 'invalid, 'don't care' or 'needs more analysis' So, for + ICAL_RESTRICTION_ONE, if there is 1 of a property with that + restriction, it passes, but if there are 0 or 2+, it fails. */ + +char compare_map[ICAL_RESTRICTION_UNKNOWN+1][3] = { + { 1, 1, 1},/*ICAL_RESTRICTION_NONE*/ + { 1, 0, 0},/*ICAL_RESTRICTION_ZERO*/ + { 0, 1, 0},/*ICAL_RESTRICTION_ONE*/ + { 1, 1, 1},/*ICAL_RESTRICTION_ZEROPLUS*/ + { 0, 1, 1},/*ICAL_RESTRICTION_ONEPLUS*/ + { 1, 1, 0},/*ICAL_RESTRICTION_ZEROORONE*/ + { 1, 1, 0},/*ICAL_RESTRICTION_ONEEXCLUSIVE*/ + { 1, 1, 0},/*ICAL_RESTRICTION_ONEMUTUAL*/ + { 1, 1, 1} /*ICAL_RESTRICTION_UNKNOWN*/ +}; + +char restr_string_map[ICAL_RESTRICTION_UNKNOWN+1][60] = { + "unknown number",/*ICAL_RESTRICTION_NONE*/ + "0",/*ICAL_RESTRICTION_ZERO*/ + "1",/*ICAL_RESTRICTION_ONE*/ + "zero or more",/*ICAL_RESTRICTION_ZEROPLUS*/ + "one or more" ,/*ICAL_RESTRICTION_ONEPLUS*/ + "zero or one",/*ICAL_RESTRICTION_ZEROORONE*/ + "zero or one, exclusive with another property",/*ICAL_RESTRICTION_ONEEXCLUSIVE*/ + "zero or one, mutual with another property",/*ICAL_RESTRICTION_ONEMUTUAL*/ + "unknown number" /*ICAL_RESTRICTION_UNKNOWN*/ +}; + + +int +icalrestriction_compare(icalrestriction_kind restr, int count){ + + if ( restr < ICAL_RESTRICTION_NONE || restr > ICAL_RESTRICTION_UNKNOWN + || count < 0){ + return -1; + } + + if (count > 2) { + count = 2; + } + + return compare_map[restr][count]; + +} + +/* Special case routines */ + +char* icalrestriction_may_be_draft_final_canceled( + icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop) +{ + + icalproperty_status stat = icalproperty_get_status(prop); + + if( !( stat == ICAL_STATUS_DRAFT || + stat == ICAL_STATUS_FINAL || + stat == ICAL_STATUS_CANCELLED )){ + + return "Failed iTIP restrictions for STATUS property. Value must be one of DRAFT, FINAL, or CANCELED"; + + } + + return 0; +} + +char* icalrestriction_may_be_comp_need_process( + icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop) +{ + icalproperty_status stat = icalproperty_get_status(prop); + + if( !( stat == ICAL_STATUS_COMPLETED || + stat == ICAL_STATUS_NEEDSACTION || + stat == ICAL_STATUS_INPROCESS )){ + + return "Failed iTIP restrictions for STATUS property. Value must be one of COMPLETED, NEEDS-ACTION or IN-PROCESS"; + + } + + return 0; +} +char* icalrestriction_may_be_tent_conf(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + icalproperty_status stat = icalproperty_get_status(prop); + + if( !( stat == ICAL_STATUS_TENTATIVE || + stat == ICAL_STATUS_CONFIRMED )){ + + return "Failed iTIP restrictions for STATUS property. Value must be one of TENTATIVE or CONFIRMED"; + + } + + return 0; +} +char* icalrestriction_may_be_tent_conf_cancel( + icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop) +{ + icalproperty_status stat = icalproperty_get_status(prop); + + if( !( stat == ICAL_STATUS_TENTATIVE || + stat == ICAL_STATUS_CONFIRMED || + stat == ICAL_STATUS_CANCELLED )){ + + return "Failed iTIP restrictions for STATUS property. Value must be one of TENTATIVE, CONFIRMED or CANCELED"; + + } + + return 0; +} + +char* icalrestriction_must_be_cancel_if_present( + icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop) +{ + /* This routine will not be called if prop == 0 */ + icalproperty_status stat = icalproperty_get_status(prop); + + if( stat != ICAL_STATUS_CANCELLED) + { + return "Failed iTIP restrictions for STATUS property. Value must be CANCELLED"; + + } + + + return 0; +} + +char* icalrestriction_must_be_canceled_no_attendee( + icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop) +{ + + /* Hack. see rfc2446, 3.2.5 CANCEL for porperty STATUS. I don't + understand the note */ + + return 0; +} +char* icalrestriction_must_be_recurring(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + /* Hack */ + return 0; +} +char* icalrestriction_must_have_duration(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + + if( !icalcomponent_get_first_property(comp,ICAL_DURATION_PROPERTY)){ + + return "Failed iTIP restrictions for STATUS property. This component must have a DURATION property"; + + } + + return 0; +} +char* icalrestriction_must_have_repeat(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + if( !icalcomponent_get_first_property(comp,ICAL_REPEAT_PROPERTY)){ + + return "Failed iTIP restrictions for STATUS property. This component must have a REPEAT property"; + + } + + return 0; +} +char* icalrestriction_must_if_tz_ref(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + + /* Hack */ + return 0; +} +char* icalrestriction_no_dtend(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + + if( !icalcomponent_get_first_property(comp,ICAL_DTEND_PROPERTY)){ + + return "Failed iTIP restrictions for STATUS property. The component must not have both DURATION and DTEND"; + + } + + return 0; +} +char* icalrestriction_no_duration(icalrestriction_property_record *rec, + icalcomponent* comp, + icalproperty* prop){ + + /* _no_dtend takes care of this one */ + return 0; +} + + +int icalrestriction_check_component(icalproperty_method method, + icalcomponent* comp) +{ + icalproperty_kind kind; + icalcomponent_kind comp_kind; + icalrestriction_kind restr; + icalrestriction_property_record *prop_record; + char* funcr = 0; + icalproperty *prop; + + int count; + int compare; + int valid = 1; + + comp_kind = icalcomponent_isa(comp); + + /* Check all of the properties in this component */ + + for(kind = ICAL_ANY_PROPERTY+1; kind != ICAL_NO_PROPERTY; kind++){ + count = icalcomponent_count_properties(comp, kind); + + prop_record = icalrestriction_get_property_restriction(method, + comp_kind, + kind); + + restr = prop_record->restriction; + + if(restr == ICAL_RESTRICTION_ONEEXCLUSIVE || + restr == ICAL_RESTRICTION_ONEMUTUAL) { + + /* First treat is as a 0/1 restriction */ + restr = ICAL_RESTRICTION_ZEROORONE; + compare = icalrestriction_compare(restr,count); + + } else { + + compare = icalrestriction_compare(restr,count); + } + + assert(compare != -1); + + if (compare == 0){ + char temp[TMP_BUF_SIZE]; + + snprintf(temp, TMP_BUF_SIZE,"Failed iTIP restrictions for %s property. Expected %s instances of the property and got %d", + icalenum_property_kind_to_string(kind), + restr_string_map[restr], count); + + icalcomponent_add_property + (comp, + icalproperty_vanew_xlicerror( + temp, + icalparameter_new_xlicerrortype(ICAL_XLICERRORTYPE_INVALIDITIP), + 0)); + } + + + prop = icalcomponent_get_first_property(comp, kind); + + if (prop != 0 && prop_record->function !=0 ){ + funcr = prop_record->function(prop_record,comp,prop); + } + + if(funcr !=0){ + icalcomponent_add_property + (comp, + icalproperty_vanew_xlicerror( + funcr, + icalparameter_new_xlicerrortype( + ICAL_XLICERRORTYPE_INVALIDITIP), + 0)); + + compare = 0; + } + + valid = valid && compare; + } + + + + return valid; + + +} + +int icalrestriction_check(icalcomponent* outer_comp) +{ + icalcomponent_kind comp_kind; + icalproperty_method method; + icalcomponent* inner_comp; + icalproperty *method_prop; + int valid; + + icalerror_check_arg_rz( (outer_comp!=0), "outer comp"); + + + /* Get the Method value from the outer component */ + + comp_kind = icalcomponent_isa(outer_comp); + + if (comp_kind != ICAL_VCALENDAR_COMPONENT){ + icalerror_set_errno(ICAL_BADARG_ERROR); + return 0; + } + + method_prop = icalcomponent_get_first_property(outer_comp, + ICAL_METHOD_PROPERTY); + + if (method_prop == 0){ + method = ICAL_METHOD_NONE; + } else { + method = icalproperty_get_method(method_prop); + } + + + /* Check the VCALENDAR wrapper */ + valid = icalrestriction_check_component(ICAL_METHOD_NONE,outer_comp); + + + /* Now check the inner components */ + + for(inner_comp= icalcomponent_get_first_component(outer_comp, + ICAL_ANY_COMPONENT); + inner_comp != 0; + inner_comp= icalcomponent_get_next_component(outer_comp, + ICAL_ANY_COMPONENT)){ + + valid = valid && icalrestriction_check_component(method,inner_comp); + + } + + + return valid; + +} + +icalrestriction_property_record* +icalrestriction_get_property_restriction(icalproperty_method method, + icalcomponent_kind component, + icalproperty_kind property) +{ + int i; + + for(i = 0; + icalrestriction_property_records[i].restriction != ICAL_RESTRICTION_NONE; + i++){ + + if (method == icalrestriction_property_records[i].method && + component == icalrestriction_property_records[i].component && + property == icalrestriction_property_records[i].property ){ + return &icalrestriction_property_records[i]; + } + } + + return &null_prop_record; +} + + +icalrestriction_component_record* +icalrestriction_get_component_restriction(icalproperty_method method, + icalcomponent_kind component, + icalcomponent_kind subcomponent) +{ + + int i; + + for(i = 0; + icalrestriction_component_records[i].restriction != ICAL_RESTRICTION_NONE; + i++){ + + if (method == icalrestriction_component_records[i].method && + component == icalrestriction_component_records[i].component && + subcomponent == icalrestriction_component_records[i].subcomponent ){ + return &icalrestriction_component_records[i]; + } + } + + return &null_comp_record; +} + +/* Everything below this line is machine generated. Do not edit. */ +icalrestriction_property_record icalrestriction_property_records[] = { + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_tent_conf_cancel}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_dtend}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_tent_conf}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_dtend}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_tent_conf}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,icalrestriction_must_be_recurring}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE ,icalrestriction_no_duration}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_canceled_no_attendee}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_tent_conf_cancel}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_comp_need_process}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_comp_need_process}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,icalrestriction_must_be_recurring}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_canceled_no_attendee}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_comp_need_process}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_may_be_draft_final_canceled}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS ,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_cancel_if_present}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_VCALENDAR_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,icalrestriction_no_duration}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VEVENT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTODO_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEEXCLUSIVE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_be_recurring}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VJOURNAL_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VFREEBUSY_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_VTIMEZONE_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XSTANDARD_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDAYLIGHT_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_repeat}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_duration}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XAUDIOALARM_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_repeat}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_duration}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XDISPLAYALARM_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ONEPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_repeat}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_duration}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XEMAILALARM_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_ACTION_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_ATTACH_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_ATTENDEE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_CALSCALE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_CATEGORIES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_CLASS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_COMMENT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_COMPLETED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_CONTACT_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_CREATED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DESCRIPTION_PROPERTY,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DTEND_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DTSTAMP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DTSTART_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DUE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_DURATION_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_repeat}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_REPEAT_PROPERTY,ICAL_RESTRICTION_ONEMUTUAL,icalrestriction_must_have_duration}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_EXDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_EXRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_FREEBUSY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_GEO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_LASTMODIFIED_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_LOCATION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_METHOD_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_ORGANIZER_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_PERCENTCOMPLETE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_PRIORITY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_PRODID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_RDATE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_RECURRENCEID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_RELATEDTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_REQUESTSTATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_RESOURCES_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_RRULE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_SEQUENCE_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_STATUS_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_SUMMARY_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TRANSP_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TRIGGER_PROPERTY,ICAL_RESTRICTION_ONE,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TZID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TZNAME_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TZOFFSETFROM_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TZOFFSETTO_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_TZURL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_UID_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_URL_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_VERSION_PROPERTY,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_XPROCEDUREALARM_COMPONENT,ICAL_X_PROPERTY,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_NONE,ICAL_NO_COMPONENT,ICAL_NO_PROPERTY,ICAL_RESTRICTION_NONE} +}; +icalrestriction_component_record icalrestriction_component_records[] = { + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_PUBLISH,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROORONE,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_REFRESH,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VEVENT_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,icalrestriction_must_if_tz_ref}, + {ICAL_METHOD_PUBLISH,ICAL_VFREEBUSY_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VFREEBUSY_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VFREEBUSY_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VTODO_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REQUEST,ICAL_VTODO_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REPLY,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_VJOURNAL_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_REFRESH,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_COUNTER,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_DECLINECOUNTER,ICAL_VTODO_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_PUBLISH,ICAL_VJOURNAL_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROORONE,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_ADD,ICAL_VJOURNAL_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_VTIMEZONE_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_X_COMPONENT,ICAL_RESTRICTION_ZEROPLUS,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_VALARM_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_VEVENT_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_VFREEBUSY_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_CANCEL,ICAL_VJOURNAL_COMPONENT,ICAL_VTODO_COMPONENT,ICAL_RESTRICTION_ZERO,0}, + {ICAL_METHOD_NONE,ICAL_NO_COMPONENT,ICAL_NO_COMPONENT,ICAL_RESTRICTION_NONE} +}; diff --git a/src/plugins/vcalendar/libical/libical/icalversion.h b/src/plugins/vcalendar/libical/libical/icalversion.h @@ -0,0 +1,7 @@ +#ifndef ICAL_VERSION_H +#define ICAL_VERSION_H + +#define ICAL_PACKAGE "claws-mail" +#define ICAL_VERSION "3.14.0git18" + +#endif diff --git a/src/plugins/vcalendar/libical/libical/icalyacc.c b/src/plugins/vcalendar/libical/libical/icalyacc.c @@ -0,0 +1,2169 @@ +/* A Bison parser, made by GNU Bison 3.0.2. */ + +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "3.0.2" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + + +/* Substitute the variable and function names. */ +#define yyparse ical_yyparse +#define yylex ical_yylex +#define yyerror ical_yyerror +#define yydebug ical_yydebug +#define yynerrs ical_yynerrs + +#define yylval ical_yylval +#define yychar ical_yychar + +/* Copy the first part of user declarations. */ +#line 1 "icalyacc.y" /* yacc.c:339 */ + +/* -*- Mode: C -*- + ====================================================================== + FILE: icalitip.y + CREATOR: eric 10 June 1999 + + DESCRIPTION: + + $Id$ + $Locker$ + + (C) COPYRIGHT 1999 Eric Busboom + http://www.softwarestudio.org + + The contents of this file are subject to the Mozilla Public License + Version 1.0 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and + limitations under the License. + + The original author is Eric Busboom + The original code is icalitip.y + + + + =======================================================================*/ + +#include <stdlib.h> +#include <string.h> /* for strdup() */ +#include "icalparser.h" +#include "pvl.h" + +icalvalue *icalparser_yy_value; /* Current Value */ + +void ical_yyerror(char* s); +void icalparser_clear_flex_input(); +int ical_yy_lex(void); + +/* Globals for UTCOFFSET values */ +int utc; +int utc_b; +int utcsign; + +/* Globals for DURATION values */ +struct icaldurationtype duration; + +/* Globals for TRIGGER values */ +struct icaltriggertype trigger; + +void copy_list(short* array, size_t size); +void add_prop(icalproperty_kind); +void icalparser_fill_date(struct tm* t, char* dstr); +void icalparser_fill_time(struct tm* t, char* tstr); +void set_value_type(icalvalue_kind kind); +void set_parser_value_state(); +struct icaltimetype fill_datetime(char* d, char* t); +void ical_yy_error(char *s); /* Don't know why I need this.... */ +int yylex(void); /* Or this. */ + + + +/* Set the state of the lexer so it will interpret values ( iCAL + VALUEs, that is, ) correctly. */ + + +#line 144 "icalyacc.c" /* yacc.c:339 */ + +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* In a future release of Bison, this section will be replaced + by #include "y.tab.h". */ +#ifndef YY_ICAL_YY_Y_TAB_H_INCLUDED +# define YY_ICAL_YY_Y_TAB_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int ical_yydebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + DIGITS = 258, + INTNUMBER = 259, + FLOATNUMBER = 260, + STRING = 261, + EOL = 262, + EQUALS = 263, + CHARACTER = 264, + COLON = 265, + COMMA = 266, + SEMICOLON = 267, + MINUS = 268, + TIMESEPERATOR = 269, + TRUE = 270, + FALSE = 271, + FREQ = 272, + BYDAY = 273, + BYHOUR = 274, + BYMINUTE = 275, + BYMONTH = 276, + BYMONTHDAY = 277, + BYSECOND = 278, + BYSETPOS = 279, + BYWEEKNO = 280, + BYYEARDAY = 281, + DAILY = 282, + MINUTELY = 283, + MONTHLY = 284, + SECONDLY = 285, + WEEKLY = 286, + HOURLY = 287, + YEARLY = 288, + INTERVAL = 289, + COUNT = 290, + UNTIL = 291, + WKST = 292, + MO = 293, + SA = 294, + SU = 295, + TU = 296, + WE = 297, + TH = 298, + FR = 299, + BIT8 = 300, + ACCEPTED = 301, + ADD = 302, + AUDIO = 303, + BASE64 = 304, + BINARY = 305, + BOOLEAN = 306, + BUSY = 307, + BUSYTENTATIVE = 308, + BUSYUNAVAILABLE = 309, + CALADDRESS = 310, + CANCEL = 311, + CANCELLED = 312, + CHAIR = 313, + CHILD = 314, + COMPLETED = 315, + CONFIDENTIAL = 316, + CONFIRMED = 317, + COUNTER = 318, + DATE = 319, + DATETIME = 320, + DECLINECOUNTER = 321, + DECLINED = 322, + DELEGATED = 323, + DISPLAY = 324, + DRAFT = 325, + DURATION = 326, + EMAIL = 327, + END = 328, + FINAL = 329, + FLOAT = 330, + FREE = 331, + GREGORIAN = 332, + GROUP = 333, + INDIVIDUAL = 334, + INPROCESS = 335, + INTEGER = 336, + NEEDSACTION = 337, + NONPARTICIPANT = 338, + OPAQUE = 339, + OPTPARTICIPANT = 340, + PARENT = 341, + PERIOD = 342, + PRIVATE = 343, + PROCEDURE = 344, + PUBLIC = 345, + PUBLISH = 346, + RECUR = 347, + REFRESH = 348, + REPLY = 349, + REQPARTICIPANT = 350, + REQUEST = 351, + RESOURCE = 352, + ROOM = 353, + SIBLING = 354, + START = 355, + TENTATIVE = 356, + TEXT = 357, + THISANDFUTURE = 358, + THISANDPRIOR = 359, + TIME = 360, + TRANSPAENT = 361, + UNKNOWN = 362, + UTCOFFSET = 363, + XNAME = 364, + ALTREP = 365, + CN = 366, + CUTYPE = 367, + DAYLIGHT = 368, + DIR = 369, + ENCODING = 370, + EVENT = 371, + FBTYPE = 372, + FMTTYPE = 373, + LANGUAGE = 374, + MEMBER = 375, + PARTSTAT = 376, + RANGE = 377, + RELATED = 378, + RELTYPE = 379, + ROLE = 380, + RSVP = 381, + SENTBY = 382, + STANDARD = 383, + URI = 384, + CHARSET = 385, + TIME_CHAR = 386, + UTC_CHAR = 387 + }; +#endif +/* Tokens. */ +#define DIGITS 258 +#define INTNUMBER 259 +#define FLOATNUMBER 260 +#define STRING 261 +#define EOL 262 +#define EQUALS 263 +#define CHARACTER 264 +#define COLON 265 +#define COMMA 266 +#define SEMICOLON 267 +#define MINUS 268 +#define TIMESEPERATOR 269 +#define TRUE 270 +#define FALSE 271 +#define FREQ 272 +#define BYDAY 273 +#define BYHOUR 274 +#define BYMINUTE 275 +#define BYMONTH 276 +#define BYMONTHDAY 277 +#define BYSECOND 278 +#define BYSETPOS 279 +#define BYWEEKNO 280 +#define BYYEARDAY 281 +#define DAILY 282 +#define MINUTELY 283 +#define MONTHLY 284 +#define SECONDLY 285 +#define WEEKLY 286 +#define HOURLY 287 +#define YEARLY 288 +#define INTERVAL 289 +#define COUNT 290 +#define UNTIL 291 +#define WKST 292 +#define MO 293 +#define SA 294 +#define SU 295 +#define TU 296 +#define WE 297 +#define TH 298 +#define FR 299 +#define BIT8 300 +#define ACCEPTED 301 +#define ADD 302 +#define AUDIO 303 +#define BASE64 304 +#define BINARY 305 +#define BOOLEAN 306 +#define BUSY 307 +#define BUSYTENTATIVE 308 +#define BUSYUNAVAILABLE 309 +#define CALADDRESS 310 +#define CANCEL 311 +#define CANCELLED 312 +#define CHAIR 313 +#define CHILD 314 +#define COMPLETED 315 +#define CONFIDENTIAL 316 +#define CONFIRMED 317 +#define COUNTER 318 +#define DATE 319 +#define DATETIME 320 +#define DECLINECOUNTER 321 +#define DECLINED 322 +#define DELEGATED 323 +#define DISPLAY 324 +#define DRAFT 325 +#define DURATION 326 +#define EMAIL 327 +#define END 328 +#define FINAL 329 +#define FLOAT 330 +#define FREE 331 +#define GREGORIAN 332 +#define GROUP 333 +#define INDIVIDUAL 334 +#define INPROCESS 335 +#define INTEGER 336 +#define NEEDSACTION 337 +#define NONPARTICIPANT 338 +#define OPAQUE 339 +#define OPTPARTICIPANT 340 +#define PARENT 341 +#define PERIOD 342 +#define PRIVATE 343 +#define PROCEDURE 344 +#define PUBLIC 345 +#define PUBLISH 346 +#define RECUR 347 +#define REFRESH 348 +#define REPLY 349 +#define REQPARTICIPANT 350 +#define REQUEST 351 +#define RESOURCE 352 +#define ROOM 353 +#define SIBLING 354 +#define START 355 +#define TENTATIVE 356 +#define TEXT 357 +#define THISANDFUTURE 358 +#define THISANDPRIOR 359 +#define TIME 360 +#define TRANSPAENT 361 +#define UNKNOWN 362 +#define UTCOFFSET 363 +#define XNAME 364 +#define ALTREP 365 +#define CN 366 +#define CUTYPE 367 +#define DAYLIGHT 368 +#define DIR 369 +#define ENCODING 370 +#define EVENT 371 +#define FBTYPE 372 +#define FMTTYPE 373 +#define LANGUAGE 374 +#define MEMBER 375 +#define PARTSTAT 376 +#define RANGE 377 +#define RELATED 378 +#define RELTYPE 379 +#define ROLE 380 +#define RSVP 381 +#define SENTBY 382 +#define STANDARD 383 +#define URI 384 +#define CHARSET 385 +#define TIME_CHAR 386 +#define UTC_CHAR 387 + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE YYSTYPE; +union YYSTYPE +{ +#line 71 "icalyacc.y" /* yacc.c:355 */ + + float v_float; + int v_int; + char* v_string; + +#line 454 "icalyacc.c" /* yacc.c:355 */ +}; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + +extern YYSTYPE ical_yylval; + +int ical_yyparse (void); + +#endif /* !YY_ICAL_YY_Y_TAB_H_INCLUDED */ + +/* Copy the second part of user declarations. */ + +#line 469 "icalyacc.c" /* yacc.c:358 */ + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif + +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#else +typedef signed char yytype_int8; +#endif + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif + +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# endif +# endif +# ifndef YY_ +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(E) ((void) (E)) +#else +# define YYUSE(E) /* empty */ +#endif + +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else +# define YY_INITIAL_VALUE(Value) Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + + +#if ! defined yyoverflow || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined EXIT_SUCCESS +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined EXIT_SUCCESS +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +# define YYCOPY_NEEDED 1 + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 14 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 141 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 142 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 18 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 37 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 51 + +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 387 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ +static const yytype_uint8 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 138, 2, 139, 2, 141, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 137, 2, + 2, 2, 134, 2, 2, 2, 2, 135, 2, 2, + 140, 2, 2, 136, 2, 2, 2, 133, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132 +}; + +#if YYDEBUG + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_uint16 yyrline[] = +{ + 0, 179, 179, 180, 181, 182, 183, 184, 191, 207, + 208, 212, 213, 216, 231, 232, 234, 239, 242, 245, + 249, 253, 258, 262, 267, 272, 278, 281, 285, 290, + 295, 300, 309, 330, 361, 362, 365, 370 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || 0 +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "DIGITS", "INTNUMBER", "FLOATNUMBER", + "STRING", "EOL", "EQUALS", "CHARACTER", "COLON", "COMMA", "SEMICOLON", + "MINUS", "TIMESEPERATOR", "TRUE", "FALSE", "FREQ", "BYDAY", "BYHOUR", + "BYMINUTE", "BYMONTH", "BYMONTHDAY", "BYSECOND", "BYSETPOS", "BYWEEKNO", + "BYYEARDAY", "DAILY", "MINUTELY", "MONTHLY", "SECONDLY", "WEEKLY", + "HOURLY", "YEARLY", "INTERVAL", "COUNT", "UNTIL", "WKST", "MO", "SA", + "SU", "TU", "WE", "TH", "FR", "BIT8", "ACCEPTED", "ADD", "AUDIO", + "BASE64", "BINARY", "BOOLEAN", "BUSY", "BUSYTENTATIVE", + "BUSYUNAVAILABLE", "CALADDRESS", "CANCEL", "CANCELLED", "CHAIR", "CHILD", + "COMPLETED", "CONFIDENTIAL", "CONFIRMED", "COUNTER", "DATE", "DATETIME", + "DECLINECOUNTER", "DECLINED", "DELEGATED", "DISPLAY", "DRAFT", + "DURATION", "EMAIL", "END", "FINAL", "FLOAT", "FREE", "GREGORIAN", + "GROUP", "INDIVIDUAL", "INPROCESS", "INTEGER", "NEEDSACTION", + "NONPARTICIPANT", "OPAQUE", "OPTPARTICIPANT", "PARENT", "PERIOD", + "PRIVATE", "PROCEDURE", "PUBLIC", "PUBLISH", "RECUR", "REFRESH", "REPLY", + "REQPARTICIPANT", "REQUEST", "RESOURCE", "ROOM", "SIBLING", "START", + "TENTATIVE", "TEXT", "THISANDFUTURE", "THISANDPRIOR", "TIME", + "TRANSPAENT", "UNKNOWN", "UTCOFFSET", "XNAME", "ALTREP", "CN", "CUTYPE", + "DAYLIGHT", "DIR", "ENCODING", "EVENT", "FBTYPE", "FMTTYPE", "LANGUAGE", + "MEMBER", "PARTSTAT", "RANGE", "RELATED", "RELTYPE", "ROLE", "RSVP", + "SENTBY", "STANDARD", "URI", "CHARSET", "TIME_CHAR", "UTC_CHAR", "'W'", + "'H'", "'M'", "'S'", "'D'", "'+'", "'-'", "'P'", "'/'", "$accept", + "value", "date_value", "utc_char", "utc_char_b", "datetime_value", + "dur_date", "dur_week", "dur_time", "dur_hour", "dur_minute", + "dur_second", "dur_day", "dur_prefix", "duration_value", "period_value", + "plusminus", "utcoffset_value", YY_NULLPTR +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_uint16 yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 87, 72, 77, 83, 68, 43, 45, + 80, 47 +}; +# endif + +#define YYPACT_NINF -131 + +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-131))) + +#define YYTABLE_NINF -36 + +#define yytable_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const yytype_int16 yypact[] = +{ + -1, -131, -127, 7, 8, 6, -131, -131, -125, -131, + -131, 9, -131, 11, -131, -2, 12, -115, -130, 15, + -131, -131, -131, -112, 16, -131, -120, -131, -131, -126, + -131, -131, -131, -131, -131, 2, 19, 20, -131, -107, + -131, -131, -131, -110, -131, -109, -131, 23, -104, -131, + -131 +}; + + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 0, 7, 8, 27, 28, 0, 2, 3, 0, 4, + 5, 0, 6, 0, 1, 0, 0, 9, 0, 0, + 29, 31, 30, 14, 36, 10, 13, 16, 25, 0, + 17, 18, 19, 15, 37, 26, 20, 22, 24, 0, + 27, 28, 33, 0, 21, 0, 23, 0, 11, 12, + 32 +}; + + /* YYPGOTO[NTERM-NUM]. */ +static const yytype_int16 yypgoto[] = +{ + -131, -131, -131, -131, -131, -131, -131, -131, 10, -131, + -7, -6, -131, -131, -5, -131, -131, -131 +}; + + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int8 yydefgoto[] = +{ + -1, 5, 6, 26, 50, 7, 20, 21, 22, 30, + 31, 32, 23, 8, 9, 10, 11, 12 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int8 yytable[] = +{ + 1, 18, 2, 27, 13, 39, 14, 28, 36, 37, + 38, -34, -35, 16, 17, 15, 24, 25, 29, 19, + 34, 35, 43, 45, 47, 37, 48, 38, 49, 44, + 42, 46, 0, 33, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 0, 3, 4, -26, + 40, 41 +}; + +static const yytype_int16 yycheck[] = +{ + 1, 3, 3, 133, 131, 3, 0, 137, 134, 135, + 136, 4, 4, 4, 3, 140, 4, 132, 3, 131, + 4, 141, 3, 3, 131, 135, 3, 136, 132, 36, + 35, 37, -1, 23, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, + -1, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 138, 139 +}; + + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_uint8 yystos[] = +{ + 0, 1, 3, 138, 139, 143, 144, 147, 155, 156, + 157, 158, 159, 131, 0, 140, 4, 3, 3, 131, + 148, 149, 150, 154, 4, 132, 145, 133, 137, 3, + 151, 152, 153, 150, 4, 141, 134, 135, 136, 3, + 138, 139, 156, 3, 152, 3, 153, 131, 3, 132, + 146 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 142, 143, 143, 143, 143, 143, 143, 144, 145, + 145, 146, 146, 147, 148, 148, 149, 150, 150, 150, + 151, 151, 152, 152, 153, 154, 155, 155, 155, 156, + 156, 156, 157, 157, 158, 158, 159, 159 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 0, 1, 4, 1, 2, 2, 2, 2, 2, + 2, 3, 2, 3, 2, 2, 0, 1, 1, 3, + 3, 3, 9, 6, 1, 1, 3, 4 +}; + + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 + + + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif + + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ + +static void +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + FILE *yyo = yyoutput; + YYUSE (yyo); + if (!yyvaluep) + return; +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + YYUSE (yytype); +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +static void +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep); + YYFPRINTF (yyoutput, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +static void +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +{ + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +static void +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) +{ + unsigned long int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); + YYFPRINTF (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +yystrlen (const char *yystr) +{ + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +# endif + +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +yystpcpy (char *yydest, const char *yysrc) +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) +{ + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } + } + + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; +} +#endif /* YYERROR_VERBOSE */ + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +{ + YYUSE (yyvaluep); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + + + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; +/* Number of syntax errors so far. */ +int yynerrs; + + +/*----------. +| yyparse. | +`----------*/ + +int +yyparse (void) +{ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + + YYSIZE_T yystacksize; + + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyexhaustedlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to lookahead token. */ + yyn = yypact[yystate]; + if (yypact_value_is_default (yyn)) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = yylex (); + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yytable_value_is_error (yyn)) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token. */ + yychar = YYEMPTY; + + yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 7: +#line 184 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = 0; + icalparser_clear_flex_input(); + yyclearin; + } +#line 1643 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 8: +#line 192 "icalyacc.y" /* yacc.c:1646 */ + { + struct icaltimetype stm; + + stm = fill_datetime((yyvsp[0].v_string),0); + + stm.hour = -1; + stm.minute = -1; + stm.second = -1; + stm.is_utc = 0; + stm.is_date = 1; + + icalparser_yy_value = icalvalue_new_date(stm); + } +#line 1661 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 9: +#line 207 "icalyacc.y" /* yacc.c:1646 */ + {utc = 0;} +#line 1667 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 10: +#line 208 "icalyacc.y" /* yacc.c:1646 */ + {utc = 1;} +#line 1673 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 11: +#line 212 "icalyacc.y" /* yacc.c:1646 */ + {utc_b = 0;} +#line 1679 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 12: +#line 213 "icalyacc.y" /* yacc.c:1646 */ + {utc_b = 1;} +#line 1685 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 13: +#line 217 "icalyacc.y" /* yacc.c:1646 */ + { + struct icaltimetype stm; + stm = fill_datetime((yyvsp[-3].v_string), (yyvsp[-1].v_string)); + stm.is_utc = utc; + stm.is_date = 0; + + icalparser_yy_value = + icalvalue_new_datetime(stm); + } +#line 1699 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 16: +#line 235 "icalyacc.y" /* yacc.c:1646 */ + { + duration.weeks = atoi((yyvsp[-1].v_string)); + } +#line 1707 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 17: +#line 240 "icalyacc.y" /* yacc.c:1646 */ + { + } +#line 1714 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 18: +#line 243 "icalyacc.y" /* yacc.c:1646 */ + { + } +#line 1721 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 19: +#line 246 "icalyacc.y" /* yacc.c:1646 */ + { + } +#line 1728 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 20: +#line 250 "icalyacc.y" /* yacc.c:1646 */ + { + duration.hours = atoi((yyvsp[-1].v_string)); + } +#line 1736 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 21: +#line 254 "icalyacc.y" /* yacc.c:1646 */ + { + duration.hours = atoi((yyvsp[-2].v_string)); + } +#line 1744 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 22: +#line 259 "icalyacc.y" /* yacc.c:1646 */ + { + duration.minutes = atoi((yyvsp[-1].v_string)); + } +#line 1752 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 23: +#line 263 "icalyacc.y" /* yacc.c:1646 */ + { + duration.minutes = atoi((yyvsp[-2].v_string)); + } +#line 1760 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 24: +#line 268 "icalyacc.y" /* yacc.c:1646 */ + { + duration.seconds = atoi((yyvsp[-1].v_string)); + } +#line 1768 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 25: +#line 273 "icalyacc.y" /* yacc.c:1646 */ + { + duration.days = atoi((yyvsp[-1].v_string)); + } +#line 1776 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 26: +#line 278 "icalyacc.y" /* yacc.c:1646 */ + { + duration.is_neg = 0; + } +#line 1784 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 27: +#line 282 "icalyacc.y" /* yacc.c:1646 */ + { + duration.is_neg = 0; + } +#line 1792 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 28: +#line 286 "icalyacc.y" /* yacc.c:1646 */ + { + duration.is_neg = 1; + } +#line 1800 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 29: +#line 291 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = icalvalue_new_duration(duration); + memset(&duration,0, sizeof(duration)); + } +#line 1809 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 30: +#line 296 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = icalvalue_new_duration(duration); + memset(&duration,0, sizeof(duration)); + } +#line 1818 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 31: +#line 301 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = icalvalue_new_duration(duration); + memset(&duration,0, sizeof(duration)); + } +#line 1827 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 32: +#line 310 "icalyacc.y" /* yacc.c:1646 */ + { + struct icalperiodtype p; + + p.start = fill_datetime((yyvsp[-8].v_string),(yyvsp[-6].v_string)); + p.start.is_utc = utc; + p.start.is_date = 0; + + + p.end = fill_datetime((yyvsp[-3].v_string),(yyvsp[-1].v_string)); + p.end.is_utc = utc_b; + p.end.is_date = 0; + + p.duration.days = -1; + p.duration.weeks = -1; + p.duration.hours = -1; + p.duration.minutes = -1; + p.duration.seconds = -1; + + icalparser_yy_value = icalvalue_new_period(p); + } +#line 1852 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 33: +#line 331 "icalyacc.y" /* yacc.c:1646 */ + { + struct icalperiodtype p; + + p.start = fill_datetime((yyvsp[-5].v_string),(yyvsp[-3].v_string)); + p.start.is_utc = utc; + p.start.is_date = 0; + + p.end.year = -1; + p.end.month = -1; + p.end.day = -1; + p.end.hour = -1; + p.end.minute = -1; + p.end.second = -1; + + /* The duration_value rule setes the global 'duration' + variable, but it also creates a new value in + icalparser_yy_value. So, free that, then copy + 'duration' into the icalperiodtype struct. */ + + p.duration = icalvalue_get_duration(icalparser_yy_value); + icalvalue_free(icalparser_yy_value); + icalparser_yy_value = 0; + + icalparser_yy_value = icalvalue_new_period(p); + + } +#line 1883 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 34: +#line 361 "icalyacc.y" /* yacc.c:1646 */ + { utcsign = 1; } +#line 1889 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 35: +#line 362 "icalyacc.y" /* yacc.c:1646 */ + { utcsign = -1; } +#line 1895 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 36: +#line 366 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = icalvalue_new_utcoffset( utcsign * ((yyvsp[-1].v_int)*3600) + ((yyvsp[0].v_int)*60) ); + } +#line 1903 "icalyacc.c" /* yacc.c:1646 */ + break; + + case 37: +#line 371 "icalyacc.y" /* yacc.c:1646 */ + { + icalparser_yy_value = icalvalue_new_utcoffset(utcsign * ((yyvsp[-2].v_int)*3600) + ((yyvsp[-1].v_int)*60) +((yyvsp[0].v_int))); + } +#line 1911 "icalyacc.c" /* yacc.c:1646 */ + break; + + +#line 1915 "icalyacc.c" /* yacc.c:1646 */ + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ +yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) + { + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; + } +# undef YYSYNTAX_ERROR +#endif + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + yystos[yystate], yyvsp); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#if !defined yyoverflow || YYERROR_VERBOSE +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (YY_("memory exhausted")); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } + /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + return yyresult; +} +#line 375 "icalyacc.y" /* yacc.c:1906 */ + + +struct icaltimetype fill_datetime(char* datestr, char* timestr) +{ + struct icaltimetype stm; + + memset(&stm,0,sizeof(stm)); + + if (datestr != 0){ + sscanf(datestr,"%4d%2d%2d",&(stm.year), &(stm.month), + &(stm.day)); + } + + if (timestr != 0){ + sscanf(timestr,"%2d%2d%2d", &(stm.hour), &(stm.minute), + &(stm.second)); + } + + return stm; + +} + +void ical_yyerror(char* s) +{ + /*fprintf(stderr,"Parse error \'%s\'\n", s);*/ +} + diff --git a/src/plugins/vcalendar/libical/libical/icalyacc.h b/src/plugins/vcalendar/libical/libical/icalyacc.h @@ -0,0 +1,334 @@ +/* A Bison parser, made by GNU Bison 3.0.2. */ + +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +#ifndef YY_ICAL_YY_ICALYACC_H_INCLUDED +# define YY_ICAL_YY_ICALYACC_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int ical_yydebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + DIGITS = 258, + INTNUMBER = 259, + FLOATNUMBER = 260, + STRING = 261, + EOL = 262, + EQUALS = 263, + CHARACTER = 264, + COLON = 265, + COMMA = 266, + SEMICOLON = 267, + MINUS = 268, + TIMESEPERATOR = 269, + TRUE = 270, + FALSE = 271, + FREQ = 272, + BYDAY = 273, + BYHOUR = 274, + BYMINUTE = 275, + BYMONTH = 276, + BYMONTHDAY = 277, + BYSECOND = 278, + BYSETPOS = 279, + BYWEEKNO = 280, + BYYEARDAY = 281, + DAILY = 282, + MINUTELY = 283, + MONTHLY = 284, + SECONDLY = 285, + WEEKLY = 286, + HOURLY = 287, + YEARLY = 288, + INTERVAL = 289, + COUNT = 290, + UNTIL = 291, + WKST = 292, + MO = 293, + SA = 294, + SU = 295, + TU = 296, + WE = 297, + TH = 298, + FR = 299, + BIT8 = 300, + ACCEPTED = 301, + ADD = 302, + AUDIO = 303, + BASE64 = 304, + BINARY = 305, + BOOLEAN = 306, + BUSY = 307, + BUSYTENTATIVE = 308, + BUSYUNAVAILABLE = 309, + CALADDRESS = 310, + CANCEL = 311, + CANCELLED = 312, + CHAIR = 313, + CHILD = 314, + COMPLETED = 315, + CONFIDENTIAL = 316, + CONFIRMED = 317, + COUNTER = 318, + DATE = 319, + DATETIME = 320, + DECLINECOUNTER = 321, + DECLINED = 322, + DELEGATED = 323, + DISPLAY = 324, + DRAFT = 325, + DURATION = 326, + EMAIL = 327, + END = 328, + FINAL = 329, + FLOAT = 330, + FREE = 331, + GREGORIAN = 332, + GROUP = 333, + INDIVIDUAL = 334, + INPROCESS = 335, + INTEGER = 336, + NEEDSACTION = 337, + NONPARTICIPANT = 338, + OPAQUE = 339, + OPTPARTICIPANT = 340, + PARENT = 341, + PERIOD = 342, + PRIVATE = 343, + PROCEDURE = 344, + PUBLIC = 345, + PUBLISH = 346, + RECUR = 347, + REFRESH = 348, + REPLY = 349, + REQPARTICIPANT = 350, + REQUEST = 351, + RESOURCE = 352, + ROOM = 353, + SIBLING = 354, + START = 355, + TENTATIVE = 356, + TEXT = 357, + THISANDFUTURE = 358, + THISANDPRIOR = 359, + TIME = 360, + TRANSPAENT = 361, + UNKNOWN = 362, + UTCOFFSET = 363, + XNAME = 364, + ALTREP = 365, + CN = 366, + CUTYPE = 367, + DAYLIGHT = 368, + DIR = 369, + ENCODING = 370, + EVENT = 371, + FBTYPE = 372, + FMTTYPE = 373, + LANGUAGE = 374, + MEMBER = 375, + PARTSTAT = 376, + RANGE = 377, + RELATED = 378, + RELTYPE = 379, + ROLE = 380, + RSVP = 381, + SENTBY = 382, + STANDARD = 383, + URI = 384, + CHARSET = 385, + TIME_CHAR = 386, + UTC_CHAR = 387 + }; +#endif +/* Tokens. */ +#define DIGITS 258 +#define INTNUMBER 259 +#define FLOATNUMBER 260 +#define STRING 261 +#define EOL 262 +#define EQUALS 263 +#define CHARACTER 264 +#define COLON 265 +#define COMMA 266 +#define SEMICOLON 267 +#define MINUS 268 +#define TIMESEPERATOR 269 +#define TRUE 270 +#define FALSE 271 +#define FREQ 272 +#define BYDAY 273 +#define BYHOUR 274 +#define BYMINUTE 275 +#define BYMONTH 276 +#define BYMONTHDAY 277 +#define BYSECOND 278 +#define BYSETPOS 279 +#define BYWEEKNO 280 +#define BYYEARDAY 281 +#define DAILY 282 +#define MINUTELY 283 +#define MONTHLY 284 +#define SECONDLY 285 +#define WEEKLY 286 +#define HOURLY 287 +#define YEARLY 288 +#define INTERVAL 289 +#define COUNT 290 +#define UNTIL 291 +#define WKST 292 +#define MO 293 +#define SA 294 +#define SU 295 +#define TU 296 +#define WE 297 +#define TH 298 +#define FR 299 +#define BIT8 300 +#define ACCEPTED 301 +#define ADD 302 +#define AUDIO 303 +#define BASE64 304 +#define BINARY 305 +#define BOOLEAN 306 +#define BUSY 307 +#define BUSYTENTATIVE 308 +#define BUSYUNAVAILABLE 309 +#define CALADDRESS 310 +#define CANCEL 311 +#define CANCELLED 312 +#define CHAIR 313 +#define CHILD 314 +#define COMPLETED 315 +#define CONFIDENTIAL 316 +#define CONFIRMED 317 +#define COUNTER 318 +#define DATE 319 +#define DATETIME 320 +#define DECLINECOUNTER 321 +#define DECLINED 322 +#define DELEGATED 323 +#define DISPLAY 324 +#define DRAFT 325 +#define DURATION 326 +#define EMAIL 327 +#define END 328 +#define FINAL 329 +#define FLOAT 330 +#define FREE 331 +#define GREGORIAN 332 +#define GROUP 333 +#define INDIVIDUAL 334 +#define INPROCESS 335 +#define INTEGER 336 +#define NEEDSACTION 337 +#define NONPARTICIPANT 338 +#define OPAQUE 339 +#define OPTPARTICIPANT 340 +#define PARENT 341 +#define PERIOD 342 +#define PRIVATE 343 +#define PROCEDURE 344 +#define PUBLIC 345 +#define PUBLISH 346 +#define RECUR 347 +#define REFRESH 348 +#define REPLY 349 +#define REQPARTICIPANT 350 +#define REQUEST 351 +#define RESOURCE 352 +#define ROOM 353 +#define SIBLING 354 +#define START 355 +#define TENTATIVE 356 +#define TEXT 357 +#define THISANDFUTURE 358 +#define THISANDPRIOR 359 +#define TIME 360 +#define TRANSPAENT 361 +#define UNKNOWN 362 +#define UTCOFFSET 363 +#define XNAME 364 +#define ALTREP 365 +#define CN 366 +#define CUTYPE 367 +#define DAYLIGHT 368 +#define DIR 369 +#define ENCODING 370 +#define EVENT 371 +#define FBTYPE 372 +#define FMTTYPE 373 +#define LANGUAGE 374 +#define MEMBER 375 +#define PARTSTAT 376 +#define RANGE 377 +#define RELATED 378 +#define RELTYPE 379 +#define ROLE 380 +#define RSVP 381 +#define SENTBY 382 +#define STANDARD 383 +#define URI 384 +#define CHARSET 385 +#define TIME_CHAR 386 +#define UTC_CHAR 387 + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE YYSTYPE; +union YYSTYPE +{ +#line 71 "icalyacc.y" /* yacc.c:1909 */ + + float v_float; + int v_int; + char* v_string; + +#line 324 "icalyacc.h" /* yacc.c:1909 */ +}; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + +extern YYSTYPE ical_yylval; + +int ical_yyparse (void); + +#endif /* !YY_ICAL_YY_ICALYACC_H_INCLUDED */ diff --git a/src/plugins/vcalendar/libical/libical/icalyacc.output b/src/plugins/vcalendar/libical/libical/icalyacc.output @@ -0,0 +1,820 @@ +Terminals unused in grammar + + FLOATNUMBER + STRING + EOL + EQUALS + CHARACTER + COLON + COMMA + SEMICOLON + MINUS + TIMESEPERATOR + TRUE + FALSE + FREQ + BYDAY + BYHOUR + BYMINUTE + BYMONTH + BYMONTHDAY + BYSECOND + BYSETPOS + BYWEEKNO + BYYEARDAY + DAILY + MINUTELY + MONTHLY + SECONDLY + WEEKLY + HOURLY + YEARLY + INTERVAL + COUNT + UNTIL + WKST + MO + SA + SU + TU + WE + TH + FR + BIT8 + ACCEPTED + ADD + AUDIO + BASE64 + BINARY + BOOLEAN + BUSY + BUSYTENTATIVE + BUSYUNAVAILABLE + CALADDRESS + CANCEL + CANCELLED + CHAIR + CHILD + COMPLETED + CONFIDENTIAL + CONFIRMED + COUNTER + DATE + DATETIME + DECLINECOUNTER + DECLINED + DELEGATED + DISPLAY + DRAFT + DURATION + EMAIL + END + FINAL + FLOAT + FREE + GREGORIAN + GROUP + INDIVIDUAL + INPROCESS + INTEGER + NEEDSACTION + NONPARTICIPANT + OPAQUE + OPTPARTICIPANT + PARENT + PERIOD + PRIVATE + PROCEDURE + PUBLIC + PUBLISH + RECUR + REFRESH + REPLY + REQPARTICIPANT + REQUEST + RESOURCE + ROOM + SIBLING + START + TENTATIVE + TEXT + THISANDFUTURE + THISANDPRIOR + TIME + TRANSPAENT + UNKNOWN + UTCOFFSET + XNAME + ALTREP + CN + CUTYPE + DAYLIGHT + DIR + ENCODING + EVENT + FBTYPE + FMTTYPE + LANGUAGE + MEMBER + PARTSTAT + RANGE + RELATED + RELTYPE + ROLE + RSVP + SENTBY + STANDARD + URI + CHARSET + + +Grammar + + 0 $accept: value $end + + 1 value: date_value + 2 | datetime_value + 3 | duration_value + 4 | period_value + 5 | utcoffset_value + 6 | error + + 7 date_value: DIGITS + + 8 utc_char: %empty + 9 | UTC_CHAR + + 10 utc_char_b: %empty + 11 | UTC_CHAR + + 12 datetime_value: DIGITS TIME_CHAR DIGITS utc_char + + 13 dur_date: dur_day + 14 | dur_day dur_time + + 15 dur_week: DIGITS 'W' + + 16 dur_time: TIME_CHAR dur_hour + 17 | TIME_CHAR dur_minute + 18 | TIME_CHAR dur_second + + 19 dur_hour: DIGITS 'H' + 20 | DIGITS 'H' dur_minute + + 21 dur_minute: DIGITS 'M' + 22 | DIGITS 'M' dur_second + + 23 dur_second: DIGITS 'S' + + 24 dur_day: DIGITS 'D' + + 25 dur_prefix: %empty + 26 | '+' + 27 | '-' + + 28 duration_value: dur_prefix 'P' dur_date + 29 | dur_prefix 'P' dur_time + 30 | dur_prefix 'P' dur_week + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS TIME_CHAR DIGITS utc_char '/' duration_value + + 33 plusminus: '+' + 34 | '-' + + 35 utcoffset_value: plusminus INTNUMBER INTNUMBER + 36 | plusminus INTNUMBER INTNUMBER INTNUMBER + + +Terminals, with rules where they appear + +$end (0) 0 +'+' (43) 26 33 +'-' (45) 27 34 +'/' (47) 31 32 +'D' (68) 24 +'H' (72) 19 20 +'M' (77) 21 22 +'P' (80) 28 29 30 +'S' (83) 23 +'W' (87) 15 +error (256) 6 +DIGITS (258) 7 12 15 19 20 21 22 23 24 31 32 +INTNUMBER (259) 35 36 +FLOATNUMBER (260) +STRING (261) +EOL (262) +EQUALS (263) +CHARACTER (264) +COLON (265) +COMMA (266) +SEMICOLON (267) +MINUS (268) +TIMESEPERATOR (269) +TRUE (270) +FALSE (271) +FREQ (272) +BYDAY (273) +BYHOUR (274) +BYMINUTE (275) +BYMONTH (276) +BYMONTHDAY (277) +BYSECOND (278) +BYSETPOS (279) +BYWEEKNO (280) +BYYEARDAY (281) +DAILY (282) +MINUTELY (283) +MONTHLY (284) +SECONDLY (285) +WEEKLY (286) +HOURLY (287) +YEARLY (288) +INTERVAL (289) +COUNT (290) +UNTIL (291) +WKST (292) +MO (293) +SA (294) +SU (295) +TU (296) +WE (297) +TH (298) +FR (299) +BIT8 (300) +ACCEPTED (301) +ADD (302) +AUDIO (303) +BASE64 (304) +BINARY (305) +BOOLEAN (306) +BUSY (307) +BUSYTENTATIVE (308) +BUSYUNAVAILABLE (309) +CALADDRESS (310) +CANCEL (311) +CANCELLED (312) +CHAIR (313) +CHILD (314) +COMPLETED (315) +CONFIDENTIAL (316) +CONFIRMED (317) +COUNTER (318) +DATE (319) +DATETIME (320) +DECLINECOUNTER (321) +DECLINED (322) +DELEGATED (323) +DISPLAY (324) +DRAFT (325) +DURATION (326) +EMAIL (327) +END (328) +FINAL (329) +FLOAT (330) +FREE (331) +GREGORIAN (332) +GROUP (333) +INDIVIDUAL (334) +INPROCESS (335) +INTEGER (336) +NEEDSACTION (337) +NONPARTICIPANT (338) +OPAQUE (339) +OPTPARTICIPANT (340) +PARENT (341) +PERIOD (342) +PRIVATE (343) +PROCEDURE (344) +PUBLIC (345) +PUBLISH (346) +RECUR (347) +REFRESH (348) +REPLY (349) +REQPARTICIPANT (350) +REQUEST (351) +RESOURCE (352) +ROOM (353) +SIBLING (354) +START (355) +TENTATIVE (356) +TEXT (357) +THISANDFUTURE (358) +THISANDPRIOR (359) +TIME (360) +TRANSPAENT (361) +UNKNOWN (362) +UTCOFFSET (363) +XNAME (364) +ALTREP (365) +CN (366) +CUTYPE (367) +DAYLIGHT (368) +DIR (369) +ENCODING (370) +EVENT (371) +FBTYPE (372) +FMTTYPE (373) +LANGUAGE (374) +MEMBER (375) +PARTSTAT (376) +RANGE (377) +RELATED (378) +RELTYPE (379) +ROLE (380) +RSVP (381) +SENTBY (382) +STANDARD (383) +URI (384) +CHARSET (385) +TIME_CHAR (386) 12 16 17 18 31 32 +UTC_CHAR (387) 9 11 + + +Nonterminals, with rules where they appear + +$accept (142) + on left: 0 +value (143) + on left: 1 2 3 4 5 6, on right: 0 +date_value (144) + on left: 7, on right: 1 +utc_char (145) + on left: 8 9, on right: 12 31 32 +utc_char_b (146) + on left: 10 11, on right: 31 +datetime_value (147) + on left: 12, on right: 2 +dur_date (148) + on left: 13 14, on right: 28 +dur_week (149) + on left: 15, on right: 30 +dur_time (150) + on left: 16 17 18, on right: 14 29 +dur_hour (151) + on left: 19 20, on right: 16 +dur_minute (152) + on left: 21 22, on right: 17 20 +dur_second (153) + on left: 23, on right: 18 22 +dur_day (154) + on left: 24, on right: 13 14 +dur_prefix (155) + on left: 25 26 27, on right: 28 29 30 +duration_value (156) + on left: 28 29 30, on right: 3 32 +period_value (157) + on left: 31 32, on right: 4 +plusminus (158) + on left: 33 34, on right: 35 36 +utcoffset_value (159) + on left: 35 36, on right: 5 + + +State 0 + + 0 $accept: . value $end + + error shift, and go to state 1 + DIGITS shift, and go to state 2 + '+' shift, and go to state 3 + '-' shift, and go to state 4 + + 'P' reduce using rule 25 (dur_prefix) + + value go to state 5 + date_value go to state 6 + datetime_value go to state 7 + dur_prefix go to state 8 + duration_value go to state 9 + period_value go to state 10 + plusminus go to state 11 + utcoffset_value go to state 12 + + +State 1 + + 6 value: error . + + $default reduce using rule 6 (value) + + +State 2 + + 7 date_value: DIGITS . + 12 datetime_value: DIGITS . TIME_CHAR DIGITS utc_char + 31 period_value: DIGITS . TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS . TIME_CHAR DIGITS utc_char '/' duration_value + + TIME_CHAR shift, and go to state 13 + + $default reduce using rule 7 (date_value) + + +State 3 + + 26 dur_prefix: '+' . + 33 plusminus: '+' . + + INTNUMBER reduce using rule 33 (plusminus) + $default reduce using rule 26 (dur_prefix) + + +State 4 + + 27 dur_prefix: '-' . + 34 plusminus: '-' . + + INTNUMBER reduce using rule 34 (plusminus) + $default reduce using rule 27 (dur_prefix) + + +State 5 + + 0 $accept: value . $end + + $end shift, and go to state 14 + + +State 6 + + 1 value: date_value . + + $default reduce using rule 1 (value) + + +State 7 + + 2 value: datetime_value . + + $default reduce using rule 2 (value) + + +State 8 + + 28 duration_value: dur_prefix . 'P' dur_date + 29 | dur_prefix . 'P' dur_time + 30 | dur_prefix . 'P' dur_week + + 'P' shift, and go to state 15 + + +State 9 + + 3 value: duration_value . + + $default reduce using rule 3 (value) + + +State 10 + + 4 value: period_value . + + $default reduce using rule 4 (value) + + +State 11 + + 35 utcoffset_value: plusminus . INTNUMBER INTNUMBER + 36 | plusminus . INTNUMBER INTNUMBER INTNUMBER + + INTNUMBER shift, and go to state 16 + + +State 12 + + 5 value: utcoffset_value . + + $default reduce using rule 5 (value) + + +State 13 + + 12 datetime_value: DIGITS TIME_CHAR . DIGITS utc_char + 31 period_value: DIGITS TIME_CHAR . DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS TIME_CHAR . DIGITS utc_char '/' duration_value + + DIGITS shift, and go to state 17 + + +State 14 + + 0 $accept: value $end . + + $default accept + + +State 15 + + 28 duration_value: dur_prefix 'P' . dur_date + 29 | dur_prefix 'P' . dur_time + 30 | dur_prefix 'P' . dur_week + + DIGITS shift, and go to state 18 + TIME_CHAR shift, and go to state 19 + + dur_date go to state 20 + dur_week go to state 21 + dur_time go to state 22 + dur_day go to state 23 + + +State 16 + + 35 utcoffset_value: plusminus INTNUMBER . INTNUMBER + 36 | plusminus INTNUMBER . INTNUMBER INTNUMBER + + INTNUMBER shift, and go to state 24 + + +State 17 + + 12 datetime_value: DIGITS TIME_CHAR DIGITS . utc_char + 31 period_value: DIGITS TIME_CHAR DIGITS . utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS TIME_CHAR DIGITS . utc_char '/' duration_value + + UTC_CHAR shift, and go to state 25 + + $default reduce using rule 8 (utc_char) + + utc_char go to state 26 + + +State 18 + + 15 dur_week: DIGITS . 'W' + 24 dur_day: DIGITS . 'D' + + 'W' shift, and go to state 27 + 'D' shift, and go to state 28 + + +State 19 + + 16 dur_time: TIME_CHAR . dur_hour + 17 | TIME_CHAR . dur_minute + 18 | TIME_CHAR . dur_second + + DIGITS shift, and go to state 29 + + dur_hour go to state 30 + dur_minute go to state 31 + dur_second go to state 32 + + +State 20 + + 28 duration_value: dur_prefix 'P' dur_date . + + $default reduce using rule 28 (duration_value) + + +State 21 + + 30 duration_value: dur_prefix 'P' dur_week . + + $default reduce using rule 30 (duration_value) + + +State 22 + + 29 duration_value: dur_prefix 'P' dur_time . + + $default reduce using rule 29 (duration_value) + + +State 23 + + 13 dur_date: dur_day . + 14 | dur_day . dur_time + + TIME_CHAR shift, and go to state 19 + + $default reduce using rule 13 (dur_date) + + dur_time go to state 33 + + +State 24 + + 35 utcoffset_value: plusminus INTNUMBER INTNUMBER . + 36 | plusminus INTNUMBER INTNUMBER . INTNUMBER + + INTNUMBER shift, and go to state 34 + + $default reduce using rule 35 (utcoffset_value) + + +State 25 + + 9 utc_char: UTC_CHAR . + + $default reduce using rule 9 (utc_char) + + +State 26 + + 12 datetime_value: DIGITS TIME_CHAR DIGITS utc_char . + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char . '/' DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS TIME_CHAR DIGITS utc_char . '/' duration_value + + '/' shift, and go to state 35 + + $default reduce using rule 12 (datetime_value) + + +State 27 + + 15 dur_week: DIGITS 'W' . + + $default reduce using rule 15 (dur_week) + + +State 28 + + 24 dur_day: DIGITS 'D' . + + $default reduce using rule 24 (dur_day) + + +State 29 + + 19 dur_hour: DIGITS . 'H' + 20 | DIGITS . 'H' dur_minute + 21 dur_minute: DIGITS . 'M' + 22 | DIGITS . 'M' dur_second + 23 dur_second: DIGITS . 'S' + + 'H' shift, and go to state 36 + 'M' shift, and go to state 37 + 'S' shift, and go to state 38 + + +State 30 + + 16 dur_time: TIME_CHAR dur_hour . + + $default reduce using rule 16 (dur_time) + + +State 31 + + 17 dur_time: TIME_CHAR dur_minute . + + $default reduce using rule 17 (dur_time) + + +State 32 + + 18 dur_time: TIME_CHAR dur_second . + + $default reduce using rule 18 (dur_time) + + +State 33 + + 14 dur_date: dur_day dur_time . + + $default reduce using rule 14 (dur_date) + + +State 34 + + 36 utcoffset_value: plusminus INTNUMBER INTNUMBER INTNUMBER . + + $default reduce using rule 36 (utcoffset_value) + + +State 35 + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' . DIGITS TIME_CHAR DIGITS utc_char_b + 32 | DIGITS TIME_CHAR DIGITS utc_char '/' . duration_value + + DIGITS shift, and go to state 39 + '+' shift, and go to state 40 + '-' shift, and go to state 41 + + $default reduce using rule 25 (dur_prefix) + + dur_prefix go to state 8 + duration_value go to state 42 + + +State 36 + + 19 dur_hour: DIGITS 'H' . + 20 | DIGITS 'H' . dur_minute + + DIGITS shift, and go to state 43 + + $default reduce using rule 19 (dur_hour) + + dur_minute go to state 44 + + +State 37 + + 21 dur_minute: DIGITS 'M' . + 22 | DIGITS 'M' . dur_second + + DIGITS shift, and go to state 45 + + $default reduce using rule 21 (dur_minute) + + dur_second go to state 46 + + +State 38 + + 23 dur_second: DIGITS 'S' . + + $default reduce using rule 23 (dur_second) + + +State 39 + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS . TIME_CHAR DIGITS utc_char_b + + TIME_CHAR shift, and go to state 47 + + +State 40 + + 26 dur_prefix: '+' . + + $default reduce using rule 26 (dur_prefix) + + +State 41 + + 27 dur_prefix: '-' . + + $default reduce using rule 27 (dur_prefix) + + +State 42 + + 32 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' duration_value . + + $default reduce using rule 32 (period_value) + + +State 43 + + 21 dur_minute: DIGITS . 'M' + 22 | DIGITS . 'M' dur_second + + 'M' shift, and go to state 37 + + +State 44 + + 20 dur_hour: DIGITS 'H' dur_minute . + + $default reduce using rule 20 (dur_hour) + + +State 45 + + 23 dur_second: DIGITS . 'S' + + 'S' shift, and go to state 38 + + +State 46 + + 22 dur_minute: DIGITS 'M' dur_second . + + $default reduce using rule 22 (dur_minute) + + +State 47 + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR . DIGITS utc_char_b + + DIGITS shift, and go to state 48 + + +State 48 + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS . utc_char_b + + UTC_CHAR shift, and go to state 49 + + $default reduce using rule 10 (utc_char_b) + + utc_char_b go to state 50 + + +State 49 + + 11 utc_char_b: UTC_CHAR . + + $default reduce using rule 11 (utc_char_b) + + +State 50 + + 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b . + + $default reduce using rule 31 (period_value) diff --git a/src/plugins/vcalendar/vcal_meeting_gtk.c b/src/plugins/vcalendar/vcal_meeting_gtk.c @@ -54,7 +54,7 @@ #include "gtkutils.h" #include "log.h" #include "utils.h" -#include "safe_fclose.h" +#include "claws_io.h" struct _VCalMeeting { diff --git a/src/pop.c b/src/pop.c @@ -40,7 +40,7 @@ #include "partial_download.h" #include "log.h" #include "hooks.h" -#include "safe_fclose.h" +#include "claws_io.h" static gint pop3_greeting_recv (Pop3Session *session, const gchar *msg); diff --git a/src/prefs_common.c b/src/prefs_common.c @@ -61,7 +61,7 @@ #include "prefswindow.h" #include "colorlabel.h" #include "passwordstore.h" -#include "safe_fclose.h" +#include "claws_io.h" #ifndef USE_ALT_ADDRBOOK #include "addrcustomattr.h" diff --git a/src/procmsg.c b/src/procmsg.c @@ -49,7 +49,7 @@ #include "timing.h" #include "inc.h" #include "privacy.h" -#include "safe_fclose.h" +#include "claws_io.h" extern SessionStats session_stats; diff --git a/src/safe_fclose.c b/src/safe_fclose.c @@ -1,46 +0,0 @@ -/* - * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2018 Colin Leroy and the Claws Mail team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#include "claws-features.h" -#endif - -#include <stdio.h> -#include <unistd.h> - -#include "prefs_common.h" -#include "common/timing.h" - -int safe_fclose(FILE *fp) -{ - int r; - START_TIMING(""); - - if (fflush(fp) != 0) { - return EOF; - } - if (prefs_common_get_prefs()->flush_metadata && fsync(fileno(fp)) != 0) { - return EOF; - } - - r = fclose(fp); - END_TIMING(); - - return r; -} diff --git a/src/safe_fclose.h b/src/safe_fclose.h @@ -1,24 +0,0 @@ -/* - * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2018 Colin Leroy and the Claws Mail team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef __SAFE_FCLOSE_H__ -#define __SAFE_FCLOSE_H__ - -int safe_fclose(FILE *fp); - -#endif