[BACK]Return to ctrl.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / builtin

Diff for /OpenXM_contrib2/asir2018/builtin/ctrl.c between version 1.3 and 1.4

version 1.3, 2019/03/06 10:43:25 version 1.4, 2019/03/27 06:41:45
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2018/builtin/ctrl.c,v 1.2 2018/09/28 08:20:27 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2018/builtin/ctrl.c,v 1.3 2019/03/06 10:43:25 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 70  static struct {
Line 70  static struct {
   char *release;    char *release;
   char *full;    char *full;
   char *lang;    char *lang;
   #if defined(VISUAL)
     int ver_major;
     int ver_minor;
     int ver_build;
   #endif
 } sysinfo;  } sysinfo;
   
 void Pctrl();  void Pctrl();
Line 519  static char *osnameNT(int major, int minor)
Line 524  static char *osnameNT(int major, int minor)
         return "Windows8";          return "Windows8";
     }else if (major == 6 && minor == 3) {      }else if (major == 6 && minor == 3) {
         return "Windows8.1";          return "Windows8.1";
       }else if (major == 10 && minor == 0) {
           return "Windows10";
     }      }
     return "unknown";      return "unknown";
 }  }
Line 547  static char *get_lang()
Line 554  static char *get_lang()
     return "en"; // English      return "en"; // English
 }  }
   
   void get_version_win8(int *major,int *minor,int *build)
   {
       char *res;
       char fname[4096]; /* fullpath of kernel32.dll (_MAX_PATH==260)*/
       char cmd[4096];
       int size;
       char *version_string;
       struct LANGANDCODEPAGE {
           WORD language;
           WORD codepage;
       }* lang;
       sprintf(fname,"%s\\system32\\kernel32.dll", getenv("SYSTEMROOT"));
       size=GetFileVersionInfoSize(fname,0);
       res = (char *)MALLOC(size+1);
       if(GetFileVersionInfo(fname,0,size+1,res)) {
           VerQueryValue(res,"\\VarFileInfo\\Translation",&lang,&size);
           sprintf(cmd,"\\StringFileInfo\\%04x%04x\\ProductVersion",lang->language,lang->codepage);
           VerQueryValue(res,cmd,&version_string,&size);
           sscanf(version_string,"%d.%d.%d.",major,minor,build);
       }
   }
   
 static void get_sysinfo()  static void get_sysinfo()
 {  {
     int arch64 = 0;      int arch64 = 0;
Line 562  static void get_sysinfo()
Line 591  static void get_sysinfo()
   
     v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);      v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
     GetVersionEx(&v);      GetVersionEx(&v);
       /* Windows8 == version 6.2 */
       if (v.dwPlatformId == VER_PLATFORM_WIN32_NT
           && v.dwMajorVersion == 6 && v.dwMinorVersion >= 2) {
           get_version_win8(&v.dwMajorVersion, &v.dwMinorVersion, &v.dwBuildNumber);
       }
       sysinfo.ver_major=v.dwMajorVersion;
       sysinfo.ver_minor=v.dwMinorVersion;
       sysinfo.ver_build=v.dwBuildNumber;
   
     sysinfo.type = "windows";      sysinfo.type = "windows";
     sysinfo.arch = "x86";      sysinfo.arch = "x86";

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>