From: Jeesun Kim Date: Fri, 12 Apr 2013 13:15:32 +0000 (+0900) Subject: [misc] fixed wrong loog when vcalendar tizd parsing X-Git-Tag: 2.1b_release~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ad361995404fedca5c0db2475235ad420b67ca4;p=framework%2Fpim%2Fcalendar-service.git [misc] fixed wrong loog when vcalendar tizd parsing Change-Id: I9b2cc2adb3cd62a9690ae9286da591cf156b066b --- diff --git a/CMakeLists.txt b/CMakeLists.txt index dd53471..8df46ee 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ PROJECT(calendar-service C CXX) #ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") #MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") -SET(DEST_INCLUDE_DIR "include/calendar-svc") +SET(DEST_INCLUDE_DIR "include") SET(SRC_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") SET(PREFIX ${CMAKE_INSTALL_PREFIX}) diff --git a/common/cal_vcalendar_parse.c b/common/cal_vcalendar_parse.c index bc961ee..14f806b 100644 --- a/common/cal_vcalendar_parse.c +++ b/common/cal_vcalendar_parse.c @@ -665,14 +665,14 @@ static char *__cal_vcalendar_parse_dtstart_tzid(char *q) ERR("calloc() failed"); return NULL; } - for (i = 0; i < len; i++) + for (i = 0; i < len -j; i++) { if (q[j + i] == '\"' && has_quot == 0) { j++; has_quot = 1; } - else if (q[len -1] == '\"' && has_quot == 1) + else if (i == (len -j -1) && q[i] == '\"' && has_quot == 1) { break; } @@ -709,6 +709,7 @@ int __cal_vcalendar_parse_dtstart_time(calendar_list_h list, char *q, char *tzid { int len = 0; int y, m, d, h, min, s; + char c, z; if (NULL == q || NULL == caltime) { @@ -721,14 +722,24 @@ int __cal_vcalendar_parse_dtstart_time(calendar_list_h list, char *q, char *tzid switch (caltime->type) { case CALENDAR_TIME_LOCALTIME: - sscanf(q, "%4d%2d%2d", &y, &m, &d); + sscanf(q, "%04d%02d%02d", &y, &m, &d); caltime->time.date.year = y; caltime->time.date.month = m; caltime->time.date.mday = d; break; case CALENDAR_TIME_UTIME: - sscanf(q, "%4d%2d%2dT%2d%2d%2dZ", &y, &m, &d, &h, &min, &s); + if (strlen(q) == strlen("YYYYMMDDTHHMMSSZ")) + { + sscanf(q, "%04d%02d%02dT%02d%02d%02dZ", &y, &m, &d, &h, &min, &s); + DBG("get GMT time[%04d/%02d/%02d %02d:%02d:%02d]", y, m, d, h, min, s); + } + else + { + sscanf(q, "%04d%02d%02dT%02d%02d%02d", &y, &m, &d, &h, &min, &s); + DBG("get local time[%04d/%02d/%02d %02d:%02d:%02d]", y, m, d, h, min, s); + } + if (NULL == tzid || len == strlen("YYYYMMDDTHHMMSSZ")) { // Z means GMT diff --git a/dft/CMakeLists.txt b/dft/CMakeLists.txt index af0e47f..cdc8b65 100644 --- a/dft/CMakeLists.txt +++ b/dft/CMakeLists.txt @@ -10,7 +10,7 @@ SET(PREFIX "/usr") SET(BINDIR "${PREFIX}/bin") SET(OPTDIR "/usr/share/calendar-svc") -SET(LIBNAME calendar-service-native) +SET(LIBNAME calendar-service2) IF("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD_TYPE "Release")