2008-10-28 09:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/examples/guestbk/inifiles.prg
* contrib/examples/guestbk/testcgi.prg
* contrib/examples/guestbk/guestbk.prg
* contrib/examples/guestbk/bld_b32.bat
* contrib/examples/guestbk/bld_vc.bat
* contrib/examples/pe/bld_b32.bat
* contrib/examples/pe/bld_vc.bat
* contrib/examples/pe/editorhi.prg
* Minor updates, optimizations.
* source/rtl/version.c
% Using better method to return HB_V_BITWIDTH.
* utils/hbtest/rt_str.prg
! Changed to use 'hb_version( HB_V_BITWIDTH ) >= 64'
instead of #ifdef __ARCH64BIT__.
This commit is contained in:
@@ -8,6 +8,24 @@
|
||||
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2008-10-28 09:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* contrib/examples/guestbk/inifiles.prg
|
||||
* contrib/examples/guestbk/testcgi.prg
|
||||
* contrib/examples/guestbk/guestbk.prg
|
||||
* contrib/examples/guestbk/bld_b32.bat
|
||||
* contrib/examples/guestbk/bld_vc.bat
|
||||
* contrib/examples/pe/bld_b32.bat
|
||||
* contrib/examples/pe/bld_vc.bat
|
||||
* contrib/examples/pe/editorhi.prg
|
||||
* Minor updates, optimizations.
|
||||
|
||||
* source/rtl/version.c
|
||||
% Using better method to return HB_V_BITWIDTH.
|
||||
|
||||
* utils/hbtest/rt_str.prg
|
||||
! Changed to use 'hb_version( HB_V_BITWIDTH ) >= 64'
|
||||
instead of #ifdef __ARCH64BIT__.
|
||||
|
||||
2008-10-28 01:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* include/Makefile
|
||||
* include/hbextern.ch
|
||||
|
||||
@@ -3,9 +3,7 @@ rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
..\..\..\bin\harbour /n guestbk /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n inifiles /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n testcgi /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n /i..\..\..\include\ guestbk inifiles testcgi
|
||||
|
||||
echo -O2 -I..\..\..\include -L..\..\..\lib > build.tmp
|
||||
echo guestbk.c >> build.tmp
|
||||
@@ -29,8 +27,6 @@ del build.tmp
|
||||
|
||||
del *.obj
|
||||
|
||||
del guestbk.c
|
||||
del inifiles.c
|
||||
del testcgi.c
|
||||
del guestbk.c inifiles.c testcgi.c
|
||||
|
||||
guestbk
|
||||
|
||||
@@ -3,16 +3,11 @@ rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
..\..\..\bin\harbour /n guestbk /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n inifiles /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n testcgi /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n /i..\..\..\include\ guestbk inifiles testcgi
|
||||
|
||||
cl -D_CRT_SECURE_NO_DEPRECATE -nologo -O2 -W3 -I..\..\..\include guestbk.c inifiles.c testcgi.c /link /subsystem:CONSOLE /LIBPATH:..\..\..\lib hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib winspool.lib
|
||||
|
||||
del *.obj
|
||||
|
||||
del guestbk.c
|
||||
del inifiles.c
|
||||
del testcgi.c
|
||||
del guestbk.c inifiles.c testcgi.c
|
||||
|
||||
guestbk
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This file contains source for a script of a Guestbook
|
||||
|
||||
Copyright (C) 1999 Felipe G. Coury <fcoury@creation.com.br>
|
||||
www - http://www.harbour-project.org
|
||||
|
||||
* Harbour Project source code
|
||||
*
|
||||
* This file contains source for a script of a Guestbook
|
||||
*
|
||||
* Copyright (C) 1999 Felipe G. Coury <fcoury@creation.com.br>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
|
||||
@@ -2,31 +2,33 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CRLF (Chr(13) + Chr(10))
|
||||
#include "common.ch"
|
||||
|
||||
#define CRLF hb_osNewLine()
|
||||
|
||||
function TIniFile()
|
||||
static oClass
|
||||
|
||||
if oClass == nil
|
||||
oClass := HBClass():New( 'TINIFILE' ) // starts a new class definition
|
||||
oClass := HBClass():New( "TINIFILE" ) // starts a new class definition
|
||||
|
||||
oClass:AddData( 'FileName' ) // define this class objects datas
|
||||
oClass:AddData( 'Contents' )
|
||||
oClass:AddData( "FileName" ) // define this class objects datas
|
||||
oClass:AddData( "Contents" )
|
||||
|
||||
oClass:AddMethod( 'New', @New() ) // define this class objects methods
|
||||
oClass:AddMethod( 'ReadString', @ReadString() )
|
||||
oClass:AddMethod( 'WriteString', @WriteString() )
|
||||
oClass:AddMethod( 'ReadNumber', @ReadNumber() )
|
||||
oClass:AddMethod( 'WriteNumber', @WriteNumber() )
|
||||
oClass:AddMethod( 'ReadDate', @ReadDate() )
|
||||
oClass:AddMethod( 'WriteDate', @WriteDate() )
|
||||
oClass:AddMethod( 'ReadBool', @ReadBool() )
|
||||
oClass:AddMethod( 'WriteBool', @WriteBool() )
|
||||
oClass:AddMethod( 'ReadSection', @ReadSection() )
|
||||
oClass:AddMethod( 'ReadSections', @ReadSections() )
|
||||
oClass:AddMethod( 'DeleteKey', @DeleteKey() )
|
||||
oClass:AddMethod( 'EraseSection', @EraseSection() )
|
||||
oClass:AddMethod( 'UpdateFile', @UpdateFile() )
|
||||
oClass:AddMethod( "New", @New() ) // define this class objects methods
|
||||
oClass:AddMethod( "ReadString", @ReadString() )
|
||||
oClass:AddMethod( "WriteString", @WriteString() )
|
||||
oClass:AddMethod( "ReadNumber", @ReadNumber() )
|
||||
oClass:AddMethod( "WriteNumber", @WriteNumber() )
|
||||
oClass:AddMethod( "ReadDate", @ReadDate() )
|
||||
oClass:AddMethod( "WriteDate", @WriteDate() )
|
||||
oClass:AddMethod( "ReadBool", @ReadBool() )
|
||||
oClass:AddMethod( "WriteBool", @WriteBool() )
|
||||
oClass:AddMethod( "ReadSection", @ReadSection() )
|
||||
oClass:AddMethod( "ReadSections", @ReadSections() )
|
||||
oClass:AddMethod( "DeleteKey", @DeleteKey() )
|
||||
oClass:AddMethod( "EraseSection", @EraseSection() )
|
||||
oClass:AddMethod( "UpdateFile", @UpdateFile() )
|
||||
|
||||
oClass:Create() // builds this class
|
||||
endif
|
||||
@@ -39,7 +41,7 @@ static function New(cFileName)
|
||||
|
||||
if empty(cFileName)
|
||||
// raise an error?
|
||||
outerr('No filename passed to TIniFile():New()')
|
||||
outerr("No filename passed to TIniFile():New()")
|
||||
return nil
|
||||
|
||||
else
|
||||
@@ -54,13 +56,13 @@ static function New(cFileName)
|
||||
hFile := fcreate(cFilename)
|
||||
endif
|
||||
|
||||
cLine := ''
|
||||
cLine := ""
|
||||
Done := .f.
|
||||
while !Done
|
||||
cFile := space(256)
|
||||
Done := (fread(hFile, @cFile, 256) <= 0)
|
||||
|
||||
cFile := strtran(cFile, chr(10), '') // so we can just search for CHR(13)
|
||||
cFile := strtran(cFile, chr(10), "") // so we can just search for CHR(13)
|
||||
|
||||
// prepend last read
|
||||
cFile := cLine + cFile
|
||||
@@ -70,8 +72,8 @@ static function New(cFileName)
|
||||
cFile := substr(cFile, nPos + 1)
|
||||
|
||||
if !empty(cLine)
|
||||
if Left(cLine, 1) == '[' // new section
|
||||
if (nPos := At(']', cLine)) > 1
|
||||
if Left(cLine, 1) == "[" // new section
|
||||
if (nPos := At("]", cLine)) > 1
|
||||
cLine := substr(cLine, 2, nPos - 2);
|
||||
|
||||
else
|
||||
@@ -81,26 +83,26 @@ static function New(cFileName)
|
||||
AAdd(::Contents, { cLine, { /* this will be CurrArray */ } } )
|
||||
CurrArray := ::Contents[Len(::Contents)][2]
|
||||
|
||||
elseif Left(cLine, 1) == ';' // preserve comments
|
||||
elseif Left(cLine, 1) == ";" // preserve comments
|
||||
AAdd( CurrArray, { NIL, cLine } )
|
||||
|
||||
else
|
||||
if (nPos := At('=', cLine)) > 0
|
||||
if (nPos := At("=", cLine)) > 0
|
||||
cIdent := Left(cLine, nPos - 1)
|
||||
cLine := SubStr(cLine, nPos + 1)
|
||||
|
||||
AAdd( CurrArray, { cIdent, cLine } )
|
||||
|
||||
else
|
||||
AAdd( CurrArray, { cLine, '' } )
|
||||
AAdd( CurrArray, { cLine, "" } )
|
||||
endif
|
||||
endif
|
||||
cLine := '' // to stop prepend later on
|
||||
cLine := "" // to stop prepend later on
|
||||
endif
|
||||
|
||||
else
|
||||
cLine := cFile
|
||||
cFile := ''
|
||||
cFile := ""
|
||||
endif
|
||||
end
|
||||
end
|
||||
@@ -116,7 +118,7 @@ static function ReadString(cSection, cIdent, cDefault)
|
||||
|
||||
if Empty(cSection)
|
||||
cFind := lower(cIdent)
|
||||
j := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind .and. ValType(x[2]) == 'C'} )
|
||||
j := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind .and. ISCHARACTER(x[2]) } )
|
||||
|
||||
if j > 0
|
||||
cResult := ::Contents[j][2]
|
||||
@@ -124,11 +126,11 @@ static function ReadString(cSection, cIdent, cDefault)
|
||||
|
||||
else
|
||||
cFind := lower(cSection)
|
||||
i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind} )
|
||||
i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind} )
|
||||
|
||||
if i > 0
|
||||
cFind := lower(cIdent)
|
||||
j := AScan( ::Contents[i][2], {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind} )
|
||||
j := AScan( ::Contents[i][2], {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind} )
|
||||
|
||||
if j > 0
|
||||
cResult := ::Contents[i][2][j][2]
|
||||
@@ -142,11 +144,11 @@ static procedure WriteString(cSection, cIdent, cString)
|
||||
local i, j, cFind
|
||||
|
||||
if Empty(cIdent)
|
||||
outerr('Must specify an identifier')
|
||||
outerr("Must specify an identifier")
|
||||
|
||||
elseif Empty(cSection)
|
||||
cFind := lower(cIdent)
|
||||
j := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind .and. ValType(x[2]) == 'C'} )
|
||||
j := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind .and. ISCHARACTER(x[2]) } )
|
||||
|
||||
if j > 0
|
||||
::Contents[j][2] := cString
|
||||
@@ -159,9 +161,9 @@ static procedure WriteString(cSection, cIdent, cString)
|
||||
|
||||
else
|
||||
cFind := lower(cSection)
|
||||
if (i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind .and. ValType(x[2]) == 'A'})) > 0
|
||||
if (i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind .and. ISARRAY(x[2]) })) > 0
|
||||
cFind := lower(cIdent)
|
||||
j := AScan( ::Contents[i][2], {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cFind} )
|
||||
j := AScan( ::Contents[i][2], {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cFind} )
|
||||
|
||||
if j > 0
|
||||
::Contents[i][2][j][2] := cString
|
||||
@@ -198,14 +200,14 @@ return
|
||||
|
||||
static function ReadBool(cSection, cIdent, lDefault)
|
||||
local Self := QSelf()
|
||||
local cDefault := Iif( lDefault, '.t.', '.f.' )
|
||||
local cDefault := Iif( lDefault, ".t.", ".f." )
|
||||
|
||||
return ::ReadString(cSection, cIdent, cDefault) == '.t.'
|
||||
return ::ReadString(cSection, cIdent, cDefault) == ".t."
|
||||
|
||||
static procedure WriteBool(cSection, cIdent, lBool)
|
||||
local Self := QSelf()
|
||||
|
||||
::WriteString( cSection, cIdent, Iif(lBool, '.t.', '.f.') )
|
||||
::WriteString( cSection, cIdent, Iif(lBool, ".t.", ".f.") )
|
||||
return
|
||||
|
||||
static procedure DeleteKey(cSection, cIdent)
|
||||
@@ -213,11 +215,11 @@ static procedure DeleteKey(cSection, cIdent)
|
||||
local i, j
|
||||
|
||||
cSection := lower(cSection)
|
||||
i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cSection} )
|
||||
i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cSection} )
|
||||
|
||||
if i > 0
|
||||
cIdent := lower(cIdent)
|
||||
j := AScan( ::Contents[i][2], {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cIdent} )
|
||||
j := AScan( ::Contents[i][2], {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cIdent} )
|
||||
|
||||
ADel( ::Contents[i][2], j )
|
||||
ASize( ::Contents[i][2], Len(::Contents[i][2]) - 1 )
|
||||
@@ -229,14 +231,14 @@ static procedure EraseSection(cSection)
|
||||
local i
|
||||
|
||||
if Empty(cSection)
|
||||
while (i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. ValType(x[2]) == 'C'})) > 0
|
||||
while (i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. ISCHARACTER(x[2]) })) > 0
|
||||
ADel( ::Contents, i )
|
||||
ASize( ::Contents, len(::Contents) - 1 )
|
||||
end
|
||||
|
||||
else
|
||||
cSection := lower(cSection)
|
||||
if (i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. lower(x[1]) == cSection .and. ValType(x[2]) == 'A'})) > 0
|
||||
if (i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. lower(x[1]) == cSection .and. ISARRAY(x[2]) })) > 0
|
||||
ADel( ::Contents, i )
|
||||
ASize( ::Contents, Len(::Contents) - 1 )
|
||||
endif
|
||||
@@ -249,14 +251,14 @@ static function ReadSection(cSection)
|
||||
|
||||
if Empty(cSection)
|
||||
for i := 1 to len(::Contents)
|
||||
if valtype(::Contents[i][1]) == 'C' .and. valtype(::Contents[i][2]) == 'C'
|
||||
if ISCHARACTER(::Contents[i][1]) .and. ISCHARACTER(::Contents[i][2])
|
||||
aadd(aSection, ::Contents[i][1])
|
||||
endif
|
||||
next
|
||||
|
||||
else
|
||||
cSection := lower(cSection)
|
||||
if (i := AScan( ::Contents, {|x| valtype(x[1]) == 'C' .and. x[1] == cSection .and. ValType(x[2]) == 'A'})) > 0
|
||||
if (i := AScan( ::Contents, {|x| ISCHARACTER(x[1]) .and. x[1] == cSection .and. ISARRAY(x[2]) })) > 0
|
||||
|
||||
for j := 1 to Len(::Contents[i][2])
|
||||
|
||||
@@ -274,7 +276,7 @@ static function ReadSections()
|
||||
|
||||
for i := 1 to Len(::Contents)
|
||||
|
||||
if ValType(::Contents[i][2]) == 'A'
|
||||
if ISARRAY(::Contents[i][2])
|
||||
AAdd(aSections, ::Contents[i][1])
|
||||
endif
|
||||
next
|
||||
@@ -290,21 +292,21 @@ static procedure UpdateFile()
|
||||
if ::Contents[i][1] == NIL
|
||||
fwrite(hFile, ::Contents[i][2] + Chr(13) + Chr(10))
|
||||
|
||||
elseif ValType(::Contents[i][2]) == 'A'
|
||||
fwrite(hFile, '[' + ::Contents[i][1] + ']' + Chr(13) + Chr(10))
|
||||
elseif ISARRAY(::Contents[i][2])
|
||||
fwrite(hFile, "[" + ::Contents[i][1] + "]" + Chr(13) + Chr(10))
|
||||
for j := 1 to Len(::Contents[i][2])
|
||||
|
||||
if ::Contents[i][2][j][1] == NIL
|
||||
fwrite(hFile, ::Contents[i][2][j][2] + Chr(13) + Chr(10))
|
||||
|
||||
else
|
||||
fwrite(hFile, ::Contents[i][2][j][1] + '=' + ::Contents[i][2][j][2] + Chr(13) + Chr(10))
|
||||
fwrite(hFile, ::Contents[i][2][j][1] + "=" + ::Contents[i][2][j][2] + Chr(13) + Chr(10))
|
||||
endif
|
||||
next
|
||||
fwrite(hFile, Chr(13) + Chr(10))
|
||||
|
||||
elseif ValType(::Contents[i][2]) == 'C'
|
||||
fwrite(hFile, ::Contents[i][1] + '=' + ::Contents[i][2] + Chr(13) + Chr(10))
|
||||
elseif ISCHARACTER(::Contents[i][2])
|
||||
fwrite(hFile, ::Contents[i][1] + "=" + ::Contents[i][2] + Chr(13) + Chr(10))
|
||||
|
||||
endif
|
||||
next
|
||||
|
||||
@@ -37,7 +37,7 @@ FUNCTION ParseString( cString, cDelim, nRet )
|
||||
|
||||
LOCAL cBuf, aElem, nPosFim, nSize, i
|
||||
|
||||
nSize := len( cString ) - len( StrTran( cString, cDelim, '' ) ) + 1
|
||||
nSize := len( cString ) - len( StrTran( cString, cDelim, "" ) ) + 1
|
||||
aElem := array( nSize )
|
||||
|
||||
cBuf := cString
|
||||
|
||||
@@ -3,8 +3,7 @@ rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
..\..\..\bin\harbour /n pe /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n editorhi /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n /i..\..\..\include\ pe editorhi
|
||||
|
||||
echo -O2 -I..\..\..\include -L..\..\..\lib > build.tmp
|
||||
echo pe.c >> build.tmp
|
||||
@@ -27,8 +26,6 @@ bcc32 @build.tmp
|
||||
del build.tmp
|
||||
|
||||
del *.obj
|
||||
|
||||
del pe.c
|
||||
del editorhi.c
|
||||
del pe.c editorhi.c
|
||||
|
||||
pe
|
||||
|
||||
@@ -3,14 +3,11 @@ rem
|
||||
rem $Id$
|
||||
rem
|
||||
|
||||
..\..\..\bin\harbour /n pe /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n editorhi /i..\..\..\include\
|
||||
..\..\..\bin\harbour /n /i..\..\..\include\ pe editorhi
|
||||
|
||||
cl -D_CRT_SECURE_NO_DEPRECATE -nologo -O2 -W3 -I..\..\..\include pe.c editorhi.c editorlo.c /link /subsystem:CONSOLE /LIBPATH:..\..\..\lib hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib winspool.lib
|
||||
|
||||
del *.obj
|
||||
|
||||
del pe.c
|
||||
del editorhi.c
|
||||
del pe.c editorhi.c
|
||||
|
||||
pe
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "setcurs.ch"
|
||||
#include "fileio.ch"
|
||||
#include "box.ch"
|
||||
#include "common.ch"
|
||||
|
||||
|
||||
#define EXPORT
|
||||
@@ -277,7 +278,7 @@ LOCAL nSize
|
||||
IF lSave == NIL
|
||||
lSave := .T.
|
||||
ENDIF
|
||||
IF VALTYPE(xInput) == "C"
|
||||
IF ISCHARACTER(xInput)
|
||||
nHandle := FOPEN( xInput )
|
||||
lClose := .T.
|
||||
ELSE
|
||||
|
||||
@@ -96,18 +96,7 @@ HB_FUNC( HB_VERSION )
|
||||
case HB_V_FLAG_HARBOUR: hb_retc_const( hb_verFlagsPRG() ); break;
|
||||
case HB_V_FLAG_C: hb_retc_const( hb_verFlagsC() ); break;
|
||||
case HB_V_FLAG_LINKER: hb_retc_const( hb_verFlagsL() ); break;
|
||||
|
||||
case HB_V_BITWIDTH:
|
||||
#if defined( HB_ARCH_16BIT )
|
||||
hb_retni( 16 );
|
||||
#elif defined( HB_ARCH_32BIT )
|
||||
hb_retni( 32 );
|
||||
#elif defined( HB_ARCH_64BIT )
|
||||
hb_retni( 64 );
|
||||
#else
|
||||
hb_retni( 0 );
|
||||
#endif
|
||||
break;
|
||||
case HB_V_BITWIDTH: hb_retni( ( int ) sizeof( void * ) ); break;
|
||||
|
||||
case HB_V_ENDIANNESS:
|
||||
#if defined( HB_LITTLE_ENDIAN )
|
||||
|
||||
@@ -55,6 +55,10 @@
|
||||
/* Don't change the position of this #include. */
|
||||
#include "rt_vars.ch"
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
#include "hbver.ch"
|
||||
#endif
|
||||
|
||||
PROCEDURE Main_STR()
|
||||
|
||||
/* VAL() */
|
||||
@@ -530,11 +534,11 @@ PROCEDURE Main_STR()
|
||||
/* REPLICATE() */
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
#ifdef __ARCH64BIT__
|
||||
IF hb_version( HB_V_BITWIDTH ) >= 64
|
||||
TEST_LINE( Replicate("XXX", 9000000000000000000) , "E BASE 1234 String overflow REPLICATE A:2:C:XXX;N:9000000000000000000 F:S" )
|
||||
#else
|
||||
ELSE
|
||||
TEST_LINE( Replicate("XXX", 2000000000) , "E BASE 1234 String overflow REPLICATE A:2:C:XXX;N:2000000000 F:S" )
|
||||
#endif
|
||||
ENDIF
|
||||
#else
|
||||
TEST_LINE( Replicate("XXX", 30000) , "E BASE 1234 String overflow REPLICATE A:2:C:XXX;N:30000 F:S" )
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user