Changeset 25300
- Timestamp:
- 11/29/08 02:25:07 (4 years ago)
- Location:
- lang/c/libintl-msvc
- Files:
-
- 6 modified
-
recipes/bindtextdom-windows.h (modified) (7 diffs)
-
recipes/loadmsgcat-windows.h (modified) (5 diffs)
-
samples/sample.cpp (modified) (1 diff)
-
step1.sh (modified) (4 diffs)
-
step2.bat (modified) (2 diffs)
-
win_iconv.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/c/libintl-msvc/recipes/bindtextdom-windows.h
r25197 r25300 16 16 { 17 17 unsigned int num_elements = 0; 18 char *d = NULL;19 18 char *dirname8 = NULL; 20 19 char *dirname8_bak = NULL; … … 40 39 if (0 == WideCharToMultiByte (CP_UTF8, 0, dirname16, -1, dirname8, num_elements, 0, 0)) 41 40 { 42 memset(dirname8_bak, 0, num_elements); 43 free (dirname8); 44 return NULL; 45 } 46 /* 47 { 48 int i = 0; 49 for (; i < 100; i++) { 50 printf("%02x[%c] ", 51 (unsigned int)(unsigned char)(dirname8[i]), 52 isprint((unsigned char)(dirname8[i])) ? 53 ((unsigned char)(dirname8[i])) : (' ') 54 ); 55 } 56 printf("\n"); 57 } 58 */ 59 { 60 d = malloc(1024); 61 strcpy(d, dirname8); 62 // strcpy(dirname8, d); 63 set_binding_values (domainname, (const char**)&d, NULL); 64 // set_binding_values (domainname, (const char**)&dirname8, NULL); 65 } 66 if (dirname8 == NULL) 67 { 68 memset(dirname8_bak, 0, num_elements); 69 free(dirname8_bak); 41 free (dirname8_bak); 70 42 return NULL; 71 43 } 72 44 45 set_binding_values (domainname, (const char**)&dirname8, NULL); 46 if (dirname8 == NULL) 47 { 48 free (dirname8_bak); 49 return NULL; 50 } 73 51 74 memset(dirname8_bak, 0, num_elements); 75 free (dirname8); 52 free (dirname8_bak); 76 53 77 54 return dirname16; … … 92 69 if (num_elements == 0) 93 70 { 94 MessageBoxA(NULL, dirname, "dirname a", MB_OK);95 71 return NULL; 96 72 } … … 98 74 if (num_elements >= WCHAR_LIBINTL_MAX_PATH) 99 75 { 100 MessageBoxA(NULL, dirname, "dirname b", MB_OK);101 76 return NULL; 102 77 } … … 107 82 dirname16, num_elements)) 108 83 { 109 MessageBoxA(NULL, dirname, "dirname c", MB_OK);110 84 free (dirname16); 111 85 return NULL; … … 114 88 if (libintl_windows_wbindtextdomain (domainname, dirname16) == NULL) 115 89 { 116 MessageBoxA(NULL, dirname, "dirname d", MB_OK);117 90 free (dirname16); 118 91 return NULL; 119 92 } 120 93 121 MessageBoxA(NULL, dirname, "dirname e", MB_OK);122 94 free (dirname16); 123 95 … … 125 97 } 126 98 99 #undef WCHAR_LIBINTL_MAX_PATH 127 100 128 101 #endif -
lang/c/libintl-msvc/recipes/loadmsgcat-windows.h
r25197 r25300 11 11 12 12 #include <windows.h> 13 #include <io.h> 13 14 14 15 /* http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx */ … … 22 23 int result = 0; 23 24 24 25 25 num_elements = MultiByteToWideChar (CP_UTF8, 0, pathname8, -1, NULL, 0); 26 26 if (num_elements == 0) 27 27 { 28 MessageBoxA(NULL, pathname8, "pathname8 a", MB_OK);29 28 errno = EACCES; 30 29 return -1; … … 33 32 if (num_elements >= WCHAR_LIBINTL_MAX_PATH) 34 33 { 35 MessageBoxA(NULL, pathname8, "pathname8 b", MB_OK);36 34 errno = EACCES; 37 35 return -1; … … 42 40 pathname16, num_elements)) 43 41 { 44 MessageBoxA(NULL, pathname8, "pathname8 c", MB_OK);45 42 free (pathname16); 46 43 errno = EACCES; … … 48 45 } 49 46 50 MessageBoxA(NULL, pathname8, "pathname8 OK", MB_OK);51 47 result = _wopen (pathname16, flags); 52 48 free (pathname16); -
lang/c/libintl-msvc/samples/sample.cpp
r25197 r25300 28 28 std::vector<TCHAR> locale_dir(3000); 29 29 DWORD result = GetModuleFileName(GetModuleHandle(NULL), 30 &locale_dir[0], locale_dir.size() );30 &locale_dir[0], locale_dir.size() - 1); 31 31 32 32 if (result == 0 || result == locale_dir.size()) { -
lang/c/libintl-msvc/step1.sh
r25197 r25300 14 14 # setup dummy libiconv 15 15 # --------------------- 16 17 16 rm -fr win_iconv 18 17 mkdir -p win_iconv/include … … 32 31 # compile libintl 33 32 # --------------------- 34 35 33 cd recipes/libintl 36 #rm -rf intl37 #autoreconf -i34 rm -rf intl 35 autoreconf -i 38 36 cp ../loadmsgcat-windows.h ../bindtextdom-windows.h intl/ 39 37 … … 56 54 57 55 # --------------------- 56 # msvc(Win9x) 57 # --------------------- 58 CFLAGS="$CFLAGS_MSVC" ./configure \ 59 --with-libiconv-prefix=`pwd`/../../win_iconv-win9x \ 60 --with-included-gettext \ 61 --enable-threads=win32 && 62 cd intl && make clean && make && gcc $CFLAGS_MSVC -c tsearch.c -I.. && cd .. 63 64 strip -gx intl/*.o 65 mkdir -p ../msvc-win9x-obj 66 for obj in $objlist 67 do 68 cp -f intl/$obj ../msvc-win9x-obj/${obj}bj 69 done 70 71 # --------------------- 72 # msvc 73 # --------------------- 74 CFLAGS="$CFLAGS_MSVC $CFLAGS_UNICODE" ./configure \ 75 --with-libiconv-prefix=`pwd`/../../win_iconv \ 76 --with-included-gettext \ 77 --enable-threads=win32 && 78 cd intl && make clean && make && gcc $CFLAGS_MSVC $CFLAGS_UNICODE -c tsearch.c -I.. && cd .. 79 80 strip -gx intl/*.o 81 mkdir -p ../msvc-obj 82 for obj in $objlist 83 do 84 cp -f intl/$obj ../msvc-obj/${obj}bj 85 done 86 87 # --------------------- 58 88 # mingw(Win9x) 59 89 # --------------------- 60 #CFLAGS="$CFLAGS" ./configure \61 #--with-libiconv-prefix=`pwd`/../../win_iconv-win9x \62 #--with-included-gettext \63 #--enable-threads=win32 &&64 #cd intl && make clean && make && cp -f libintl.a ../../../libintl-win9x.a && cd ..90 CFLAGS="$CFLAGS" ./configure \ 91 --with-libiconv-prefix=`pwd`/../../win_iconv-win9x \ 92 --with-included-gettext \ 93 --enable-threads=win32 && 94 cd intl && make clean && make && cp -f libintl.a ../../../libintl-win9x.a && cd .. 65 95 66 96 # --------------------- 67 97 # mingw 68 98 # --------------------- 69 #CFLAGS="$CFLAGS $CFLAGS_UNICODE" ./configure \ 70 # --with-libiconv-prefix=`pwd`/../../win_iconv \ 71 # --with-included-gettext \ 72 # --enable-threads=win32 && 73 74 cd intl && make clean && make && cp -f libintl.a ../../../libintl.a && cd .. 99 CFLAGS="$CFLAGS $CFLAGS_UNICODE" ./configure \ 100 --with-libiconv-prefix=`pwd`/../../win_iconv \ 101 --with-included-gettext \ 102 --enable-threads=win32 && 103 cd intl && make clean && make && cp -f libintl.a ../../../libintl.a && cd .. 75 104 76 105 # --------------------- … … 79 108 cd ../../samples 80 109 rm -f mingw-sample-win9x.exe mingw-sample.exe 81 #g++ $CFLAGS -o mingw-sample-win9x.exe sample.cpp ../win_iconv-win9x.o ../libintl-win9x.a -luser32 -lshlwapi110 g++ $CFLAGS -o mingw-sample-win9x.exe sample.cpp ../win_iconv-win9x.o ../libintl-win9x.a -luser32 -lshlwapi 82 111 g++ $CFLAGS $CFLAGS_UNICODE -o mingw-sample.exe sample.cpp ../win_iconv.o ../libintl.a -luser32 -lshlwapi 83 #./mingw-sample-win9x > hello-win9x.txt112 ./mingw-sample-win9x > hello-win9x.txt 84 113 ./mingw-sample > hello.txt 85 114 cd .. -
lang/c/libintl-msvc/step2.bat
r25160 r25300 3 3 REM -------------------- 4 4 5 del libintl.lib libintl-win9x.lib6 lib / OUT:libintl.lib recipes\msvc-obj\*.obj /NOLOGO7 lib / OUT:libintl-win9x.lib recipes\msvc-win9x-obj\*.obj /NOLOGO5 del /F libintl.lib libintl-win9x.lib 6 lib /NOLOGO /OUT:libintl.lib recipes\msvc-obj\*.obj 7 lib /NOLOGO /OUT:libintl-win9x.lib recipes\msvc-win9x-obj\*.obj 8 8 9 9 REM -------------------- … … 13 13 REM use win_iconv.c 14 14 cd samples 15 del msvc-sample*.exe 16 del msvc-sample*.exe.manifest 17 cl /Ot /Femsvc-sample-win9x.exe /MT sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 18 cl /Ot /Femsvc-sample-win9x-2.exe /MTd sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 19 cl /Ot /Femsvc-sample-win9x-3.exe /MD sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 20 cl /Ot /Femsvc-sample-win9x-4.exe /MDd sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 21 cl /Ot /Femsvc-sample.exe /MT sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE /D_UNICODE && ^ 22 cl /Ot /Femsvc-sample-2.exe /MTd sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE /D_UNICODE && ^ 23 cl /Ot /Femsvc-sample-3.exe /MD sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE /D_UNICODE && ^ 24 cl /Ot /Femsvc-sample-4.exe /MDd sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE /D_UNICODE && ^ 15 del /F msvc-sample*.exe msvc-sample*.exe.manifest 16 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x.exe /MT && ^ 17 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-2.exe /MTd && ^ 18 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-3.exe /MD && ^ 19 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-4.exe /MDd && ^ 20 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample.exe /MT && ^ 21 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-2.exe /MTd && ^ 22 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-3.exe /MD && ^ 23 cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-4.exe /MDd && ^ 25 24 msvc-sample-win9x && ^ 26 25 msvc-sample && ^ -
lang/c/libintl-msvc/win_iconv.c
r25291 r25300 35 35 #ifdef _MSC_VER 36 36 __declspec (thread) int errno = 0; 37 #elif (MINGW32_MAJOR_VERSION >= 4) 38 __thread int errno = 0; 37 39 #else 38 //_thread int errno = 0; 39 int errno = 0; 40 #error "tls required" 40 41 #endif 41 42
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)