Changeset 154 in libcf


Ignore:
Timestamp:
11/04/13 16:24:55 (10 years ago)
Author:
cheese
Message:

#1 fix file-context bug

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/cf_util.h

    r152 r154  
    1515#define CF_UTIL_DATETIME_LENGTH (sizeof ("0000-00-00 00:00:00.000") - 1)
    1616
     17typedef enum
     18{
     19    SUN = 0,    /**< 일요일 */
     20    MON,        /**< 월요일 */
     21    TUE,        /**< 화요일 */
     22    WED,        /**< 수요일 */
     23    THU,        /**< 목요일 */
     24    FRI,        /**< 금요일 */
     25    SAT,        /**< 토요일 */
     26} CF_UTIL_WEEK;
     27
    1728typedef struct __cf_util_datetime__
    1829{
    19     int year;
    20     int month;
    21     int day;
    22     int week; /* SUN:0 ~ SAT:6 */
     30    int             year;   /**< 년. */
     31    int             month;  /**< 월. */
     32    int             day;    /**< 일. */
     33    CF_UTIL_WEEK    week;   /**< 요일. */
    2334
    24     int hour;
    25     int min;
    26     int sec;
    27     int usec;
     35    int             hour;   /**< 시간. */
     36    int             min;    /**< 분. */
     37    int             sec;    /**< 초. */
     38    int             usec;   /**< 마이크로 초. */
    2839} CF_UTIL_DATETIME;
    2940
  • trunk/src/cf_file.c

    r151 r154  
    4949#endif // #if defined(_WIN32) || defined(_WIN64)
    5050
    51 #define DIRECTORY_MODE  S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH
    52 #define FILE_MODE       S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH
    53 
    5451#define ASSERT_CTX(__ctx)   \
    5552    if (__ctx == NULL)      \
     
    120117        osflag = CF_File_Local_ConvertFlag (flag) | O_BINARY;
    121118
     119#define FILE_MODE   (S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH)
    122120        fd = open (path, osflag, FILE_MODE);
    123121        if (fd < 0)
     
    127125        }
    128126        context->fd = fd;
     127        snprintf (context->path, sizeof (context->path) - 1, "%s", path);
    129128
    130129        *ctx = context;
     
    236235{
    237236    int length = 0;
    238     int fd = 0;
     237    int result = 0;
    239238
    240239    CF_FILE_CONTEXT * context = NULL;
     
    242241    ASSERT_ARGS (path == NULL);
    243242
    244     fd = CF_File_Open ((cf_ctx *)&context, path, CF_FILE_READ);
    245     if (fd < 0)
     243    result = CF_File_Open ((cf_ctx *)&context, path, CF_FILE_READ);
     244    if (result < 0)
    246245        return CF_ERROR_FILE_OPEN;
    247246
    248     length = (int) lseek (fd, 0, SEEK_END);
     247    length = (int) lseek (context->fd, 0, SEEK_END);
    249248    if (length < 0)
    250249        return CF_ERROR_FILE_GET_SIZE;
     
    306305            continue;
    307306
     307#define DIRECTORY_MODE  (S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
    308308        result = mkdir (stepPath, DIRECTORY_MODE);
    309309        if (result && errno != EEXIST)
  • trunk/src/cf_util.c

    r152 r154  
    100100 * \return 성공 시, CF_OK; 실패 시, 오류 코드
    101101 *
    102  * \param dt    datetime 구조체 주소
     102 * \param dt    CF_UTIL_DATETIME 구조체 주소
    103103 */
    104104int
     
    132132 * \return 성공 시, CF_OK; 실패 시, 오류 코드
    133133 *
    134  * \param dt    datetime 구조체 주소
     134 * \param dt    CF_UTIL_DATETIME 구조체 주소
    135135 * \param str   변환한 문자열을 저장할 충분한 공간의 메모리
     136 *
     137 * \remarks
     138 * 날짜/시간 문자열 형식 : yyyy-MM-dd HH:mm:ss.SSS
    136139 */
    137140int
  • trunk/test/file.c

    r151 r154  
    3636        // error
    3737    }
     38    CF_File_GetPath (fd, buffer);
     39    printf ("file path : %s\n", buffer);
    3840    printf ("file size : %d\n", CF_File_GetSize (name));
    3941    if (CF_File_Read (fd, buffer, sizeof (buffer)) < 0) {
Note: See TracChangeset for help on using the changeset viewer.