Changeset 35906

Show
Ignore:
Timestamp:
11/15/09 18:47:54 (4 years ago)
Author:
saturday06
Message:

jiojoijoijoi

Location:
lang/objective-cplusplus/i3/trunk
Files:
12 modified

Legend:

Unmodified
Added
Removed
  • lang/objective-cplusplus/i3/trunk/am/i3.am

    r35900 r35906  
    5050 
    5151if WITH_OS_WINDOWS 
    52 i3_SOURCES_NO_MAIN += src/os-windows/Utf8ToUtf16Stream.cpp 
     52#i3_SOURCES_NO_MAIN += src/os-windows/Utf8ToUtf16Stream.cpp 
    5353 
    5454i3_CXXFLAGS  += -DMIL_OS_WINDOWS 
  • lang/objective-cplusplus/i3/trunk/am/mil_profile.am

    r35841 r35906  
    1010src/mil/src/profile/Module.cpp 
    1111 
    12 mil_profile_CXXFLAGS = ${mil_test_CXXFLAGS} -DMIL_PROFILE 
     12mil_profile_CXXFLAGS = ${mil_test_CXXFLAGS} 
    1313mil_profile_LDFLAGS  = ${mil_test_LDFLAGS} 
    1414mil_profile_LDADD    = ${mil_test_LDADD} 
  • lang/objective-cplusplus/i3/trunk/am/mil_test.am

    r35900 r35906  
    1919 
    2020mil_test_LDFLAGS  = ${PTHREAD_LIBS} ${BOOST_LDFLAGS} 
    21 mil_test_LDADD    =  
     21mil_test_LDADD    = ${LIBINTL} 
    2222 
    2323if WITH_OS_WINDOWS 
  • lang/objective-cplusplus/i3/trunk/configure.ac

    r35900 r35906  
    2424AC_LANG([C++]) 
    2525 
    26 AC_ARG_ENABLE(debug, 
    27               AS_HELP_STRING([--enable-debug], [build debug binaries]), 
    28               enable_debug="$enableval",  
    29 #              enable_debug="no" 
    30               enable_debug="yes" 
    31                            ) 
     26AC_ARG_ENABLE( 
     27    debug, 
     28    AS_HELP_STRING([--enable-debug], [build debug binaries]), 
     29    enable_debug="$enableval",  
     30    #enable_debug="no" 
     31    enable_debug="yes" 
     32) 
     33 
    3234AM_CONDITIONAL(ENABLE_DEBUG, test "$enable_debug" = "yes") 
    3335if test "$enable_debug" = "yes"; then 
     
    4244    fi 
    4345fi 
     46 
     47AC_ARG_ENABLE( 
     48    windows-unicode, 
     49    AS_HELP_STRING([--enable-windows-unicode],[windows unicode]) 
     50) 
    4451 
    4552# --------------------------------------- 
     
    5966        with_os=windows 
    6067        with_gui_default=windows 
     68        if test "$enable_windows_unicode" = "yes"; then 
     69            CFLAGS="    ${CFLAGS}    -DUNICODE -D_UNICODE" 
     70            CXXFLAGS="  ${CXXFLAGS}  -DUNICODE -D_UNICODE" 
     71            OBJCFLAGS=" ${OBJCFLAGS} -DUNICODE -D_UNICODE" 
     72        fi 
    6173        ;; 
    6274    *) 
     
    174186# --------------------------------------- 
    175187# Checks for typedefs, structures, and compiler characteristics. 
     188AC_CHECK_HEADERS([malloc.h]) 
    176189 
    177190# --------------------------------------- 
  • lang/objective-cplusplus/i3/trunk/src/Common.h

    r35904 r35906  
    105105// NO include "Mediator.h" 
    106106 
    107 #ifndef _MSC_VER 
    108 #define __try 
    109 #define __except(expression) if (false) 
    110 #endif 
    111  
    112 #define UTF8_TO_UTF16LE_ALLOCA(data8, data16)                           \ 
    113     wchar_t* data16 = NULL;                                             \ 
    114     for (;;) {                                                          \ 
    115         const char* check = data8; check;                               \ 
    116         unsigned int num_elements = MultiByteToWideChar(CP_UTF8, 0, data8, -1, NULL, 0); \ 
    117         if (num_elements == 0) {                                        \ 
    118             break;                                                      \ 
    119         }                                                               \ 
    120         const size_t data16_bytes = num_elements*sizeof(wchar_t);       \ 
    121         if (data16_bytes > _ALLOCA_S_THRESHOLD) {                       \ 
    122             data16 = NULL;                                              \ 
    123             break;                                                      \ 
    124         }                                                               \ 
    125         __try {                                                         \ 
    126             data16 = (wchar_t*)alloca(data16_bytes);                    \ 
    127         } __except (GetExceptionCode() == STATUS_STACK_OVERFLOW ?       \ 
    128                     EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { \ 
    129             data16 = NULL;                                              \ 
    130             break;                                                      \ 
    131      }                                                               \ 
    132         if (0 == MultiByteToWideChar(CP_UTF8, 0, data8, -1, data16, num_elements)) { \ 
    133             data16 = NULL;                                              \ 
    134             break;                                                      \ 
    135         }                                                               \ 
    136         break;                                                          \ 
    137     } 
    138  
    139 #define UTF16LE_TO_UTF8_ALLOCA(data16, data8)                           \ 
    140     char* data8 = NULL;                                                 \ 
    141     for (;;) {                                                          \ 
    142         const wchar_t* check = data16; check;                           \ 
    143         unsigned int num_elements = WideCharToMultiByte( CP_UTF8, 0, data16, -1, NULL, 0, 0, 0); \ 
    144         if (num_elements == 0 || num_elements > _ALLOCA_S_THRESHOLD) {  \ 
    145             break;                                                      \ 
    146         }                                                               \ 
    147         __try {                                                         \ 
    148             data8 = (char*)alloca(num_elements*sizeof(char));           \ 
    149         } __except (GetExceptionCode() == STATUS_STACK_OVERFLOW ?       \ 
    150                     EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { \ 
    151             data8 = NULL;                                               \ 
    152             break;                                                      \ 
    153      }                                                               \ 
    154         if (0 == WideCharToMultiByte(CP_UTF8, 0, data16, -1, data8, num_elements, 0, 0)) { \ 
    155             data8 = NULL;                                               \ 
    156             break;                                                      \ 
    157         }                                                               \ 
    158         break;                                                          \ 
    159     } 
    160  
    161  
    162 #undef WINDOWS_SEH_TRY 
    163 #undef WINDOWS_SEH_EXCEPT 
    164  
    165107#ifndef HAVE_POPT_H 
    166108namespace i3 { 
  • lang/objective-cplusplus/i3/trunk/src/mil/include/mil/StaticData.cpp

    r35904 r35906  
    77//#include <fecti/Utility/FThread.cpp> 
    88 
    9 //#ifndef ENABLE_NLS 
    10 #ifndef _ 
    11 #if defined(_UNICODE) || defined(UNICODE) 
    12 #define _(x) L##x 
     9#ifdef ENABLE_NLS 
     10#include <libintl.h> 
    1311#else 
    14 #define _(x) x 
    15 #endif 
     12#define gettext(x) x 
    1613#endif 
    1714 
  • lang/objective-cplusplus/i3/trunk/src/mil/src/profile/Module.cpp

    r35836 r35906  
    88 
    99using namespace mil; 
    10 using namespace mil::Test; 
     10using namespace mil::test; 
    1111 
    1212namespace Test11 { 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/Os.cpp

    r35904 r35906  
    3232BOOL CreateSecureDirectory(const TCHAR* lpszFileName, PSID pSidOwner, PACL pDacl) { 
    3333    SECURITY_ATTRIBUTES  securityAttributes = {}; 
    34     PSECURITY_DESCRIPTOR pSecurityDescriptor = malloc(SECURITY_DESCRIPTOR_MIN_LENGTH); 
     34    PSECURITY_DESCRIPTOR pSecurityDescriptor = 
     35        (PSECURITY_DESCRIPTOR)malloc(SECURITY_DESCRIPTOR_MIN_LENGTH); 
    3536    if (!pSecurityDescriptor) { 
    3637        return FALSE; 
     
    117118        EXPLICIT_ACCESS explicitAccess = {}; 
    118119 
    119         BuildExplicitAccessWithName(&explicitAccess, _T("Everyone"), GENERIC_READ | FILE_ADD_SUBDIRECTORY, GRANT_ACCESS, NO_INHERITANCE); 
     120        BuildExplicitAccessWithName( 
     121            &explicitAccess, _T("Everyone"), 
     122            GENERIC_READ | FILE_ADD_SUBDIRECTORY, 
     123            GRANT_ACCESS, 
     124            NO_INHERITANCE); 
    120125        if (SetEntriesInAcl(1, &explicitAccess, NULL, &pDacl) != ERROR_SUCCESS) { 
    121126            return; 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/Os.h

    r35311 r35906  
    33#include "WindowsCommon.h" 
    44 
    5 #ifdef ENABLE_NLS 
     5#if defined(ENABLE_NLS) && (defined(UNICODE) || defined(_UNICODE)) 
    66#include "wlibintl.h" 
    77#endif 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/Pty.cpp

    r35623 r35906  
    7777} 
    7878 
    79 bool Pty::createPtyProcess(TCHAR* executable, TCHAR* cd) { 
     79bool Pty::createPtyProcess(const TCHAR* executable, const TCHAR* cd) { 
    8080    TCHAR pty[STACKABLE_MAX_PATH] = {}; 
    8181    { 
     
    141141} 
    142142 
     143 
    143144bool Pty::connectInterix() { 
    144145    //XXX clean handles ??? 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/Pty.h

    r35623 r35906  
    2222 
    2323private: 
    24     bool createPtyProcess(TCHAR* executable, TCHAR* cd); 
     24    bool createPtyProcess(const TCHAR* executable, const TCHAR* cd); 
    2525    HANDLE hStdInput; 
    2626    HANDLE hStdOutput; 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/WindowsCommon.h

    r35836 r35906  
    55#endif 
    66 
    7 #ifdef __GNUC__ 
     7#ifdef _MSC_VER 
     8 
     9#define I3_WINDOWS_SEH_TRY __try 
     10#define I3_WINDOWS_SEH_EXCEPT(x) __except(x) 
     11 
     12#elif defined(__GNUC__) 
     13 
     14#define I3_WINDOWS_SEH_TRY  
     15#define I3_WINDOWS_SEH_EXCEPT(x) if (false) 
    816 
    917#define MSFTEDIT_CLASS TEXT("RichEdit50W") 
     
    3038} DWM_BLURBEHIND, *PDWM_BLURBEHIND; 
    3139 
    32 #define LWA_COLORKEY            0x00000001 
    33 #define LWA_ALPHA               0x00000002 
    34  
    35  
    36 #define ULW_COLORKEY            0x00000001 
    37 #define ULW_ALPHA               0x00000002 
    38 #define ULW_OPAQUE              0x00000004 
    39  
    4040#define ULW_EX_NORESIZE         0x00000008 
    4141 
     
    6161 
    6262} 
     63 
     64#define UTF8_TO_UTF16LE_ALLOCA(data8, data16)                           \ 
     65    wchar_t* data16 = NULL;                                             \ 
     66    for (;;) {                                                          \ 
     67        const char* check = data8; check;                               \ 
     68        unsigned int num_elements =                                     \ 
     69            MultiByteToWideChar(CP_UTF8, 0, data8, -1, NULL, 0);        \ 
     70        if (num_elements == 0) {                                        \ 
     71            break;                                                      \ 
     72        }                                                               \ 
     73        const size_t data16_bytes = num_elements*sizeof(wchar_t);       \ 
     74        if (data16_bytes > _ALLOCA_S_THRESHOLD) {                       \ 
     75            data16 = NULL;                                              \ 
     76            break;                                                      \ 
     77        }                                                               \ 
     78        I3_WINDOWS_SEH_TRY {                                            \ 
     79            data16 = (wchar_t*)alloca(data16_bytes);                    \ 
     80        }  I3_WINDOWS_SEH_EXCEPT                                        \ 
     81               (GetExceptionCode() == STATUS_STACK_OVERFLOW ?           \ 
     82                EXCEPTION_EXECUTE_HANDLER :                             \ 
     83                EXCEPTION_CONTINUE_SEARCH) {                            \ 
     84            data16 = NULL;                                              \ 
     85            break;                                                      \ 
     86        }                                                               \ 
     87        if (0 == MultiByteToWideChar(                                   \ 
     88                CP_UTF8, 0, data8, -1, data16, num_elements)) {         \ 
     89            data16 = NULL;                                              \ 
     90            break;                                                      \ 
     91        }                                                               \ 
     92        break;                                                          \ 
     93    } 
     94 
     95#define UTF16LE_TO_UTF8_ALLOCA(data16, data8)                           \ 
     96    char* data8 = NULL;                                                 \ 
     97    for (;;) {                                                          \ 
     98        const wchar_t* check = data16; check;                           \ 
     99        unsigned int num_elements = WideCharToMultiByte(                \ 
     100            CP_UTF8, 0, data16, -1, NULL, 0, 0, 0);                     \ 
     101        if (num_elements == 0 || num_elements > _ALLOCA_S_THRESHOLD) {  \ 
     102            break;                                                      \ 
     103        }                                                               \ 
     104        I3_WINDOWS_SEH_TRY {                                            \ 
     105            data8 = (char*)alloca(num_elements*sizeof(char));           \ 
     106        } I3_WINDOWS_SEH_EXCEPT                                         \ 
     107              (GetExceptionCode() == STATUS_STACK_OVERFLOW ?            \ 
     108               EXCEPTION_EXECUTE_HANDLER :                              \ 
     109               EXCEPTION_CONTINUE_SEARCH) {                             \ 
     110            data8 = NULL;                                               \ 
     111            break;                                                      \ 
     112        }                                                               \ 
     113        if (0 == WideCharToMultiByte(                                   \ 
     114                CP_UTF8, 0, data16, -1, data8, num_elements, 0, 0)) {   \ 
     115            data8 = NULL;                                               \ 
     116            break;                                                      \ 
     117        }                                                               \ 
     118        break;                                                          \ 
     119    }