Changeset 181 for pjproject


Ignore:
Timestamp:
Feb 14, 2006 9:03:15 PM (19 years ago)
Author:
bennylp
Message:

Changed the unicode functions

Location:
pjproject/trunk/pjlib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/unicode.h

    r126 r181  
    2121 
    2222#include <pj/types.h> 
     23 
     24 
     25PJ_BEGIN_DECL 
     26 
    2327 
    2428/** 
     
    5761#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 
    5862 
    59 #   define PJ_DECL_UNICODE_TEMP_BUF(buf,size)    wchar_t buf[size] 
    60 #   define PJ_STRING_TO_NATIVE(s,buf)            pj_ansi_to_unicode( \ 
     63#   define PJ_DECL_UNICODE_TEMP_BUF(buf,size)   wchar_t buf[size]; 
     64#   define PJ_STRING_TO_NATIVE(s,buf,max)       pj_ansi_to_unicode( \ 
    6165                                                    s, strlen(s), \ 
    62                                                     buf, PJ_ARRAY_SIZE(buf)) 
    63 #   define PJ_TEXT(s)                            _TEXT(s) 
     66                                                    buf, max) 
     67#   define PJ_DECL_ANSI_TEMP_BUF(buf,size)      char buf[size]; 
     68#   define PJ_NATIVE_TO_STRING(cs,buf,max)      pj_unicode_to_ansi( \ 
     69                                                    cs, wcslen(cs), \ 
     70                                                    buf, max) 
    6471 
    6572#else 
    6673 
    6774#   define PJ_DECL_UNICODE_TEMP_BUF(var,size) 
    68 #   define PJ_STRING_TO_NATIVE(s, buf)          (s) 
    69 #   define PJ_TEXT(s)                           (s) 
     75#   define PJ_STRING_TO_NATIVE(s,buf,max)       ((char*)s) 
     76#   define PJ_DECL_ANSI_TEMP_BUF(buf,size) 
     77#   define PJ_NATIVE_TO_STRING(cs,buf,max)      ((char*)(const char*)cs) 
    7078 
    7179#endif 
     
    7381 
    7482 
     83PJ_END_DECL 
     84 
     85 
    7586#endif  /* __PJ_UNICODE_H__ */ 
  • pjproject/trunk/pjlib/src/pj/file_access_win32.c

    r126 r181  
    3131PJ_DEF(pj_bool_t) pj_file_exists(const char *filename) 
    3232{ 
     33    PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) 
    3334    HANDLE hFile; 
    34     PJ_DECL_UNICODE_TEMP_BUF(wfilename,256); 
    3535 
    3636    PJ_ASSERT_RETURN(filename != NULL, 0); 
    3737 
    38     hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename), READ_CONTROL,  
     38    hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename)),  
     39                       READ_CONTROL,  
    3940                       FILE_SHARE_READ, NULL, 
    4041                       OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
     
    5253PJ_DEF(pj_off_t) pj_file_size(const char *filename) 
    5354{ 
     55    PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) 
    5456    HANDLE hFile; 
    5557    DWORD sizeLo, sizeHi; 
    5658    pj_off_t size; 
    57     PJ_DECL_UNICODE_TEMP_BUF(wfilename,256); 
    5859 
    5960    PJ_ASSERT_RETURN(filename != NULL, -1); 
    6061 
    61     hFile = CreateFile(PJ_STRING_TO_NATIVE(filename, wfilename), READ_CONTROL,  
     62    hFile = CreateFile(PJ_STRING_TO_NATIVE(filename, wfilename,sizeof(wfilename)),  
     63                       READ_CONTROL,  
    6264                       FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, 
    6365                       OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
     
    8789PJ_DEF(pj_status_t) pj_file_delete(const char *filename) 
    8890{ 
    89     PJ_DECL_UNICODE_TEMP_BUF(wfilename,256); 
     91    PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) 
    9092 
    9193    PJ_ASSERT_RETURN(filename != NULL, PJ_EINVAL); 
    9294 
    93     if (DeleteFile(PJ_STRING_TO_NATIVE(filename,wfilename)) == FALSE) 
     95    if (DeleteFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename))) == FALSE) 
    9496        return PJ_RETURN_OS_ERROR(GetLastError()); 
    9597 
     
    103105PJ_DEF(pj_status_t) pj_file_move( const char *oldname, const char *newname) 
    104106{ 
     107    PJ_DECL_UNICODE_TEMP_BUF(woldname,256) 
     108    PJ_DECL_UNICODE_TEMP_BUF(wnewname,256) 
    105109    BOOL rc; 
    106     PJ_DECL_UNICODE_TEMP_BUF(woldname,256); 
    107     PJ_DECL_UNICODE_TEMP_BUF(wnewname,256); 
    108110 
    109111    PJ_ASSERT_RETURN(oldname!=NULL && newname!=NULL, PJ_EINVAL); 
    110112 
    111113#if PJ_WIN32_WINNT >= 0x0400 
    112     rc = MoveFileEx(PJ_STRING_TO_NATIVE(oldname,woldname),  
    113                     PJ_STRING_TO_NATIVE(newname,wnewname),  
     114    rc = MoveFileEx(PJ_STRING_TO_NATIVE(oldname,woldname,sizeof(woldname)),  
     115                    PJ_STRING_TO_NATIVE(newname,wnewname,sizeof(wnewname)),  
    114116                    MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING); 
    115117#else 
    116     rc = MoveFile(PJ_STRING_TO_NATIVE(oldname, woldname),  
    117                   PJ_STRING_TO_NATIVE(newname, wnewname)); 
     118    rc = MoveFile(PJ_STRING_TO_NATIVE(oldname,woldname,sizeof(woldname)),  
     119                  PJ_STRING_TO_NATIVE(newname,wnewname,sizeof(wnewname))); 
    118120#endif 
    119121 
     
    160162PJ_DEF(pj_status_t) pj_file_getstat(const char *filename, pj_file_stat *stat) 
    161163{ 
     164    PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) 
    162165    HANDLE hFile; 
    163166    DWORD sizeLo, sizeHi; 
    164167    FILETIME creationTime, accessTime, writeTime; 
    165     PJ_DECL_UNICODE_TEMP_BUF(wfilename,256); 
    166168 
    167169    PJ_ASSERT_RETURN(filename!=NULL && stat!=NULL, PJ_EINVAL); 
    168170 
    169     hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename), READ_CONTROL,  
     171    hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename)),  
     172                       READ_CONTROL,  
    170173                       FILE_SHARE_READ, NULL, 
    171174                       OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
  • pjproject/trunk/pjlib/src/pj/file_io_win32.c

    r126 r181  
    4545                                  pj_oshandle_t *fd) 
    4646{ 
    47     PJ_DECL_UNICODE_TEMP_BUF(wpathname,256); 
     47    PJ_DECL_UNICODE_TEMP_BUF(wpathname,256) 
    4848    HANDLE hFile; 
    4949    DWORD dwDesiredAccess = 0; 
     
    7979    dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; 
    8080 
    81     hFile = CreateFile(PJ_STRING_TO_NATIVE(pathname,wpathname),  
     81    hFile = CreateFile(PJ_STRING_TO_NATIVE(pathname,wpathname,sizeof(wpathname)),  
    8282                       dwDesiredAccess, dwShareMode, NULL, 
    8383                       dwCreationDisposition, dwFlagsAndAttributes, NULL); 
Note: See TracChangeset for help on using the changeset viewer.