Commit Graph

19758 Commits

Author SHA1 Message Date
Przemysław Czerpak
807c7d8e8b 2023-01-31 14:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapierr.h
  * src/harbour.def
  * src/rtl/errapi.c
    + added new C function:
         void hb_errReinit( PHB_ITEM pError );
      it allows to replace default error object with user custom one which
      support :Init() method

  * contrib/xhb/xhb.hbp
  + contrib/xhb/xhb.h
  + contrib/xhb/xhberror.prg
    + added code which extends Harbour error objects adding functionality
      known from xHarbour:
         oError:ProcName
         oError:ProcLine
         oError:ProcModule
      Above instance variables are initialized automatically when error
      object is created.
      To enable this functionality it's enough to add to PRG code:
         REQUEST xhb_ErrorNew

  * contrib/xhb/xhberr.prg
    * use error object :Proc*() methods if they are available
    - removed PRG version of xhb_ErrorNew()

  * contrib/xhb/xhbmemo.prg
  * contrib/xhb/xhbtedit.prg
    ! use xhb_ErrorNew() instead of ErrorNew() which does not support
      any parameters

  * include/hbapicls.h
    ; typo in comment
2023-01-31 14:59:17 +01:00
Przemysław Czerpak
c95f2a7ad5 2023-01-31 07:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/fm.c
  * src/vm/garbage.c
    ! pacified warnings
2023-01-31 07:17:18 +01:00
Przemysław Czerpak
c3abd753c9 2023-01-30 15:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/arc4.c
    ! include hbarc4.h instead of arc4.h which does not contain
      required for dynamic libraries export attributes in function
      declaration

  * src/vm/classes.c
    ! cleaned module symbol range checking

  * src/vm/arrays.c
    % optimized AClone() and hb_HClone()

  * src/vm/hvmall.c
    % changed the order of included files to keep alive function macros
      undefined in garbage.c and fm.c

  * src/vm/hvm.c
    ! fixed hb_vmGetRealFuncSym() to work with PRG functions written in C
      and registered in HVM without their own symbol table

  * src/vm/dynsym.c
    ; comment updated
2023-01-30 15:18:58 +01:00
Przemysław Czerpak
a08bcb0a47 2023-01-23 12:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
    ! added missing hb_socketSetNoSigPipe()

  * src/rdd/dbfcdx/dbfcdx1.c
    * redirect all debug output to stderr
    * reenabled light debug code for early detection of index corruption
2023-01-23 12:46:36 +01:00
Przemysław Czerpak
004d53a594 2023-01-23 12:28 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * replaced depreciated in 5.15 methods for mouse wheel events processing
      by modern ones
    * replaced depreciated in 5.15 methods for accessing screen geometry by
      modern ones

  * contrib/gtqtc/gtqtc1.cpp
    + added support for TAB key processing when other widgets are shown and
      TAB is use to switch focus

  * src/rtl/alert.prg
  * src/rtl/hbgtcore.c
    + added support for hb_Alert() parameters passed in hash array, i.e.
         hb_Alert( { "TXT" => <cMessage>, ;
                     "BTN" => <aButtons>, ;
                   [ "TIM" => <nTimeOut> ] } ) => <nButton>

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
  * include/hbgtinfo.ch
    + added new hb_gtInfo() action: HB_GTI_MSGBOX
      It opens QMessageBox with given by user text and buttons, i.e.
         hb_gtInfo( HB_GTI_MSGBOX, <cMessage>, <aButtons> ) => <nButton>
      or:
         hb_gtInfo( HB_GTI_MSGBOX, ;
                    { "TXT" => <cMessage>, ;
                      "BTN" => <aButtons>, ;
                    [ "TIM" => <nTimeOut>, ] ;
                    [ "TIT" => <cTitle>, ] ;
                    [ "INF" => <cInfoText>, ] ;
                    [ "DTL" => <cDetailedText> ] } ) => <nButton>
    + added support for redirecting Alert() and hb_Alert() calls to QT GUI
      QMessageBox(). This functionality can be enabled by:
         hb_gtInfo( HB_GTI_MSGBOX, .t. )
      and then
         Alert( <cMessage>, <aButtons> )
      is redirected to QT GUI QMessageBox().

  * include/hbgtinfo.ch
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
  * contrib/gtqtc/gtqtc1.cpp
    + added new hb_gtInfo() action: HB_QT_SOUND
      It allows to play sound using the low level GUI library, i.e.
         hb_gtInfo( HB_QT_SOUND, <cSoundFile> )
      This modification needs additional QT5 library Qt5Multimedia so I decided
      to enable it conditionally by HB_QT_SOUND=yes environment variable.
