See ChangeLog entry 2000-04-04 20:00 GMT-4 David G. Holm <dholm@jsd-llc.com>

This commit is contained in:
David G. Holm
2000-04-05 00:05:44 +00:00
parent 40c30a5d6f
commit 27388ab0d6
7 changed files with 127 additions and 288 deletions

View File

@@ -1,3 +1,23 @@
2000-04-04 20:00 GMT-4 David G. Holm <dholm@jsd-llc.com>
* source/rtl/dir.c
* source/rtl/inkey.c
* source/rtl/set.c
* source/rtl/gtos2/mouseos2.c
- Removed the local ChangeLog.
* source/rtl/gtos2/gtos2.c
+ Put #include <os2.h> back in for compilers other than GCC,
because that's where they get the basic variable types, etc.
! Changed 'unsigned char *' to 'BYTE *' for fpBlank and fpBuff
in hb_gt_Scroll(), because hb_gt_Puts(), hb_gt_GetText(), and
hb_gt_PutText() take 'BYTE *' parameters and passing 'char *'
variables confuses the IBM VisualAge C++ compiler.
% Reformatted hb_gt_Scroll() to eliminate TAB characters.
* source/rtl/gtpca/gtpca.c
+ Added HB_SYMBOL_UNUSED() for all unused function arguments.
20000404-08:00 GMT-3 Luiz Rafael Culik <culik@sl.conex.net>
*doc/en/dbstrux.txt
*Small reformating

View File

