20000401-06:09 GMT+1 Victor Szakats <info@szelvesz.hu>

This commit is contained in:
Viktor Szakats
2000-04-01 04:06:41 +00:00
parent 6e8d9c5dc8
commit 945db3a4e5
5 changed files with 48 additions and 72 deletions

View File

@@ -1,3 +1,13 @@
20000401-06:09 GMT+1 Victor Szakats <info@szelvesz.hu>
- source/rtl/environ.c
+ source/rtl/version.c
* source/rtl/Makefile
* makefile.bc
* makefile.vc
* hb_os() - Fixed, simplified, optimized.
* Filename changed to match CA-Cl*pper
20000401-04:57 GMT+1 Victor Szakats <info@szelvesz.hu>
* source/rtl/environ.c

View File

@@ -169,7 +169,6 @@ RTL_LIB_OBJS = \
$(OBJ_DIR)\diskspac.obj \
$(OBJ_DIR)\do.obj \
$(OBJ_DIR)\empty.obj \
$(OBJ_DIR)\environ.obj \
$(OBJ_DIR)\errorapi.obj \
$(OBJ_DIR)\eval.obj \
$(OBJ_DIR)\filesys.obj \
@@ -241,6 +240,7 @@ RTL_LIB_OBJS = \
$(OBJ_DIR)\val.obj \
$(OBJ_DIR)\valtostr.obj \
$(OBJ_DIR)\valtype.obj \
$(OBJ_DIR)\version.obj \
$(OBJ_DIR)\word.obj \
$(OBJ_DIR)\xhelp.obj \
\
@@ -1043,10 +1043,6 @@ $(OBJ_DIR)\empty.obj : $(RTL_DIR)\empty.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(RTL_LIB) -+$@,,
$(OBJ_DIR)\environ.obj : $(RTL_DIR)\environ.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(RTL_LIB) -+$@,,
$(OBJ_DIR)\errorapi.obj : $(RTL_DIR)\errorapi.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(RTL_LIB) -+$@,,
@@ -1475,6 +1471,10 @@ $(OBJ_DIR)\valtype.obj : $(RTL_DIR)\valtype.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(RTL_LIB) -+$@,,
$(OBJ_DIR)\version.obj : $(RTL_DIR)\version.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(RTL_LIB) -+$@,,
$(OBJ_DIR)\wait.c : $(RTL_DIR)\wait.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@

View File

@@ -208,7 +208,6 @@ RTL_LIB_OBJS = \
$(OBJ_DIR)\diskspac.obj \
$(OBJ_DIR)\do.obj \
$(OBJ_DIR)\empty.obj \
$(OBJ_DIR)\environ.obj \
$(OBJ_DIR)\errorapi.obj \
$(OBJ_DIR)\eval.obj \
$(OBJ_DIR)\filesys.obj \
@@ -280,6 +279,7 @@ RTL_LIB_OBJS = \
$(OBJ_DIR)\val.obj \
$(OBJ_DIR)\valtostr.obj \
$(OBJ_DIR)\valtype.obj \
$(OBJ_DIR)\version.obj \
$(OBJ_DIR)\word.obj \
$(OBJ_DIR)\xhelp.obj \
\

View File

@@ -27,7 +27,6 @@ C_SOURCES=\
diskspac.c \
do.c \
empty.c \
environ.c \
errorapi.c \
eval.c \
filesys.c \
@@ -99,6 +98,7 @@ C_SOURCES=\
val.c \
valtostr.c \
valtype.c \
version.c \
word.c \
xhelp.c \
\

View File