2023-01-23 12:28:36 +01:00
Maurizio la Cecilia
5554c5f824 Merge pull request #296 from lailton/master
functions: Harbour socket API - HB_SOCKETSETNOSIGPIPE
2023-01-17 17:11:42 +01:00
Lailton Fernando Mariano
28a0b4c3da 2023-01-17 13:10 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* include/hbsocket.h
  * src/harbour.def
  * src/rtl/hbsocket.c
  * src/rtl/hbsockhb.c
    + added functions: Harbour socket API
      HB_SOCKETSETNOSIGPIPE( hSocket, lValue ) --> lSuccess
2023-01-17 13:10:04 -03:00
Maurizio la Cecilia
34639a9667 Merge pull request #295 from lailton/master
updated system include path for new Linux distributions
2023-01-17 17:04:08 +01:00
Lailton Fernando Mariano
8cce53b389 2023-01-17 13:00 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* contrib/hbcurl/hbcurl.hbm
  * contrib/hbssl/hbssl.hbm
    * updated system include path for new Linux distributions
2023-01-17 13:01:36 -03:00
Maurizio la Cecilia
c66e4d5d2b Merge pull request #294 from lailton/master
disabled debug code HB_CDX_DBGCODE
2023-01-17 16:58:12 +01:00
Lailton Fernando Mariano
9abb685d0c 2023-01-17 12:54 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* src/rdd/dbfcdx/dbfcdx1.c
    ! disabled debug code HB_CDX_DBGCODE
2023-01-17 12:54:27 -03:00
Przemysław Czerpak
9744fb04fd 2023-01-16 14:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/wapi_shellapi.c
    ! replaced struct = { 0 } with memset( &struct, 0, sizeof( struct ) )
      Such BCC syntax does not clear the whole structure body in most of
      other C compilers.

  * src/pp/hbpp.c
    ! fixed compilation for compilers using "i64" to format long long numbers,
      thanks to Toninho for the information.
2023-01-16 14:35:47 +01:00
Przemysław Czerpak
2975eadbba 2023-01-15 11:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/win_prn1.c
    ! fixed parameter type in font enum callback

  * include/harbour.hbx
  * src/harbour.def
  * src/rtl/hbgtcore.c
    + added two new PRG functions:
         hb_gtExists( <cGtName> ) -> <lExists>
         hb_gtList() -> <aGtNames>

  * src/rtl/hbgtcore.c
    * changed the order of defualt GT initialization. Now GT specified by -gt*
      hbmk2 option has higher priority then GT chosen by
         request HB_GT_<name>_DEFAULT

  * include/hbapi.h
  * src/vm/set.c
    + added two C functions for OS codepage translations:
         char * hb_osStrEncode2( const char * pszName,
                                 char * pszBuffer, HB_SIZE nSize );
         HB_WCHAR * hb_osStrU16Encode2( const char * pszName,
                                        HB_WCHAR * pszBufferW, HB_SIZE nSize );

  * include/hbwinuni.h
    + added HB_CHARDUP2() macro for UNICODE/ANSI OS codepage translation

  * src/common/hbgete.c
    ! fixed memory allocation in MS-Windows version of hb_getenv_buffer()

  * src/pp/hbpp.c
    ! added integer range to HB_VER_REVID definition to pacify warning

  * src/rtl/cdpapi.c
    * minor simplification
