Changeset 34664
- Timestamp:
- 07/28/09 18:12:49 (4 years ago)
- Location:
- lang/objective-cplusplus/i3/trunk
- Files:
-
- 2 modified
-
am/fakecygpty.am (modified) (1 diff)
-
src/os-windows/CygwinPty.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/objective-cplusplus/i3/trunk/am/fakecygpty.am
r31935 r34664 15 15 ${mkdir_p} tmp 16 16 ${mkdir_p} ${top_srcdir}/windows 17 ${CC} -O3 -DNDEBUG -c ${top_srcdir}/src/os-windows/fakecygpty.c 17 # ${CC} -O3 -DNDEBUG -c ${top_srcdir}/src/os-windows/fakecygpty.c 18 gcc -O3 -DNDEBUG -c ${top_srcdir}/src/os-windows/fakecygpty.c 18 19 windres -i ${top_srcdir}/windows/resources/fakecygpty.rc -o fakecygpty-resource.o 19 ${CC} -O3 -DNDEBUG -s fakecygpty.o fakecygpty-resource.o -o tmp/fakecygpty.exe 20 # ${CC} -O3 -DNDEBUG -s fakecygpty.o fakecygpty-resource.o -o tmp/fakecygpty.exe 21 gcc -O3 -DNDEBUG -s fakecygpty.o fakecygpty-resource.o -o tmp/fakecygpty.exe 20 22 lzma --compress --keep tmp/fakecygpty.exe 21 23 lzma --test tmp/fakecygpty.exe.lzma -
lang/objective-cplusplus/i3/trunk/src/os-windows/CygwinPty.cpp
r34447 r34664 3 3 4 4 namespace i3 { 5 template <size_t Size> 6 bool query_registory(HKEY root, const TCHAR* SubKey, const TCHAR* value, TCHAR (&retval)[Size]) { 7 HKEY hkResult = NULL; 8 LONG result = RegOpenKeyEx( 9 root, 10 SubKey, 11 0, 12 KEY_EXECUTE, 13 &hkResult); 14 15 if (result != ERROR_SUCCESS) { 16 return false; 17 } 18 19 DWORD type = 0; 20 DWORD cbCd = sizeof(retval); 21 result = RegQueryValueEx( 22 hkResult, 23 value, 24 NULL, 25 &type, 26 (BYTE*)retval, 27 &cbCd); 28 29 if (result != ERROR_SUCCESS) { 30 return false; 31 } 32 return true; 33 } 34 35 5 36 CygwinPty::CygwinPty() { 6 37 } … … 35 66 36 67 TCHAR cd[2000] = {}; 37 { 38 HKEY hkResult = NULL; 39 { 40 const TCHAR SubKey[] = _T("SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/"); 41 LONG result = RegOpenKeyEx( 42 HKEY_LOCAL_MACHINE, 43 SubKey, 44 0, 45 KEY_EXECUTE, 46 &hkResult); 47 48 if (result != ERROR_SUCCESS) { 49 return false; 50 } 51 } 52 { 53 DWORD type = 0; 54 DWORD cbCd = sizeof(cd); 55 LONG result = RegQueryValueEx( 56 hkResult, 57 _T("native"), 58 NULL, 59 &type, 60 (BYTE*)cd, 61 &cbCd); 62 63 if (result != ERROR_SUCCESS) { 64 return false; 65 } 66 } 67 if (_tcscat_s(cd, _T("\\bin")) != 0) { 68 return false; 69 } 68 if (!query_registory(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Cygwin\\setup"), TEXT("rootdir"), retval) && 69 !query_registory(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Wow6432Node\\Cygwin\\setup"), TEXT("rootdir"), retval) && 70 !query_registory(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/"), TEXT("native"), retval) && 71 !query_registory(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Wow6432Node\\Cygnus Solutions\\Cygwin\\mounts v2\\/"), TEXT("native"), retval)) { 72 return false; 70 73 } 71 74 … … 81 84 82 85 if (!DuplicateHandle(GetCurrentProcess(),hMyStdInput ,GetCurrentProcess(),NULL, 0, FALSE, DUPLICATE_SAME_ACCESS) || 83 !DuplicateHandle(GetCurrentProcess(),hMyStdOutput,GetCurrentProcess(),NULL, 0, FALSE, DUPLICATE_SAME_ACCESS) ||84 !DuplicateHandle(GetCurrentProcess(),hMyStdError ,GetCurrentProcess(),NULL, 0, FALSE, DUPLICATE_SAME_ACCESS)) {86 !DuplicateHandle(GetCurrentProcess(),hMyStdOutput,GetCurrentProcess(),NULL, 0, FALSE, DUPLICATE_SAME_ACCESS) || 87 !DuplicateHandle(GetCurrentProcess(),hMyStdError ,GetCurrentProcess(),NULL, 0, FALSE, DUPLICATE_SAME_ACCESS)) { 85 88 86 89 return false;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)