utf8ify_rfc822_string() is in libcitadel now
[citadel.git] / libcitadel / lib / vcard.c
index 8c0c79d1ca37a9ea391857e57c9970eb5fa78dbd..f52bb29c49f5ba14ac66b93734ee82545396eb05 100644 (file)
@@ -3,19 +3,8 @@
  *
  * Copyright (C) 1999-2008 by the citadel.org development team.
  *
- * This program is open source 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// This program is open source software.  Use, duplication, or disclosure
+// is subject to the terms of the GNU General Public License, version 3.
  */
 
 
@@ -93,7 +82,7 @@ void remove_charset_attribute(char *strbuf)
  * propname    name of new property
  * propvalue   value of new property
  */
-void vcard_add_prop(struct vCard *v, char *propname, char *propvalue) {
+void vcard_add_prop(struct vCard *v, const char *propname, const char *propvalue) {
        ++v->numprops;
        v->prop = realloc(v->prop,
                (v->numprops * sizeof(struct vCardProp)) );
@@ -138,7 +127,11 @@ struct vCard *vcard_load(char *vtext) {
        }
 
        v = vcard_new();
-       if (v == NULL) return v;
+       if (v == NULL)
+       {
+               free(mycopy);
+               return v;
+       }
 
        ptr = mycopy;
        while (!IsEmptyStr(ptr)) {