diff options
Diffstat (limited to 'src/libicalvcal/vobject.c')
-rw-r--r-- | src/libicalvcal/vobject.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/libicalvcal/vobject.c b/src/libicalvcal/vobject.c index e4fc7ad..af7647f 100644 --- a/src/libicalvcal/vobject.c +++ b/src/libicalvcal/vobject.c @@ -42,8 +42,8 @@ DFARS 252.227-7013 or 48 CFR 52.227-19, as applicable. * vobject, and convert a vobject into its textual representation. */ -#ifdef WIN32 -#define snprintf _snprintf +#if defined(_MSC_VER) +#define snprintf _snprintf #define strcasecmp stricmp #endif @@ -124,7 +124,7 @@ DLLEXPORT(void) deleteVObject(VObject *p) free(p); } -DLLEXPORT(char*) dupStr(const char *s, unsigned int size) +DLLEXPORT(char*) dupStr(const char *s, size_t size) { char *t; if (size == 0) { @@ -685,7 +685,7 @@ DLLEXPORT(void) cleanStrTbl() p = t; t = t->next; deleteStrItem(p); - } while (t); + } strTbl[i] = 0; } } @@ -1079,7 +1079,7 @@ static void appendcOFile(OFile *fp, char c) static void appendsOFile(OFile *fp, const char *s) { - int i, slen; + size_t i, slen; slen = strlen(s); for (i=0; i<slen; i++) { appendcOFile(fp,s[i]); @@ -1247,9 +1247,11 @@ static void writeGroup(OFile *fp, VObject *o) { char buf1[256]; char buf2[256]; - strcpy(buf1,NAME_OF(o)); + strncpy(buf1,NAME_OF(o),sizeof(buf1)-1); + buf1[sizeof(buf1)-1]='\0'; + while ((o=isAPropertyOf(o,VCGroupingProp)) != 0) { - strncpy(buf2,STRINGZ_VALUE_OF(o),sizeof(buf2)); + strncpy(buf2,STRINGZ_VALUE_OF(o),sizeof(buf2)-1); buf2[sizeof(buf2)-1] = '\0'; strncat(buf2,".",sizeof(buf2)-strlen(buf2)-1); strncat(buf2,buf1,sizeof(buf2)-strlen(buf2)-1); @@ -1404,10 +1406,10 @@ DLLEXPORT(char*) writeMemVObjects(char *s, int *len, VObject *list) /*---------------------------------------------------------------------- APIs to do fake Unicode stuff. ----------------------------------------------------------------------*/ -DLLEXPORT(wchar_t*) fakeUnicode(const char *ps, int *bytes) +DLLEXPORT(wchar_t*) fakeUnicode(const char *ps, size_t *bytes) { wchar_t *r, *pw; - int len = strlen(ps)+1; + size_t len = strlen(ps)+1; pw = r = (wchar_t*)malloc(sizeof(wchar_t)*len); if (bytes) |