@@ -37,27 +37,6 @@
hb_FName*() functions, instead of repeating the functionality
in the current partially buggy way. [vszakats] */
/*
* ChangeLog:
*
* 1.66 20000312 ptucker Borland use _chmod for attribs
* 1.53 19990917 dholm Moved normal hb_itemReturn() and ...Release()
* calls out of the MSC, IBM & MingW32 #if block.
* 1.49 19990915 dholm Added __MINGW32__ support
* 1.46 19990915 ptucker Return results are now fully compatible
* particularly using MSVC - other os's need
* testing.
* Converted attribute handling and Added
* conversion functions.
* 1.44 19990911 dholm Changed file size to numeric, like Clipper.
* 1.28 19990722 ptucker Corrected? NT Extended modes.
* 1.21 19990722 ptucker Implimented directory for MSVC.
* Includes new attributes.
* 1.20 19990722 ptucker Corrected hang when attribute types have
* been requested.
*
*/
/*
* Notes from the fringe... <ptucker@sympatico.ca>
*

View File

@@ -69,6 +69,7 @@
OS/2 GCC hasn't got ToolKit headers available */
#include <stdlib.h>
#else
#include <os2.h>
#include <bsedos.h>
#endif
#include <conio.h>
@@ -108,8 +109,14 @@ void hb_gt_Init( int iFilenoStdin, int iFilenoStdout, int iFilenoStderr )
s_ulLVBptr = (ULONG) NULL;
}
/* TODO: Is anything required to initialize the video subsystem?
/* TODO: Is anything else required to initialize the video subsystem?
I (Maurilio Longo) think that we should set correct codepage
COMMENT: The correct behaviour is to inherit the codepage that is
active when the program is started, which automatically
happens by not setting the codepage. If somebody wants to
change the codepage, there should be a separate function
to do that. (David G. Holm <dholm@jsd-llc.com>)
*/
}
@@ -363,90 +370,92 @@ void hb_gt_Scroll( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight,
{
/* Chen Kedem <niki@actcom.co.il> */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_Scroll(%hu, %hu, %hu, %hu, %d, %hd, %hd)", usTop, usLeft, usBottom, usRigth, (int) attr, sVert, sHoriz));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_Scroll(%hu, %hu, %hu, %hu, %d, %hd, %hd)", usTop, usLeft, usBottom, usRigth, (int) attr, sVert, sHoriz));
if(s_uiDispCount > 0) {
int iRows = sVert, iCols = sHoriz;
if(s_uiDispCount > 0)
{
int iRows = sVert, iCols = sHoriz;
/* NOTE: 'SHORT' is used intentionally to correctly compile
* with C++ compilers
*/
SHORT usRow, usCol;
USHORT uiSize; /* gtRectSize returns int */
int iLength = ( usRight - usLeft ) + 1;
int iCount, iColOld, iColNew, iColSize;
/* NOTE: 'SHORT' is used intentionally to correctly compile
* with C++ compilers
*/
SHORT usRow, usCol;
USHORT uiSize; /* gtRectSize returns int */
int iLength = ( usRight - usLeft ) + 1;
int iCount, iColOld, iColNew, iColSize;
hb_gtGetPos( &usRow, &usCol );
hb_gtGetPos( &usRow, &usCol );
if( hb_gtRectSize( usTop, usLeft, usBottom, usRight, &uiSize ) == 0 )
{
/* NOTE: 'unsigned' is used intentionally to correctly compile
* with C++ compilers
*/
unsigned char * fpBlank = ( unsigned char * ) hb_xgrab( iLength );
unsigned char * fpBuff = ( unsigned char * ) hb_xgrab( iLength * 2 );
if( hb_gtRectSize( usTop, usLeft, usBottom, usRight, &uiSize ) == 0 )
{
/* NOTE: 'unsigned' is used intentionally to correctly compile
* with C++ compilers
*/
BYTE * fpBlank = ( BYTE * ) hb_xgrab( iLength );
BYTE * fpBuff = ( BYTE * ) hb_xgrab( iLength * 2 );
memset( fpBlank, ' ', iLength );
memset( fpBlank, ' ', iLength );
iColOld = iColNew = usLeft;
if( iCols >= 0 )
{
iColOld += iCols;
iColSize = ( int ) ( usRight - usLeft );
iColSize -= iCols;
}
else
{
iColNew -= iCols;
iColSize = ( int ) ( usRight - usLeft );
iColSize += iCols;
}
iColOld = iColNew = usLeft;
if( iCols >= 0 )
{
iColOld += iCols;
iColSize = ( int ) ( usRight - usLeft );
iColSize -= iCols;
}
else
{
iColNew -= iCols;
iColSize = ( int ) ( usRight - usLeft );
iColSize += iCols;
}
for( iCount = ( iRows >= 0 ? usTop : usBottom );
( iRows >= 0 ? iCount <= usBottom : iCount >= usTop );
( iRows >= 0 ? iCount++ : iCount-- ) )
{
int iRowPos = iCount + iRows;
for( iCount = ( iRows >= 0 ? usTop : usBottom );
( iRows >= 0 ? iCount <= usBottom : iCount >= usTop );
( iRows >= 0 ? iCount++ : iCount-- ) )
{
int iRowPos = iCount + iRows;
/* Blank the scroll region in the current row */
hb_gt_Puts( iCount, usLeft, attr, fpBlank, iLength );
/* Blank the scroll region in the current row */
hb_gt_Puts( iCount, usLeft, attr, fpBlank, iLength );
if( ( iRows || iCols ) && iRowPos <= usBottom && iRowPos >= usTop )
{
/* Read the text to be scrolled into the current row */
hb_gt_GetText( iRowPos, iColOld, iRowPos, iColOld + iColSize, fpBuff );
if( ( iRows || iCols ) && iRowPos <= usBottom && iRowPos >= usTop )
{
/* Read the text to be scrolled into the current row */
hb_gt_GetText( iRowPos, iColOld, iRowPos, iColOld + iColSize, fpBuff );
/* Write the scrolled text to the current row */
hb_gt_PutText( iCount, iColNew, iCount, iColNew + iColSize, fpBuff );
}
}
/* Write the scrolled text to the current row */
hb_gt_PutText( iCount, iColNew, iCount, iColNew + iColSize, fpBuff );
}
}
hb_xfree( fpBlank );
hb_xfree( fpBuff );
}
hb_xfree( fpBlank );
hb_xfree( fpBuff );
}
hb_gtSetPos( usRow, usCol );
hb_gtSetPos( usRow, usCol );
} else {
}
else
{
BYTE bCell[ 2 ]; /* character/attribute pair */
BYTE bCell[ 2 ]; /* character/attribute pair */
bCell [ 0 ] = ' ';
bCell [ 1 ] = attr;
if( ( sVert | sHoriz ) == 0 ) /* both zero, clear region */
VioScrollUp ( usTop, usLeft, usBottom, usRight, 0xFFFF, bCell, 0 );
else
{
if( sVert > 0 ) /* scroll up */
VioScrollUp ( usTop, usLeft, usBottom, usRight, sVert, bCell, 0 );
else if( sVert < 0 ) /* scroll down */
VioScrollDn ( usTop, usLeft, usBottom, usRight, -sVert, bCell, 0 );
bCell [ 0 ] = ' ';
bCell [ 1 ] = attr;
if( ( sVert | sHoriz ) == 0 ) /* both zero, clear region */
VioScrollUp ( usTop, usLeft, usBottom, usRight, 0xFFFF, bCell, 0 );
else
{
if( sVert > 0 ) /* scroll up */
VioScrollUp ( usTop, usLeft, usBottom, usRight, sVert, bCell, 0 );
else if( sVert < 0 ) /* scroll down */
VioScrollDn ( usTop, usLeft, usBottom, usRight, -sVert, bCell, 0 );
if( sHoriz > 0 ) /* scroll left */
VioScrollLf ( usTop, usLeft, usBottom, usRight, sHoriz, bCell, 0 );
else if( sHoriz < 0 ) /* scroll right */
VioScrollRt ( usTop, usLeft, usBottom, usRight, -sHoriz, bCell, 0 );
}
if( sHoriz > 0 ) /* scroll left */
VioScrollLf ( usTop, usLeft, usBottom, usRight, sHoriz, bCell, 0 );
else if( sHoriz < 0 ) /* scroll right */
VioScrollRt ( usTop, usLeft, usBottom, usRight, -sHoriz, bCell, 0 );
}
}
}

