Commit Graph

19967 Commits

Author SHA1 Message Date
Przemysław Czerpak
0477f62648 2023-04-21 13:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/tbrowse.prg
    ! disabled HB_CLS_NOTOBJECT in TBrowse class definition
2023-04-21 13:01:02 +02:00
Przemysław Czerpak
ec993d4753 2023-04-21 11:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rtl/vfile.c
    + added new PRG function:
         hb_vfIsLocal( <cFileName> ) --> <lLocalFileSystem>
      It returns TRUE if <cFileName> is not redirected to any Harbour File IO
      driver but access local file system API.

  * contrib/xhb/traceprg.prg
    * merged with Victor's branch so now Harbour File IO API is used to
      access log file.
    * convert relative log file name to absolute file path name
    % write whole log entry in single IO operation.
2023-04-21 11:45:59 +02:00
Przemysław Czerpak
3e9c09053b 2023-04-20 23:35 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
    ! fixed translations of xHarbour operators inside brackets,
      thanks to Ron.

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xcstr.prg
    + added support for timestamp translations
    ! fixed few wrong translations
    ! fixed serialization of hash items with cyclic references
      in ValToPrg()
    % optimized cyclic references detection in ValToPrg()
    ! generate dummy code which cannot be compiled for codeblocks serialized
      by ValToPrg()

  * contrib/xhb/xhb.ch
    + added SET TRACE ... command, thanks to Ron.

  * contrib/xhb/xhberror.c
    * do not show __ERRRT_BASE() and __ERRRT_SBASE() in error call stack.

  * src/vm/classes.c
    ! added protection against possible GPF when manually created serialized object
      data with super class symbols longer then HB_SYMBOL_NAME_LEN is deserialized
2023-04-20 23:35:56 +02:00
Przemysław Czerpak
e11ee84e6a 2023-04-20 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    % minor optimization in HB_GTI_PALETTE

  * src/rtl/checkbox.prg
  * src/rtl/listbox.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbcolumn.prg
  * src/rtl/tbrowse.prg
  * src/rtl/teditor.prg
  * src/rtl/tget.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
  * src/rtl/treport.prg
  * src/rtl/tsymbol.prg
  * src/rtl/ttextlin.prg
  * src/rtl/ttopbar.prg
    ! use :Init() method instead of :New() to initialize object instance
      variables. In Class(y) :New() is class message not object one.
2023-04-20 15:12:07 +02:00
Przemysław Czerpak
b7b69eb00e 2023-03-09 15:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbvm.h
  * src/harbour.def
    * added HB_EXPORT to functions dedicated to overload dynamic symbols

  * src/rdd/hbsix/sxord.c
    ! use hb_itemRelease() instead of unnecessary hb_itemReturnRelease()
2023-03-09 15:50:03 +01:00
Przemysław Czerpak
8aae3108f4 2023-02-03 02:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/arrays.c
    ! fixed buffer allocation in AClone()/hb_HClone() with possible cyclic
      references.
      I created the problem on 2023-01-30 15:18 UTC+0100 and it was reported
      as internal error 9024: hb_xrealloc requested to resize to zero bytes
2023-02-03 02:46:26 +01:00
Przemysław Czerpak
1aac73c6bf 2023-02-01 13:49 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhb.hbx
    * added reference to SetErrorMode()
2023-02-01 13:49:51 +01:00
Przemysław Czerpak
72538bb26c 2023-02-01 13:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberrc.c
    + implemented Harbour version of SetUnhandledExceptionFilter() and
      SetErrorMode()

  * src/rtl/diskspac.c
    % use GetDiskFreeSpaceEx() directly on Win64 instead of accessing it
      by GetProcAddress()

  * ChangeLog.txt
    ! typo in file name in previous commit
2023-02-01 13:43:46 +01:00
Przemysław Czerpak
b94a8c4985 2023-01-31 23:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ contrib/xhb/xhberror.prg
    ! added file missing in previous commit:
      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
2023-01-31 23:19:40 +01:00
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