@@ -57,6 +57,8 @@
#define HB_OS_WIN_32_USED
#include <ctype.h>
#include "hbapi.h"
#include "hbapierr.h"
#include "hbver.h"
@@ -99,7 +101,7 @@
The latter is mainly an issue in DOS, where the host OS can be OS/2
WinNT/2K, Win3x, Win9x, DOSEMU, Desqview, etc. [vszakats] */
#define HB_OS_BUFFER_LEN 128
#define HB_OS_BUFFER_LEN 256
char * hb_os( void )
{
@@ -131,7 +133,7 @@ char * hb_os( void )
if( regs.h.al != 0x00 && regs.h.al != 0x80 )
{
char szHost[ 128 ] = "";
char szHost[ 128 ];
if( regs.h.al == 0x01 || regs.h.al == 0xFF )
sprintf( szHost, " (Windows 2.x)" );
@@ -168,7 +170,7 @@ char * hb_os( void )
if( regs.h.al >= 10 )
{
char szHost[ 128 ] = "";
char szHost[ 128 ];
if( regs.h.al == 20 && regs.h.ah > 20 )
sprintf( szHost, " (OS/2 %d.%02d)", regs.h.ah / 10, regs.h.ah % 10 );
@@ -200,77 +202,30 @@ char * hb_os( void )
{
OSVERSIONINFO osVer;
char * pszName;
char szBuild[ 128 ] = "";
int iVerMajor;
int iVerMinor;
int iVerLetter;
osVer.dwOSVersionInfoSize = sizeof( osVer );
if( GetVersionEx( &osVer ) )
{
iVerMajor = osVer.dwMajorVersion;
iVerMinor = osVer.dwMinorVersion;
iVerLetter = LOWORD( osVer.dwBuildNumber );
char * pszName = "Windows";
switch( osVer.dwPlatformId )
{
case VER_PLATFORM_WIN32_WINDOWS:
if( iVerMajor == 4 && iVerMinor == 0 && iVerLetter == 950 )
if( osVer.dwMajorVersion == 4 && osVer.dwMinorVersion < 10 )
pszName = "Windows 95";
else if( iVerMajor == 4 && iVerMinor > 0 &&
iVerLetter > 950 && iVerLetter <= 1080 )
pszName = "Windows 95 SP1";
else if( iVerMajor == 4 && iVerMinor < 10 &&
iVerLetter > 1080 )
pszName = "Windows 95 OSR2"; /* Formerly: "Windows 95 SP2" */
else if( iVerMajor == 4 && iVerMinor == 10 &&
iVerLetter == 1998 )
else if( osVer.dwMajorVersion == 4 && osVer.dwMinorVersion == 10 )
pszName = "Windows 98";
else if( iVerMajor == 4 && iVerMinor == 10 &&
iVerLetter > 1998 && iVerLetter < 2183 )
pszName = "Windows 98 SP1";
else if( iVerMajor > 4 && iVerLetter >= 2183 )
pszName = "Windows 98 SE";
else
pszName = "Windows";
strncpy( szBuild, osVer.szCSDVersion, sizeof( szBuild ) );
szBuild[ sizeof( szBuild ) - 1 ] = '\0';
break;
case VER_PLATFORM_WIN32_NT:
if( iVerMajor == 3 && iVerMinor == 10 )
pszName = "Windows NT 3.1";
else if( iVerMajor == 3 && iVerMinor == 50 )
pszName = "Windows NT 3.5";
else if( iVerMajor == 3 && iVerMinor == 51 )
pszName = "Windows NT 3.51";
else if( iVerMajor == 4 )
pszName = "Windows NT 4";
else if( iVerMajor == 5 )
if( osVer.dwMajorVersion == 5 )
pszName = "Windows 2000";
else
pszName = "Windows NT";
if( osVer.szCSDVersion )
{
int i = 0;
int iServicePack;
while( osVer.szCSDVersion[ i ] != '\0' && ( osVer.szCSDVersion[ i ] < '0' || osVer.szCSDVersion[ i ] > '9' ) )
i++;
iServicePack = atoi( &osVer.szCSDVersion[ i ] );
if( iServicePack )
sprintf( szBuild, " SP%i", iServicePack );
}
break;
case VER_PLATFORM_WIN32s:
@@ -280,21 +235,32 @@ char * hb_os( void )
case VER_PLATFORM_WIN32_CE:
pszName = "Windows CE";
break;
}
default:
pszName = "Windows";
break;
sprintf( pszOS, "%s %d.%02d.%04d",
pszName,
osVer.dwMajorVersion,
osVer.dwMinorVersion,
LOWORD( osVer.dwBuildNumber ) );
/* Add service pack/other info */
if( osVer.szCSDVersion )
{
int i;
/* Skip the leading spaces (Win95B, Win98) */
for( i = 0; osVer.szCSDVersion[ i ] != '\0' && isspace( osVer.szCSDVersion[ i ] ); i++ );
if( osVer.szCSDVersion[ i ] != '\0' )
{
strcat( pszOS, " " );
strcat( pszOS, osVer.szCSDVersion + i );
}
}
}
else
{
iVerMajor = osVer.dwMajorVersion;
iVerMinor = osVer.dwMinorVersion;
iVerLetter = LOWORD( osVer.dwBuildNumber );
pszName = "Windows";
}
sprintf( pszOS, "%s%s %d.%02d.%04d", pszName, szBuild, iVerMajor, iVerMinor, iVerLetter );
sprintf( pszOS, "Windows" );
}
#elif defined(HB_OS_UNIX)