summaryrefslogtreecommitdiffstats
path: root/libkcal/libical/src/libical/icalparameter.c
diff options
context:
space:
mode:
Diffstat (limited to 'libkcal/libical/src/libical/icalparameter.c')
-rw-r--r--libkcal/libical/src/libical/icalparameter.c384
1 files changed, 0 insertions, 384 deletions
diff --git a/libkcal/libical/src/libical/icalparameter.c b/libkcal/libical/src/libical/icalparameter.c
deleted file mode 100644
index 52029e31..00000000
--- a/libkcal/libical/src/libical/icalparameter.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/* -*- Mode: C -*-
- ======================================================================
- FILE: icalderivedparameters.{c,h}
- CREATOR: eric 09 May 1999
-
-
-
- (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
- 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 "icalproperty.h"
-#include "icalerror.h"
-#include "icalmemory.h"
-#include "icalparameterimpl.h"
-
-#include <stdlib.h> /* for malloc() */
-#include <errno.h>
-#include <string.h> /* for memset() */
-
-/* In icalderivedparameter */
-icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind,const char* val);
-
-
-struct icalparameter_impl* icalparameter_new_impl(icalparameter_kind kind)
-{
- struct icalparameter_impl* v;
-
- if ( ( v = (struct icalparameter_impl*)
- malloc(sizeof(struct icalparameter_impl))) == 0) {
- icalerror_set_errno(ICAL_NEWFAILED_ERROR);
- return 0;
- }
-
- strcpy(v->id,"para");
-
- v->kind = kind;
- v->size = 0;
- v->string = 0;
- v->x_name = 0;
- v->parent = 0;
- v->data = 0;
-
- return v;
-}
-
-icalparameter*
-icalparameter_new (icalparameter_kind kind)
-{
- struct icalparameter_impl* v = icalparameter_new_impl(kind);
-
- return (icalparameter*) v;
-
-}
-
-void
-icalparameter_free (icalparameter* param)
-{
-
-/* HACK. This always triggers, even when parameter is non-zero
- icalerror_check_arg_rv((parameter==0),"parameter");*/
-
-
-#ifdef ICAL_FREE_ON_LIST_IS_ERROR
- icalerror_assert( (param->parent ==0),"Tried to free a parameter that is still attached to a component. ");
-
-#else
- if(param->parent !=0){
- return;
- }
-#endif
-
-
- if (param->string != 0){
- free ((void*)param->string);
- }
-
- if (param->x_name != 0){
- free ((void*)param->x_name);
- }
-
- memset(param,0,sizeof(param));
-
- param->parent = 0;
- param->id[0] = 'X';
- free(param);
-}
-
-
-
-icalparameter*
-icalparameter_new_clone(icalparameter* old)
-{
- struct icalparameter_impl *new;
-
- new = icalparameter_new_impl(old->kind);
-
- icalerror_check_arg_rz((old!=0),"param");
-
- if (new == 0){
- return 0;
- }
-
- memcpy(new,old,sizeof(struct icalparameter_impl));
-
- if (old->string != 0){
- new->string = icalmemory_strdup(old->string);
- if (new->string == 0){
- icalparameter_free(new);
- return 0;
- }
- }
-
- if (old->x_name != 0){
- new->x_name = icalmemory_strdup(old->x_name);
- if (new->x_name == 0){
- icalparameter_free(new);
- return 0;
- }
- }
-
- return new;
-}
-
-icalparameter* icalparameter_new_from_string(const char *str)
-{
- char* eq;
- char* cpy;
- icalparameter_kind kind;
- icalparameter *param;
-
- icalerror_check_arg_rz(str != 0,"str");
-
- cpy = icalmemory_strdup(str);
-
- if (cpy == 0){
- icalerror_set_errno(ICAL_NEWFAILED_ERROR);
- return 0;
- }
-
- eq = strchr(cpy,'=');
-
- if(eq == 0){
- icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR);
- return 0;
- }
-
- *eq = '\0';
-
- eq++;
-
- kind = icalparameter_string_to_kind(cpy);
-
- if(kind == ICAL_NO_PARAMETER){
- icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR);
- return 0;
- }
-
- param = icalparameter_new_from_value_string(kind,eq);
-
- if(kind == ICAL_X_PARAMETER){
- icalparameter_set_xname(param,cpy);
- }
-
- free(cpy);
-
- return param;
-
-}
-
-/**
- * Return a string representation of the parameter according to RFC2445.
- *
- * param = param-name "=" param-value
- * param-name = iana-token / x-token
- * param-value = paramtext /quoted-string
- * paramtext = *SAFE-SHARE
- * quoted-string= DQUOTE *QSAFE-CHARE DQUOTE
- * QSAFE-CHAR = any character except CTLs and DQUOTE
- * SAFE-CHAR = any character except CTLs, DQUOTE. ";", ":", ","
- */
-char*
-icalparameter_as_ical_string (icalparameter* param)
-{
- size_t buf_size = 1024;
- char* buf;
- char* buf_ptr;
- char *out_buf;
- const char *kind_string;
-
- icalerror_check_arg_rz( (param!=0), "parameter");
-
- /* Create new buffer that we can append names, parameters and a
- value to, and reallocate as needed. Later, this buffer will be
- copied to a icalmemory_tmp_buffer, which is managed internally
- by libical, so it can be given to the caller without fear of
- the caller forgetting to free it */
-
- buf = icalmemory_new_buffer(buf_size);
- buf_ptr = buf;
-
- if(param->kind == ICAL_X_PARAMETER) {
-
- icalmemory_append_string(&buf, &buf_ptr, &buf_size,
- icalparameter_get_xname(param));
-
- } else {
-
- kind_string = icalparameter_kind_to_string(param->kind);
-
- if (param->kind == ICAL_NO_PARAMETER ||
- param->kind == ICAL_ANY_PARAMETER ||
- kind_string == 0)
- {
- icalerror_set_errno(ICAL_BADARG_ERROR);
- return 0;
- }
-
-
- /* Put the parameter name into the string */
- icalmemory_append_string(&buf, &buf_ptr, &buf_size, kind_string);
-
- }
-
- icalmemory_append_string(&buf, &buf_ptr, &buf_size, "=");
-
- if(param->string !=0){
- int qm = 0;
-
- /* Encapsulate the property in quotes if necessary */
- if (strpbrk(param->string, ";:,") != 0) {
- icalmemory_append_char (&buf, &buf_ptr, &buf_size, '"');
- qm = 1;
- }
- icalmemory_append_string(&buf, &buf_ptr, &buf_size, param->string);
- if (qm == 1) {
- icalmemory_append_char (&buf, &buf_ptr, &buf_size, '"');
- }
- } else if (param->data != 0){
- const char* str = icalparameter_enum_to_string(param->data);
- icalmemory_append_string(&buf, &buf_ptr, &buf_size, str);
- } else {
- icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR);
- return 0;
- }
-
- /* Now, copy the buffer to a tmp_buffer, which is safe to give to
- the caller without worring about de-allocating it. */
-
- out_buf = icalmemory_tmp_buffer(strlen(buf)+1);
- strcpy(out_buf, buf);
-
- icalmemory_free_buffer(buf);
-
- return out_buf;
-
-}
-
-
-int
-icalparameter_is_valid (icalparameter* parameter);
-
-
-icalparameter_kind
-icalparameter_isa (icalparameter* parameter)
-{
- if(parameter == 0){
- return ICAL_NO_PARAMETER;
- }
-
- return parameter->kind;
-}
-
-
-int
-icalparameter_isa_parameter (void* parameter)
-{
- struct icalparameter_impl *impl = (struct icalparameter_impl *)parameter;
-
- if (parameter == 0){
- return 0;
- }
-
- if (strcmp(impl->id,"para") == 0) {
- return 1;
- } else {
- return 0;
- }
-}
-
-
-void
-icalparameter_set_xname (icalparameter* param, const char* v)
-{
- icalerror_check_arg_rv( (param!=0),"param");
- icalerror_check_arg_rv( (v!=0),"v");
-
- if (param->x_name != 0){
- free((void*)param->x_name);
- }
-
- param->x_name = icalmemory_strdup(v);
-
- if (param->x_name == 0){
- errno = ENOMEM;
- }
-
-}
-
-const char*
-icalparameter_get_xname (icalparameter* param)
-{
- icalerror_check_arg_rz( (param!=0),"param");
-
- return param->x_name;
-}
-
-void
-icalparameter_set_xvalue (icalparameter* param, const char* v)
-{
- icalerror_check_arg_rv( (param!=0),"param");
- icalerror_check_arg_rv( (v!=0),"v");
-
- if (param->string != 0){
- free((void*)param->string);
- }
-
- param->string = icalmemory_strdup(v);
-
- if (param->string == 0){
- errno = ENOMEM;
- }
-
-}
-
-const char*
-icalparameter_get_xvalue (icalparameter* param)
-{
- icalerror_check_arg_rz( (param!=0),"param");
-
- return param->string;
-}
-
-void icalparameter_set_parent(icalparameter* param,
- icalproperty* property)
-{
- icalerror_check_arg_rv( (param!=0),"param");
-
- param->parent = property;
-}
-
-icalproperty* icalparameter_get_parent(icalparameter* param)
-{
- icalerror_check_arg_rz( (param!=0),"param");
-
- return param->parent;
-}
-
-
-/* Everything below this line is machine generated. Do not edit. */
-/* ALTREP */