2023-01-15 11:17:33 +01:00
Przemysław Czerpak
889ef46369 2022-11-25 18:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/vm/cmdarg.c
    ! changed returned type in hb_verSvnID() form int to HB_MAXINT

  * src/nortl/nortl.c
    ! fixed void* pointer incrementation
    ! pacified warnings

  * src/rdd/dbcmd.c
    * accept NIL value in hb_FieldPut() according to Aleksander recommendation
2022-11-25 18:14:56 +01:00
Przemysław Czerpak
2b405dd35b 2022-11-11 21:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! use hb_vmPushString() instead of hb_vmPushStringPcode()
      hb_vmPushStringPcode() is only for static buffer which cannot be freed.
      Variables passed to PRG debug functions can be stored by PRG code in
      other variables which lives longer then passed buffer and later cause
      GPF when curls structure is freed.
    ! indenting
2022-11-11 21:16:00 +01:00
Przemysław Czerpak
580ee59412 2022-11-11 20:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/common/hbver.c
  * src/main/harbour.c
  * src/pp/hbpp.c
  * src/rtl/version.c
  * src/vm/cmdarg.c
    ! fixed integer overflow in revision number calculated from
      the last ChangeLog entry date
2022-11-11 20:47:55 +01:00
Aleksander Czajczynski
9796e3a16e 2022-11-07 09:24 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/core.c
    ! CURLOPT_MAXLIFETIME_CONN is available in curl 7.80.0,
      fix older builds by adding a version check

  * ChangeLog.txt
    * entry for previous merge was "old" (i wouldn't touch
      it alone), but it also had paths with backslashes
      in place of slashes
2022-11-07 09:25:04 +01:00
Maurizio la Cecilia
629ad6889d Merge pull request #270 from APerricone/master
added HB_CURLOPT_MAXLIFETIME_CONN and HB_CURLOPT_DEBUGBLOCK
2022-11-04 20:15:21 +01:00
Antonino Perricone
ea5f8f72ac 2022-05-03 08:45 UTC+0200 Antonino Perricone
* contrib\hbcurl\hbcurl.ch
  * contrib\hbcurl\core.c
    + added HB_CURLOPT_MAXLIFETIME_CONN to setup max lifetime of connection
      see https://curl.se/libcurl/c/CURLOPT_MAXLIFETIME_CONN.html for more 
      information.

2022-05-02 08:38 UTC+0200 Antonino Perricone
  * contrib\hbcurl\core.c
    + added HB_CURLOPT_DEBUGBLOCK to setup a block for debug information
      It takes a callback in the form of {|type, msg| ... }
      see https://curl.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html for more 
      information.
  * contrib\hbcurl\hbcurl.ch
    + added HB_CURLINFOTYPE_* macros for debug block