View File

@@ -33,17 +33,6 @@
*
*/
/*
* ChangeLog:
*
* V 1.3 Chen Kedem hb_mouse_Hide() now work in any text
* screen mode by calling VioGetMode.
* hb_mouse_IsButtonPressed() now return
* TRUE if any button was pressed.
* V 1.0 Chen Kedem Initial version.
*
*/
#define INCL_MOU
#define INCL_VIO /* needed only for VioGetMode/VIOMODEINFO */
#define INCL_NOPMAPI /* exclude Presentation Manager Include File */

View File

@@ -241,6 +241,7 @@ SHORT hb_gt_Col( void )
void hb_gt_Scroll( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight, BYTE attr, SHORT sVert, SHORT sHoriz )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_Scroll(%hu, %hu, %hu, %hu, %d, %hd, %hd)", usTop, usLeft, usBottom, usRight, (int) attr, sVert, sHoriz));
HB_SYMBOL_UNUSED( attr );
if( sVert == 0 && sHoriz == 0 )
{
/* Clear */
@@ -292,6 +293,7 @@ USHORT hb_gt_GetCursorStyle( void )
void hb_gt_SetCursorStyle( USHORT style )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetCursorStyle(%hu)", style));
HB_SYMBOL_UNUSED( style );
}
void hb_gt_Puts( USHORT usRow, USHORT usCol, BYTE attr, BYTE * str, ULONG len )
@@ -317,18 +319,33 @@ void hb_gt_Puts( USHORT usRow, USHORT usCol, BYTE attr, BYTE * str, ULONG len )
void hb_gt_GetText( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight, BYTE *dest )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetText(%hu, %hu, %hu, %hu, %p)", usTop, usLeft, usBottom, usRight, dest));
HB_SYMBOL_UNUSED( usTop );
HB_SYMBOL_UNUSED( usLeft );
HB_SYMBOL_UNUSED( usBottom );
HB_SYMBOL_UNUSED( usRight );
HB_SYMBOL_UNUSED( dest );
/* TODO: */
}
void hb_gt_PutText( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight, BYTE *srce )
void hb_gt_PutText( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight, BYTE *src )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutText(%hu, %hu, %hu, %hu, %p)", usTop, usLeft, usBottom, usRight, srce));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutText(%hu, %hu, %hu, %hu, %p)", usTop, usLeft, usBottom, usRight, srce) );
HB_SYMBOL_UNUSED( usTop );
HB_SYMBOL_UNUSED( usLeft );
HB_SYMBOL_UNUSED( usBottom );
HB_SYMBOL_UNUSED( usRight );
HB_SYMBOL_UNUSED( src );
/* TODO: */
}
void hb_gt_SetAttribute( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight, BYTE attr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetAttribute(%hu, %hu, %hu, %hu, %d)", usTop, usLeft, usBottom, usRight, (int) attr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetAttribute(%hu, %hu, %hu, %hu, %d)", usTop, usLeft, usBottom, usRight, (int) attr) );
HB_SYMBOL_UNUSED( usTop );
HB_SYMBOL_UNUSED( usLeft );
HB_SYMBOL_UNUSED( usBottom );
HB_SYMBOL_UNUSED( usRight );
HB_SYMBOL_UNUSED( attr );
/* TODO: */
s_iAttribute = attr;
}
@@ -353,14 +370,18 @@ void hb_gt_DispEnd( void )
BOOL hb_gt_SetMode( USHORT uiRows, USHORT uiCols )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetMode(%hu, %hu)", uiRows, uiCols));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetMode(%hu, %hu)", uiRows, uiCols) );
HB_SYMBOL_UNUSED( uiRows );
HB_SYMBOL_UNUSED( uiCols );
/* TODO: */
return 0; /* 0 = Ok, other = Fail */
}
void hb_gt_Replicate( BYTE c, ULONG ulLen )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_Replicate(%d, %lu)", (int) c, ulLen));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_Replicate(%d, %lu)", (int) c, ulLen) );
HB_SYMBOL_UNUSED( c );
HB_SYMBOL_UNUSED( ulLen );
/* TODO: this will write character c nlength times to the screen.
Note that it is not used yet
If there is no native function that supports this, it is
@@ -377,7 +398,8 @@ BOOL hb_gt_GetBlink()
void hb_gt_SetBlink( BOOL bBlink )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetBlink(%d)", (int) bBlink));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_SetBlink(%d)", (int) bBlink) );
HB_SYMBOL_UNUSED( bBlink );
/* TODO: */
}

