Changeset 154 in libcf for trunk/src/cf_file.c


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

#1 fix file-context bug

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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)
Note: See TracChangeset for help on using the changeset viewer.