summaryrefslogtreecommitdiff
path: root/src/libical/icalderivedparameter.c.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/libical/icalderivedparameter.c.in')
-rw-r--r--src/libical/icalderivedparameter.c.in21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/libical/icalderivedparameter.c.in b/src/libical/icalderivedparameter.c.in
index 918efa1..2a66539 100644
--- a/src/libical/icalderivedparameter.c.in
+++ b/src/libical/icalderivedparameter.c.in
@@ -38,13 +38,14 @@
#include "icalproperty.h"
#include "icalerror.h"
#include "icalmemory.h"
+#include "icaltypes.h"
#include <stdlib.h> /* for malloc() */
#include <errno.h>
#include <string.h> /* for memset() */
-#ifdef WIN32
-#define strcasecmp stricmp
+#ifdef _MSC_VER
+#define strcasecmp stricmp
#endif
icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value);
@@ -98,21 +99,25 @@ icalparameter_kind icalparameter_string_to_kind(const char* string)
int i;
if (string ==0 ) {
- return ICAL_NO_PARAMETER;
+ return ICAL_NO_PARAMETER;
}
for (i=0; parameter_map[i].kind != ICAL_NO_PARAMETER; i++) {
- if (strcasecmp(parameter_map[i].name, string) == 0) {
- return parameter_map[i].kind;
- }
+ if (strcasecmp(parameter_map[i].name, string) == 0) {
+ return parameter_map[i].kind;
+ }
}
if(strncmp(string,"X-",2)==0){
- return ICAL_X_PARAMETER;
+ return ICAL_X_PARAMETER;
}
- return ICAL_NO_PARAMETER;
+ if (ical_get_unknown_token_handling_setting() == ICAL_TREAT_AS_ERROR) {
+ return ICAL_NO_PARAMETER;
+ } else {
+ return ICAL_IANA_PARAMETER;
+ }
}