View File

@@ -33,40 +33,6 @@
*
*/
/*
* ChangeLog:
*
* V 1.63 David G. Holm Enable Unix-compatible keyboard input
* even when not using ncurses or slang.
* V 1.55 David G. Holm Added _SET_CANCEL support for
* Ctrl+Break, returning no key code
* when _SET_CANCEL is off.
* V 1.45 David G. Holm Removed Borland Windows support.
* Removed DOS-like Windows support.
* Removed Cygwin from Unix-like support.
* Added Console Mode Windows support.
* V 1.39 David G. Holm Added Borland Windows support.
* Restored Unix support to what
* it was in version 1.34.
* Added separate Cygwin support and
* set it up to cooperate between the
* hb_inkeyGet() and hb_inkeyNext()
* functions (but it still blocks).
* V 1.36 David G. Holm Added __MINGW32__ support
* V 1.35 David G. Holm Changed the __CYGWIN__ build to use
* the Unix keyboard input method and
* modified it to not block the VM.
* V 1.21 David G. Holm Added OS/2 DosSleep()
* V 1.15 David G. Holm Tested Borland 3.1 hb_releaseCPU()
* V 1.5 Paul Tucker ReleaseCPU comments
* V 1.4 Victor Szakats
* V 1.3 Victor Szakats #include <x> changed to #include "x".
* V 1.2 Gonzalo Diethelm ?
* V 1.1 David G. Holm Committed to CVS.
* V 1.0 David G. Holm Initial version.
*
*/
/*
* The following parts are Copyright of the individual authors.
* www - http://www.harbour-project.org

View File

@@ -33,152 +33,6 @@
*
*/
/*
* ChangeLog:
*
* V 1.86 David G. Holm Added missing Clipper 5.3 SETs.
* V 1.84 David G. Holm Corrected how NIL second parameter
* is handled for ALTFILE, DEVICE,
* EXTRAFILE, and PRINTFILE.
* V 1.83 David G. Holm Added DEFPATH() and __DEFPATH()
* provided by Jose Lalin.
* V 1.81 David G. Holm Corrected _SET_CURSOR to use the GT API
* when available.
* V 1.70 David G. Holm Corrected _SET_COLOR case to only use
* '.asString' if 'IS_STRING', otherwise
* use "" instead of only if 'IS_NIL'.
* V 1.69 Paul Tucker Added a cast in open_handle to fsRead.
* V 1.68 David G. Holm Added user file error code safeguards.
* When opening a "text" file is append
* mode in open_handle(), remove the EOF
* character from the end of the file.
* V 1.67 David G. Holm Corrected file open/create logic
* in open_handle() function.
* V 1.64 Victor Szakats Converted to use the FS API.
* hb_err*() handles E_BREAK.
* extrahan closing mode on exit fixed.
* V 1.62 Paul Tucker Converted HB_SET_DEBUG back to Logical.
* Clipper 5.3 docs are incorrect on this.
* V 1.51 Victor Szakats #include <x> changed to #include "x".
* V 1.49 Paul Tucker Changed parameter passing checks
* in call to hb_setColor() to account
* for no or NIL parameters.
* V 1.48 David G. Holm Simplified SET_COLOR handling.
* Made changes to deal with the
* hb_set.HB_SET_COLOR string having
* a fixed 64 byte size.
* V 1.46 Paul Tucker Modifed SetColor handling.
* V 1.43 David G. Holm Removed the obsolete hb_set_fixed,
* which I should have done when I took
* HB_SETFIXED() out in V 1.27.
* V 1.42 Ryszard Glab Added guard around #pragma startup.
* V 1.41 David G. Holm Added my email address.
* V 1.40 David G. Holm Added header template and filled in
* complete version history by cross-
* referencing ChangeLog and the output
* from "cvs log source/rtl/set.c".
* V 1.39 David G. Holm Made various changes after running
* through Gimpel Lint.
* Added call hb_errRT_TERM()
* wrapper function upon failure to
* create an alternate file and/or a
* printer file (and/or an extra file,
* even though I still don't know what
* it is used for).
* Added support for HB_SET_EXTRAFILE.
* Added support for strings > 64 KB.
* V 1.38 Ryszard Glab Changed to use the new definition of
* HB_INHB_IT_SYMBOLS_* and
* HB_CALL_ON_STARTUP_* macros.
* V 1.37 David G. Holm Added #pragma startup.
* V 1.36 Ryszard Glab Changed code that registers local
* symbol table (it uses HB_INHB_IT_SYMBOLS_*
* macros now).
* V 1.35 Ryszard Glab Changed to use the new HB_ITEM.
* Changed to automatically register
* symbol table.
* V 1.34 Victor Szakats Added four Clipper-compatible error
* reports.
* V 1.33 Victor Szakats InitializeSets() changed to
* hb_setInitialize() and ReleaseSets()
* changed to hb_setRelease().
* V 1.32 David G. Holm Minor change in last if block in
* HB___SETCENTURY() to avoid a
* signed/unsigned comparison complaint
* by some compilers.
* V 1.31 Ryszard Glab Files created by SET PRINTER TO or SET
* ALTERNATE TO now have permissions set
* to write/read by user on UNIX like OS.
* V 1.30 Ryszard Glab Changes for Watcom C/C++ and for GCC on
* Linux. Removed PATH_SEPARATOR and
* replaced it with OS_PATH_DELIMITER
* defined in hbsetup.h.
* V 1.29 David G. Holm Added documentation. Converted
* HB_SET_DEBUG to numeric. Added limits
* of 16 and 4096 to HB_SET_TYPEAHEAD.
* V 1.28 Eddie Runia Changed SETCENTURY in Symbol table to
* __SETCENTURY.
* V 1.27 David G. Holm Renamed HB_SETCENTURY to
* HB___SETCENTURY and eliminated
* HB_SETFIXED following integration of
* Harbour preprocessor.
* V 1.26 David G. Holm All Extend API functions converted from
* _name() to hb_name().
* V 1.25 David G. Holm Convert all _errFunctions to
* hb_errFunctions.
* V 1.24 David G. Holm Logical SET values can now use "ON"
* for .T. and "OFF" for .F.
* V 1.23 David G. Holm Now uses hb_stricmp() instead of
* stricmp(). Added default #define for
* O_BINARY.
* V 1.22 Eddie Runia Added InitSymbols().
* V 1.21 Gonzalo A. Diethelm Changed all HARBOUR NAME( void ) to
* HARBOUR HB_NAME( void ).
* V 1.20 David G. Holm Removed "+ 1" in setting y_stop to
* default stop point, because it caused
* _xgrab to allocate 1 byte too few when
* year was at end.
* V 1.19 David G. Holm Moved "#include <sys/stat.h>" outside
* "#if defined(__GCC__) ||
* defined(__DJGPP__)" block, so that it
* is included for all compilers.
* V 1.18 Gonzalo A. Diethelm In open_handle(), a misplaced
* parenthesis when calling open() caused
* S_IWRITE to never be seen by open().
* V 1.17 Eddie Runia temporary patches with regard to
* sys/stat.h removed.
* V 1.16 Gonzalo A. Diethelm Solved portability problems under gcc.
* Got rid of a few warnings and unused
* variables.
* V 1.15 Patrick Mast Removed #include <sys\stat.h>
* V 1.14 David G. Holm Added #include <unistd.h> for DJGPP.
* V 1.13 David G. Holm Changed PITEM to PHB_ITEM.
* V 1.12 Les. Griffith Added #include <errno.h> for DJGPP.
* V 1.11 Eddie Runia Small correction in ReleaseSets().
* V 1.10 David G. Holm Added default of "PRN" for
* HB_SET_PRINTFILE. If SET (_SET_DEVICE,
* "PRINTER") called and printer file not
* open, then open it.
* V 1.9 David G. Holm Added file open/close support to
* HB_SET_ALTFILE and HB_SET_PRINTFILE.
* V 1.8 David G. Holm Added hb_set_fixed and HB_SETFIXED().
* V 1.7 David G. Holm Fixed memory leak in HB_SETCENTURY.
* V 1.6 Eddie Runia Calling IS_STRING and IS_LOGICAL
* without checking for empty pItem fixed.
* V 1.5 Ryszard Glab Added (char *) type casts for Watcom C.
* V 1.4 Gonzalo A. Diethelm Cleaned up a few warnings.
* V 1.3 David G. Holm Changed __SETCENTURY to HB_SETCENTURY.
* Changed all _SET_name to HB_SET_name
* Changed HB_SETCENTURY to modify the
* HB_SET_DATEFORMAT. Changed the name of
* the set initialization function to
* InitializeSets().
* V 1.2 Gonzalo A. Diethelm Added comment with CVS Id keyword.
* V 1.1 Antonio Linares Committed to CVS.
* V 1.0 David G. Holm Initial version.
*
*/
#include <ctype.h>
#include "hbapi.h"