@@ -348,7 +348,7 @@ char* php_get_windows_name()
348
348
major = "Windows Server 2008 R2" ;
349
349
}
350
350
} else {
351
- major = "Unknow Windows version" ;
351
+ major = "Unknown Windows version" ;
352
352
}
353
353
354
354
pGPI = (PGPI ) GetProcAddress (GetModuleHandle ("kernel32.dll" ), "GetProductInfo" );
@@ -454,9 +454,17 @@ char* php_get_windows_name()
454
454
455
455
if ( osvi .dwMajorVersion == 5 && osvi .dwMinorVersion == 1 ) {
456
456
major = "Windows XP" ;
457
- if ( osvi .wSuiteMask & VER_SUITE_PERSONAL )
457
+ if ( osvi .wSuiteMask & VER_SUITE_PERSONAL ) {
458
458
sub = "Home Edition" ;
459
- else sub = "Professional" ;
459
+ } else if (GetSystemMetrics (SM_MEDIACENTER )) {
460
+ sub = "Media Center Edition" ;
461
+ } else if (GetSystemMetrics (SM_STARTER )) {
462
+ sub = "Starter Edition" ;
463
+ } else if (GetSystemMetrics (SM_TABLETPC )) {
464
+ sub = "Tablet PC Edition" ;
465
+ } else {
466
+ sub = "Professional" ;
467
+ }
460
468
}
461
469
462
470
if ( osvi .dwMajorVersion == 5 && osvi .dwMinorVersion == 0 ) {
@@ -538,11 +546,7 @@ PHPAPI char *php_get_uname(char mode)
538
546
GetComputerName (ComputerName , & dwSize );
539
547
540
548
if (mode == 's' ) {
541
- if (dwVersion < 0x80000000 ) {
542
- php_uname = "Windows NT" ;
543
- } else {
544
- php_uname = "Windows 9x" ;
545
- }
549
+ php_uname = "Windows NT" ;
546
550
} else if (mode == 'r' ) {
547
551
snprintf (tmp_uname , sizeof (tmp_uname ), "%d.%d" , dwWindowsMajorVersion , dwWindowsMinorVersion );
548
552
php_uname = tmp_uname ;
@@ -564,23 +568,16 @@ PHPAPI char *php_get_uname(char mode)
564
568
php_get_windows_cpu (tmp_uname , sizeof (tmp_uname ));
565
569
php_uname = tmp_uname ;
566
570
} else { /* assume mode == 'a' */
567
- /* Get build numbers for Windows NT or Win95 */
568
- if (dwVersion < 0x80000000 ){
569
- char * winver = php_get_windows_name ();
570
- char wincpu [20 ];
571
-
572
- php_get_windows_cpu (wincpu , sizeof (wincpu ));
573
- dwBuild = (DWORD )(HIWORD (dwVersion ));
574
- snprintf (tmp_uname , sizeof (tmp_uname ), "%s %s %d.%d build %d (%s) %s" ,
575
- "Windows NT" , ComputerName ,
576
- dwWindowsMajorVersion , dwWindowsMinorVersion , dwBuild , winver ?winver :"unknown" , wincpu );
577
- if (winver ) {
578
- efree (winver );
579
- }
580
- } else {
581
- snprintf (tmp_uname , sizeof (tmp_uname ), "%s %s %d.%d" ,
582
- "Windows 9x" , ComputerName ,
583
- dwWindowsMajorVersion , dwWindowsMinorVersion );
571
+ char * winver = php_get_windows_name ();
572
+ char wincpu [20 ];
573
+
574
+ php_get_windows_cpu (wincpu , sizeof (wincpu ));
575
+ dwBuild = (DWORD )(HIWORD (dwVersion ));
576
+ snprintf (tmp_uname , sizeof (tmp_uname ), "%s %s %d.%d build %d (%s) %s" ,
577
+ "Windows NT" , ComputerName ,
578
+ dwWindowsMajorVersion , dwWindowsMinorVersion , dwBuild , winver ?winver :"unknown" , wincpu );
579
+ if (winver ) {
580
+ efree (winver );
584
581
}
585
582
php_uname = tmp_uname ;
586
583
}
0 commit comments