# # # patch "ChangeLog" # from [3383b77e1cf39b1bbf9a8dd58c7ca73ab2cebd8b] # to [ecb41a60c0eb29dfea95e144a4dd89e86e1dc71e] # # patch "win32/get_system_flavour.cc" # from [ba19695250bdb6421c29aec529773b1748760691] # to [c544ce1a03e91fd3c18b3bc6b2a53c718544cd36] # ============================================================ --- ChangeLog 3383b77e1cf39b1bbf9a8dd58c7ca73ab2cebd8b +++ ChangeLog ecb41a60c0eb29dfea95e144a4dd89e86e1dc71e @@ -1,5 +1,8 @@ 2006-05-24 Matthew Gregan + * win32/get_system_flavour.cc: Report service pack number, if any + is installed. While here, make a few other tweaks based on + documentation in MSDN. * win32/fs.cc: Add win32_strerror() and use it in rename_clobberingly() rather than displaying a raw error number to the user. ============================================================ --- win32/get_system_flavour.cc ba19695250bdb6421c29aec529773b1748760691 +++ win32/get_system_flavour.cc c544ce1a03e91fd3c18b3bc6b2a53c718544cd36 @@ -19,7 +19,7 @@ std::string & str, std::string const & def) { - while (table->val != NULL) + while (table->val != 0) { if (table->key == key) { str = std::string(table->val); @@ -64,7 +64,10 @@ #ifdef PROCESSOR_SHx_SH3DSP { PROCESSOR_SHx_SH3DSP, "sh3dsp" }, #endif - { 0, NULL } +#ifdef PROCESSOR_AMD_X8664 + { PROCESSOR_AMD_X8684, "amd64" }, +#endif + { 0, 0 } }; @@ -93,7 +96,10 @@ #ifdef PROCESSOR_ARCHITECTURE_ARM { PROCESSOR_ARCHITECTURE_ARM, "arm" }, #endif - { 0, NULL } +#ifdef PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 + { PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, "wow64" }, +#endif + { 0, 0 } }; @@ -105,12 +111,12 @@ { VER_PLATFORM_WIN32_WINDOWS, "95/98/SE/ME" }, #endif #ifdef VER_PLATFORM_WIN32_NT - { VER_PLATFORM_WIN32_NT, "NT/2000/XP" }, + { VER_PLATFORM_WIN32_NT, "NT/2000/XP/2003" }, #endif #ifdef VER_PLATFORM_WIN32_CE { VER_PLATFORM_WIN32_CE, "CE" }, #endif - { 0, NULL } + { 0, 0 } }; void get_system_flavour(std::string & ident) @@ -153,10 +159,11 @@ % si.wProcessorRevision).str(); } - ident = (F("Windows %s (%d.%d, build %d) on %s") + ident = (F("Windows %s (%d.%d, build %d, %s) on %s") % family % vi.dwMajorVersion % vi.dwMinorVersion % vi.dwBuildNumber + % (vi.szCSDVersion[0] == '\0' ? "none" : vi.szCSDVersion) % processor).str(); }