2022-10-25 05:07:01 +02:00
Maurizio la Cecilia
6b89cf0500 Merge pull request #269 from harbour-page/master
2022-10-23 11:30 UTC-0300 Lailton Fernando Mariano (lailton/at/harbou…
2022-10-24 18:01:05 +02:00
Lailton
2c1e33a0b2 2022-10-23 11:30 UTC-0300 Lailton Fernando Mariano (lailton/at/harbour.page)
* config/global.mk
    + add auto detect cpu arm64
  * config/darwin/global.mk
  * utils/hbmk2
    ! fix build dylibs with VM builtin to Darwin ( Mac OS )
2022-10-23 23:28:00 -03:00
Przemysław Czerpak
95f01c237b 2022-10-17 20:28 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
    * fixed log entry order
2022-10-17 20:28:50 +02:00
Przemysław Czerpak
d6635555e6 2022-10-17 20:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/hbcurl.hbm
    * updated system include path for new Linux distributions
2022-10-17 20:13:22 +02:00
Przemysław Czerpak
2807eb7bb5 2022-10-17 20:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rdd/dbcmd.c
    + added two new functions:
         hb_FieldGet( <cFieldName> | <nFieldPos> )
               -> <xFieldValue> | NIL
         hb_FieldPut( <cFieldName> | <nFieldPos>, <xFieldValue> )
               -> <xFieldValue> | NIL
      They works like FieldGet() and FieldPut() but allows to use field
      name instead of field index.
2022-10-17 20:11:27 +02:00
Przemysław Czerpak
5cf00ad438 2022-10-17 19:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
    * pacified warning
2022-10-17 19:58:52 +02:00
Przemysław Czerpak
fb38011a6c 2022-10-17 19:57 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbvm.h
  * include/harbour.hbx
  * src/harbour.def
  * src/vm/hvm.c
    + added new C function:
         extern HB_EXPORT HB_BOOL hb_vmSetKeyPool( HB_BOOL fEnable );
      It allows to disable keyboard pooling by GT driver in main HVM loop.
      It's important in programs which mix GT terminal with GUI library
      which use common event loop. Many GUI objects are not reentrant
      safe and activating event loop during big changes may cause crash.
      Such things can happen in applications which try to mix HBQT
      and GTQTC. To avoid such problems before PRG code is called it's
      enough to disable keyboard pooling in main HVM loop, eg.
         if( hb_vmRequestReenter() )
         {
            HB_BOOL fKeyPool = hb_vmSetKeyPool( HB_FALSE );
            hb_vmPushEvalSym();
            hb_vmPush( pBlockItm );
            hb_vmSend( 0 );
            hb_vmSetKeyPool( fKeyPool );
            hb_vmRequestRestore();
         }
    + added new PRG function:
         __vmKeyPool( [<fEnable>] ) -> <fPrevState>
      It's PRG interface to above C function. If application uses GT driver
      and GUI library using the same event loop and such GUI library does not
      disable keyboard pooling in main HVM loop before PRG code is activated
      then it's enough to call this function at the beginning of application,
      eg.
         PROCEDURE INIT Clip()
            __vmKeyPool( .f. )
         RETURN
      With above peace of code you can mix HBQT or other QT wrapper with GTQTC.
2022-10-17 19:57:18 +02:00
Przemysław Czerpak
4903e7c9c7 2022-10-17 19:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbvm.h
  * include/harbour.hbx
  * src/harbour.def
  * src/vm/hvm.c
    + added new C function:
         extern HB_EXPORT HB_BOOL hb_vmSetKeyPool( HB_BOOL fEnable );
      It allows to disable keyboard pooling by GT driver in main HVM loop.
      It's important in programs which mix GT terminal with GUI library
      which use common event loop. Many GUI objects are not reentrant
      safe and activating event loop during big changes may cause crash.
      Such things can happen in applications which try to mix HBQT
      and GTQTC. To avoid such problems before PRG code is called it's
      enough to disable keyboard pooling in main HVM loop, eg.
         if( hb_vmRequestReenter() )
         {
            HB_BOOL fKeyPool = hb_vmSetKeyPool( HB_FALSE );
            hb_vmPushEvalSym();
            hb_vmPush( pBlockItm );
            hb_vmSend( 0 );
            hb_vmSetKeyPool( fKeyPool );
            hb_vmRequestRestore();
         }
    + added new PRG function:
         __vmKeyPool( [<fEnable>] ) -> <fPrevState>
      It's PRG interface to above C function. If application uses GT driver
      and GUI library using the same event loop and such GUI library does not
      disable keyboard pooling in main HVM loop before PRG code is activated
      then it's enough to call this function at the beginning of application,
      eg.
         PROCEDURE INIT Clip()
            __vmKeyPool( .f. )
         RETURN
      With above peace of code you can mix HBQT or other QT wrapper with GTQTC.
2022-10-17 19:41:55 +02:00
Przemysław Czerpak
a68eec838f 2022-10-17 19:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbvm.h
  * include/harbour.hbx
  * src/harbour.def
  * src/vm/hvm.c
    + added new C function:
         extern HB_EXPORT HB_BOOL hb_vmSetKeyPool( HB_BOOL fEnable );
      It allows to disable keyboard pooling by GT driver in main HVM loop.
      It's important in programs which mix GT terminal with GUI library
      which use common event loop. Many GUI objects are not reentrant
      safe and activating event loop during big changes may cause crash.
      Such things can happen in applications which try to mix HBQT
      and GTQTC. To avoid such problems before PRG code is called it's
      enough to disable keyboard pooling in main HVM loop, eg.
         if( hb_vmRequestReenter() )
         {
            HB_BOOL fKeyPool = hb_vmSetKeyPool( HB_FALSE );
            hb_vmPushEvalSym();
            hb_vmPush( pBlockItm );
            hb_vmSend( 0 );
            hb_vmSetKeyPool( fKeyPool );
            hb_vmRequestRestore();
         }
    + added new PRG function:
         __vmKeyPool( [<fEnable>] ) -> <fPrevState>
      It's PRG interface to above C function. If application uses GT driver
      and GUI library using the same event loop and such GUI library does not
      disable keyboard pooling in main HVM loop before PRG code is activated
      then it's enough to call this function at the beginning of application,
      eg.
         PROCEDURE INIT Clip()
            __vmKeyPool( .f. )
         RETURN
      With above peace of code you can mix HBQT or other QT wrapper with GTQTC.
2022-10-17 19:17:26 +02:00
Aleksander Czajczynski
908527cc87 2021-04-28 20:02 UTC+0200 Aleksander Czajczynski (hb fki.pl) [ci skip]
* include/hbgtinfo.ch
    ! fixed comment, Alt+Numpad HB_GTI_KBDALT workaround was disabled by
      default here:
      2015-11-02 17:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
2021-04-28 20:01:51 +02:00
Aleksander Czajczynski
3069cd38a2 2021-04-14 22:25 UTC+0200 Aleksander Czajczynski (hb fki.pl)
+ src/rtl/vfilehi.prg
  * src/rtl/Makefile
  * src/harbour.def
  * include/harbour.hbx
    + added FILE API counterparts to hb_DirBuild() and hb_FNameExists()
      hb_vfDirBuild( <cDir> ) -> <lSuccess>
      hb_vfDirUnbuild( <cDir> ) -> <lSuccess>
      hb_vfNameExists( <cName> ) -> <lExists>
    ; their implementations are imported from 3.4
      https://github.com/vszakats/hb/blob/master/src/rtl/hbfilehi.prg
      but were renamed to fit in the hb_vf* namespace

  * src/rtl/hbfilehi.prg
    * use hb_LeftEq() instead of Left() ==
    ; partial merge of 3.4
      2015-07-27 14:26 UTC+0200 Viktor Szakats
    ! fix several sloppy checks where Empty() were
      used on strings while in fact a zero length
      check would have been correct.
    ; Empty() is a "weasel-word" when used on strings,
      should be used carefully and sparingly.

  * ChangeLog.txt
    % avoid spaces before EOLs
2021-04-14 22:25:13 +02:00
Aleksander Czajczynski
2834f783b3 2021-04-12 21:18 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* src/rtl/hbfilehi.prg
    * hb_DirBuild() will now honor UNC "\\server\share\dir\tree" parameter
      on Windows and correctly create specified "\dir\tree" on remote
      server. If your code used a malformed "\\local\path" a regression
      in .prg code may happen on Windows. Previously a "\local\path"
      folder was created on current drive, as if the UNC specifier was
      omitted. It was more or less consistent with other platforms but
      not expected for this platform. Spotted by Maurizio la Cecilia (#233)
      [INCOMPATIBLE]

  * contrib/hbdoc/hbdoc.prg
  * contrib/hbformat/utils/hbformat.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * package/harbour.mft
  * package/harbour.rc
  * src/compiler/hbusage.c
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
    * bumped copyright year to 2021
2021-04-12 21:17:27 +02:00
Aleksander Czajczynski
1fa5d5432f 2021-04-10 23:32 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbfbird/firebird.c
    + added optional <cCollate> as 7-th parameter of FBCREATEDB( <cDB>,
       <cUser>, <cPass> <iPageSize>, <cCharSet>, <nDialect> [,<cCollate> ] )
      Based on request and example code from Ivanil Marcelino (#240)

  * contrib/hbpgsql/tpostgre.prg
    % var assignment readability

  * ChangeLog.txt
    ! corrected wrong date in prev entry
2021-04-10 23:32:41 +02:00
Aleksander Czajczynski
b03bef938e 2021-03-31 20:37 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbpgsql/tpostgre.prg
    ! reverted previous commit 2021-04-01 15:55 UTC-0300 as invalid
      together with a little cleanup plus another minor cleanup
2021-04-02 20:37:13 +02:00
alcz
ac3f9e7ebf 2021-04-01 15:55 UTC-0300 Marco Aurelio V (marcoprodata/at/gmail.com) 2021-04-01 22:44:56 +02:00
Marco Aurelio
35e2d76d79 Fix refresh method 2021-04-01 16:00:25 -03:00
Aleksander Czajczynski
8a8575609a 2021-03-31 23:43 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbpgsql/postgres.c
    ! guard PQEXECPARAMS() wrapper from generating unrecoverable error
      on empty parameter array "hb_xgrab requested to allocate zero bytes"

  * contrib/hbpgsql/tpostgre.prg
    ! corrected buggy parameter order in TPQserver():Query()

    * make TPQQuery, TPQRow classes more aware of NIL to NULL conversions,
      added support for inserting and updating empty xBase date value
      should fix issue #234, oRow:FieldPut( <n>, NIL ) also looks good
2021-03-31 23:43:52 +02:00
Viktor Szakats
ff3a726edf 2021-03-31 21:26 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/postgres.ch
    + add most new wrappers from this repository of Petr Chornyj:
      https://github.com/petr-ch/hbpgsql9
      Version guards have been added and "params" functions reworked
      to accept hashes instead of two arrays. Other minor corrections
      to fit into the contrib env.
    + add PQsslAttribute()
    * some existing functions were modified to make the parameter
      check (and fail if wrong) even if the underlying API is not
      available, instead of silently returning a default value.
    ; all of the above was build-tested only and some features
      require at least postgresql 8, 9 or 9.1

    + add PQlibVersion() -> <nVersion> (returns 0 for pre-9.1 postresql
versions)
      Ref: https://github.com/harbour/core/pull/127/ by @VerchenkoAG

    + PQEXECPARAMS(): add 4th parameter to set <resultFormat>
      Refs:
        https://www.postgresql.org/docs/9.1/static/libpq-exec.html
        https://groups.google.com/d/msg/harbour-users/hXhuVzU9pHA/RrDGLIiUAwAJ

    + add PQresStatus( <nNum> ) -> <cString>

    + added wrapper function
      PQresultErrorField( result, nFieldCode ) -> cString
      based on:
https://groups.google.com/d/msg/harbour-users/XSvRpbzfcHc/ztSL32fYpl4J
    + added PG_DIAG_* constants

    + added pg_encoding_to_char() wrapper to convert numeric
      encoding ID to string

    ! fixed to use hb_fopen() instead of fopen()

    + TPQserver():New(): all parameters are now optional
    ! TPQserver():New(): fixed to escape connect parameter values
    + TPQserver():New(): added 7th optional hash parameter to pass
custom
      connection parameters (e.g. SSL)
         https://www.postgresql.org/docs/devel/static/libpq-connect.html

  * contrib/hbpgsql/tests/test.prg
    + use pg_encoding_to_char(), plus some more feedback regarding
encodings

  * contrib/hbpgsql/tests/dbf2pg.prg
    + use VF IO
    + support more source field types

  ; synced with Viktor's 3.4 branch at https://github.com/vszakats/hb
    2017-02-15 15:14 UTC Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-05 18:55 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-05 10:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-02 01:58 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-06-20 22:50 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-07-19 11:56 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-04-06 18:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-03-31 23:31 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2014-11-29 02:47 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
    2014-07-08 13:21 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2014-02-11 18:18 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
    ; tons of cleanups in this library, many thanks
2021-03-31 21:26:42 +02:00
Aleksander Czajczynski
864c0e6315 2021-03-31 20:38 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbpgsql/hbpgsql.h
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/tpostgre.prg
    + recognize NAMEOID columns
    + added :SetNull( <lSet> ) to TPQServer class
      and a param to :Query( <cQuery>, [ <lNull> ] )
      TPQQuery class constructor is also extended.

      With :SetNull( .T. ) retains NULL information as NIL. Standard
      behaviour of hbpgsql library, until now, was to substitute NULL
      as blank xBase value - thus :SetNull( .F. ) is the default setting.

  ; changes imported from https://github.com/alcz/harbour
    2015-05-07 22:24 UTC+0200 Aleksander Czajczynski (hb fki.pl)
2021-03-31 20:39:02 +02:00
omm
d407898675 2021-01-26 18:27 UTC+0200 Oleksii Myronenko (m.oleksa ukr.net)
* src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
    ! fixed RTE when press enter in empty array or empty hash
      https://github.com/harbour/core/pull/225
2021-01-27 18:56:18 +01:00
Phil Krylov
e0acf88485 2021-01-25 02:45 UTC+0100 Phil Krylov (phil a t newstar.rinet.ru) (#230) 2021-01-26 20:00:42 +03:00
Aleksander Czajczynski
492ae2a79b 2020-11-03 10:37 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/rtl/arc4.c
    * updated to the current state of glibc, versions >= 2.30 have
      no sysctl(). Should fix build issues on current Linux distros
      like Fedora 33, etc.
2020-11-03 10:38:15 +01:00
Przemysław Czerpak
3868bb539e 2020-08-19 02:02 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filesys.c
    ! use _exit() instead of exit() in forked process inside hb_fsPOpen().
      I've noticed that programs linked with QT 5.9.5 does not cleanly ends
      when exit() is used probably due to atexit() procedures.
    * use EXIT_SUCCESS and EXIT_FAILURE macros

  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/hbproces.c
    * use _exit() instead of exit() in forked processes when exec*() fails
    * use EXIT_SUCCESS and EXIT_FAILURE macros

  * src/rtl/gtchrmap.c
    * use 'return 0' instead of 'exit( 0 )' in commented debug code
2020-08-19 02:02:24 +02:00
Przemysław Czerpak
e5ab1e3a46 2020-06-30 18:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
    * added default Qt5 path in Ubuntu64

  * contrib/gtqtc/gtqtc1.cpp
    + added support for horizontal wheel events
    * do not try to load image when zero length string is used as image name
      to refresh screen in HB_GTI_DISPIMAGE
2020-06-30 18:01:42 +02:00
Przemysław Czerpak
18e86e0206 2020-04-20 15:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbp
    * added default Qt5 path in Ubuntu64

  * debian/compat
    * changed compatibility level from 5 to 9

  * src/rdd/workarea.c
    ! do not use casting to functions with incompatible parameters.
      Such casting does not work with some ABIs, i.e. when pascal
      calling convention is used and called function should clean
      parameters from the stack.
      This modification should also pacify warnings generated by
      recent GCC versions.
2020-04-20 15:01:57 +02:00
Przemysław Czerpak
e2ebc916a9 2020-04-19 16:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/dattime2.c
    % minor optimization

  * src/rdd/dbsql.c
    ; added somment with syntax info

  * include/inkey.ch
  * src/rtl/hbgtcore.c
    + added support for mouse wheel left and right events to base GT code
2020-04-19 16:32:11 +02:00
Przemysław Czerpak
dc8fbceefe 2020-04-19 16:00 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/dynsym.c
  * src/vm/task.c
    ! pacified warnings

  * src/vm/hashfunc.c
    ! fixed possible GPF in hb_HCopy() and hb_HMerge() functions when source
      and destinnation is the same hash array.
2020-04-19 16:00:44 +02:00
Przemysław Czerpak
b95b7abfdb 2020-03-27 15:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
    ! fixed the position of my last ChangeLog entry - sorry but my script
      which adds ChangeLog entry automatically was not updated for year 2020
      and added the description before last entry in 2019.
2020-03-27 15:00:15 +01:00
Przemysław Czerpak
49a289a1a3 2020-03-24 23:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* config/linux/clang.mk
    ! fixed rule for dynamic library

  * src/3rd/png/Makefile
    + added -DPNG_ARM_NEON_OPT=0 to build flags

  * contrib/3rd/sqlite3/sqlite3.c
  * contrib/3rd/sqlite3/sqlite3.diff
    ! pacified warning

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgwing.c
    ! fixed missing break/return in case statements - please verify it.

  * contrib/hbct/dattime3.c
    * added #define _DEFAULT_SOURCE necessay in new Linux distors

  * contrib/hblzf/3rd/liblzf/liblzf.diff
  * contrib/hblzf/3rd/liblzf/lzfP.h
    * do not use nested #define in #if statements - some C compilers do not
      support it

  * contrib/hbssl/bio.c
    ! tuned #if condition

  * contrib/hbmisc/hbeditc.c
    * simpliefied for condition and pacified warning

  * contrib/hbodbc/hbodbc.hbp
  * contrib/sddodbc/sddodbc.hbp
    + added check for iodbc library

  * utils/hbmk2/hbmk2.prg
    + added support for clang in android builds

  * include/hbdefs.h
    + added check for __BYTE_ORDER__ macro used in some new lib C
      implementations

  * include/hbapi.h
  * include/hbdefs.h
  * include/hbstack.h
  * include/hbvmpub.h
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/estack.c
  * src/vm/memvars.c
    + extended the size of dynamic symbol table from 65535 to 4294967295.
      Adopting class code I decided to keep current algorithm of method indexes
      hashing with only some minor modifications. It's very fast anyhow it may
      cause noticeable (though static) quite big memory allocation for class
      definitions in applications using millions of symbols and which increase
      dynamic symbol table at runtime loading new classes dynamically form .hrb,
      .dll, .so or other dynamic libraries supported by Harbour. It's random
      and rather impossible to exploit situation in real life anyhow I cannot
      exclude it so I'd like to report it in ChangeLog. The solution is very
      simple, i.e. it's enough to use classic divide et impera algorithm using
      symbol numbers to find method definition anyhow it will be slower then
      current one and address only very seldom hypothetical situations so I
      decided to not implement it. Such static memory cost begins to be
      completely unimportant in the world of 64-bit architectures and extremely
      big memory address space.
      The modification was sponsored by TRES company.

  * src/vm/estack.c
    ! fixed __mvClear() in MT builds - due to stupid typo GetList variable
      was removed in MT programs by CLEAR MEMORY command (__mvClear())
      So far noone reported it and I've found it analyzing the code before
      increasing symbol table size.

  * contrib/hbwin/hbolesrv.c
    * updated for new size of dynamic symbol table
2020-03-24 23:34:35 +01:00
Aleksander Czajczynski
cfd6201fa9 2020-02-24 08:32 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/lang/l_de.c
  * src/lang/l_de_at.c
    + added German translations of error messages contributed
      by DF7BE - Wilfried Brunken. Contents have been slightly
      revised by Jan Fornoff.
2020-02-24 08:32:41 +01:00
Aleksander Czajczynski
167a03a778 2020-02-10 15:34 UTC+0100 Aleksander Czajczynski (hb fki.pl)
+ src/codepage/cpde858.c
  * src/codepage/Makefile
  * include/hbcpage.hbx
  * src/harbour.def
    + added codepage DE858, it is essentially DE850 but with EURO SIGN
      (U+20AC) at position 0xD5 instead of Turkish dotless-i (U+0131)
      Issue #201

  * src/vm/fm.c
    * OpenWatcom remaining pragmas related to 201 warning (unreachable code)
      assigned to C mode (wcc386) build only - issue #202
2020-02-10 15:33:49 +01:00