612 Commits

Author SHA1 Message Date
Przemysław Czerpak
81bf9807b5 2025-01-22 21:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* utils/hbmk2/hbmk2.prg
    * do not interrupt whole build process when optional dependency package
      is disabled explicitly by -depcontrol=<optdeppkg>:no

  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
    * respect QT_SELECT envvar looking for QT dependencies
2025-01-22 21:08:08 +01:00
Przemysław Czerpak
0ca7dbe6f2 2025-01-21 09:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/windows-ci.yml
    * install freeimage only in 64-bit environment,
      it's not available in the 32-bit one

  * contrib/3rd/sqlite3/sqlite3.hbp
    * use -Wno-unknown-warning-option to pacify problems with old
      clang versions which do not understand -Wno-stringop-overread
2025-01-21 09:45:12 +01:00
Przemysław Czerpak
223bfa649e 2025-01-21 08:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/3rd/sqlite3/sqlite3.hbp
    * do not enable -Wno-error=stringop-overread C compiler flag in MS-Windows
      clang builds and HB_BUILD_TEST='strict' - this C clang version does not
      support it
2025-01-21 08:46:15 +01:00
Przemysław Czerpak
f4ea383593 2025-01-21 06:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/windows-ci.yml
    * disabled global -Wno-error=... C compiler parameters
    * set HB_BUILD_TEST="${{matrix.strictness}}" envvar

  * contrib/3rd/sqlite3/sqlite3.hbp
    * set -Wno-error=stringop-overread C compiler parameter for GCC builds
      when HB_BUILD_TEST='strict'

  * contrib/hbzebra/hbzebra.hbp
    * set -Wno-error=array-bounds C compiler parameter for GCC builds
      when HB_BUILD_TEST='strict'
2025-01-21 06:45:38 +01:00
Przemysław Czerpak
9b70addc1e 2025-01-20 01:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/hbcurl.hbx
    ! added missing new functions: curl_easy_er_buff_get() and curl_multi_*()
2025-01-20 01:00:27 +01:00
Przemysław Czerpak
c748a5a08d 2025-01-19 19:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
    * set OPENSSL_API_COMPAT to 10100 instead of 10100 to reduce conflicts
      with OPENSSL_CONFIGURED_API
2025-01-19 19:38:34 +01:00
Przemysław Czerpak
a40aa4baf0 2025-01-19 02:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
  * contrib/hbssl/rsa.c
    * renamed hb_RSA_par_free() to hb_RSA_par_remove()

  * contrib/hbssl/evppkey.c
    * few code clenups

  * contrib/hbssl/x509.c
    ! use GC pointer items instead of raw ones
2025-01-19 02:08:01 +01:00
Przemysław Czerpak
fe96da68f6 2025-01-18 09:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/evp.c
    * clear key and iv buffers before passing them to EVP_BytesToKey()
      otherwise some uninitialized bytes are accessed and valgrind reports
      uninitialized memory access

  * contrib/hbssl/evpciph.c
    ! fixed typo in index in my previous commit

  * contrib/hbssl/tests/digest.prg
    ! use OPENSSL_VERSION_NUMBER() instead OPENSSL_VERSION() to retrieve
      OpenSSL version number

  * contrib/hbssl/tests/inetssl.prg
    * updated to use 2048 RSA certificates instead of 1024 ones which are
      no more supported by modern OpenSSL libraries

  * contrib/hbssl/tests/pem.prg
    * cleaned output
2025-01-18 09:33:49 +01:00
Przemysław Czerpak
b462e89e90 2025-01-18 04:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
    ! added missing BIO_free() call in HB_BIO destructor
    ! fixed BIO_free() function to properly operate on HB_BIO structure

  * contrib/hbssl/evpciph.c
    ! accept EVP_KEY Harbour pointer items in EVP_SealInit()

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/rsa.c
  * contrib/hbssl/evppkey.c
    ! accept EVP_KEY Harbour pointer items in EVP_PKEY_assign_RSA()

  ; above are only few fixes for chosen problems and still there are many others
  ; most of HBSSL code should be rewritten to work with OpenSSL 3.0 API
2025-01-18 04:58:36 +01:00
DIEGO H FAZIO
b1ed85024c 2025-01-16 01:00 UTC+0100 Fazio Diego (diegohfazio gmail.com)
* contrib/hbcurl/hbcurl.ch
    + added HB_CURLOPT_ER_BUFF_SETUP
      curl_easy_setopt( curl, HB_CURLOPT_ER_BUFF_SETUP ) <- Initialize ERRORBUFFER
  * contrib/hbcurl/core.c
    + added PRG functions:
      read error from ERRORBUFFER
      see https://curl.se/libcurl/c/CURLOPT_ERRORBUFFER.html
      curl_easy_er_buff_get( curl ) -> cErrorBuffer
2025-01-17 12:19:53 +01:00
Aleksander Czajczynski
c2870ac7d8 2025-01-07 22:49 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/hbcurl.ch
    * updated HB_CURLOPT_SSL_OPTIONS: HB_CURLSSLOPT_*

    + added HB_CURLMSG_RESP_HANDLE, HB_CURLMSG_RESP_HPOS
      mappings of array elements returned by
      curl_multi_info_read( <hMulti>[, <aHandles> ]) -> <aResults>

  * contrib/hbcurl/core.c
    * adapted @emazv72 contribution from:
      https://github.com/vszakats/hb/pull/344
      Many thanks, it could be useful for managing multiple transfers,
      by extending some kind of Inkey() loop or in many other
      scenarios.

    + added curl lib version guards

    * minor code and code formattings

    + extended function
      curl_multi_info_read( <hMulti>[, <aHandles> ]) -> <aResults>
      with a possibility to return real GC pointer of specific
      transfer related to reported event. <aHandles> should be
      specified if this is expected.

  + contrib/hbcurl/tests/multi.prg
    + demo of the additions
2025-01-07 22:49:07 +01:00
Emanuele Zavallone
60663791e1 2025-01-07 21:43 UTC+0100 Emanuele Zavallone (emanuele.zavallone gmail.com)
* contrib/hbcurl/easy.c
  * contrib/hbcurl/hbcurl.ch
    + added multi interface implementation
2025-01-07 22:47:43 +01:00
Aleksander Czajczynski
ce1bc20399 2024-12-19 10:24 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/rddsql/sqlbase.c
    % cleanup unnecessary braces

  * ChangeLog.txt
    + missing entry from pull request #364
2024-12-19 10:25:11 +01:00
Eric Lendvai
076589f03a On branch rddsql_add_timestamp_support
Changes to be committed:
modified:   ChangeLog.txt
modified:   contrib/rddsql/sqlbase.c
modified:   contrib/rddsql/sqlmix.c

+ added support to timestamp field type.
  You can now use "@" in DbCreate as the timestamp field type.
  Thanks to Grigory Filatov for fixing crash!
2024-12-18 21:55:59 -08:00
Przemysław Czerpak
79c4f25b39 2024-12-17 03:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
    ! fixed dependency macros - hbmk2 defines HB_HAS_* only for optional packages
2024-12-17 03:07:16 +01:00
Przemysław Czerpak
9a23266d74 2024-12-17 01:09 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
    ! fixed dependency macros

  * contrib/gtqtc/hbmk2_qtgt.hb
    * set QT_SELECT envvar for systems which supports different QT versions

  * utils/hbmk2/hbmk2.prg
    + added "dept" => hbmk[ _HBMK_hDEPTMACRO ] to hbmk hash table passed to
      hbmk2 plugins
2024-12-17 01:09:40 +01:00
Przemysław Czerpak
9b389a97d2 2024-12-15 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
  * contrib/gtqtc/gtqtc1.cpp
    * updated to compile with Qt6
2024-12-15 20:54:23 +01:00
Przemysław Czerpak
733cf0e675 2024-12-12 21:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/hbzebra/datamtrx.c
  * contrib/sddoci/core.c
  * src/compiler/genc.c
    ! reverted my unintentional commit from dummy branch
2024-12-12 21:18:01 +01:00
Przemysław Czerpak
0ef2032e51 Reapply "2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)"
This reverts commit af7b3d23ba.
2024-12-12 20:51:11 +01:00
Przemysław Czerpak
af7b3d23ba Revert "2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)"
This reverts commit 72d0775509.
2024-12-12 20:51:02 +01:00
Przemysław Czerpak
72d0775509 2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
    ! fixed HSetAACompatibility() #xtranslate

  * contrib/hbzebra/code39.c
    * pacified warning, it's also fix for possible buffer overflow.

  * include/hbcomp.h
  * src/compiler/genc.c
  * src/compiler/hbmain.c
    * replaced function hb_compFunctionMarkStatic() with
      hb_compFunctionSetScope()

  * src/compiler/genc.c
    * detect public prg functions written in C inside
      #pragma BEGINDUMP / #pragma ENDDUMP and mark them as LOCAL ones

  * src/vm/hvm.c
    ! removed my pseudo fix from 2023-01-30 15:18 UTC+0100 Przemyslaw Czerpak.
      It was ugly hack which can work only with some linkers.
      This modification fixes FILE() function used with C functions written
      without own symbol table

  * src/rdd/dbf1.c
    * minor code formatting
2024-12-12 20:46:23 +01:00
Przemysław Czerpak
683b4763bd 2024-12-11 19:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
    ! fixed HSetAACompatibility() #xtranslate

  * contrib/hbzebra/code39.c
    * pacified warning, it's also fix for possible buffer overflow.

  * include/hbcomp.h
  * src/compiler/genc.c
  * src/compiler/hbmain.c
    * replaced function hb_compFunctionMarkStatic() with
      hb_compFunctionSetScope()

  * src/compiler/genc.c
    * detect public prg functions written in C inside
      #pragma BEGINDUMP / #pragma ENDDUMP and mark them as LOCAL ones

  * src/vm/hvm.c
    ! removed my pseudo fix from 2023-01-30 15:18 UTC+0100 Przemyslaw Czerpak.
      It was ugly hack which can work only with some linkers.
      This modification fixes FILE() function used with C functions written
      without own symbol table

  * src/rdd/dbf1.c
    * minor code formatting
2024-12-11 19:35:25 +01:00
Grigory Filatov
40e7736289 2024-10-25 14:09 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbziparc/ziparc.prg
    ! return value of hb_zipDeleteFile() is not logical,
      fix by Grigory Filatov.
2024-10-25 14:10:22 +02:00
Aleksander Czajczynski
1044334a0d 2024-09-14 21:26 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* tests/speedtst.prg
    ! fix recursion bug i've made

  * 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 2024
2024-09-14 21:26:30 +02:00
Aleksander Czajczynski
26849d3292 2024-09-14 18:36 UTC+0200 Aleksander Czajczynski (hb fki.pl)
+ config/win/msvcarm.mk
  + config/win/msvcarm64.mk
  * config/global.mk
  * include/hbsetup.h
  * utils/hbmk2/hbmk2.prg
    + introduced support for Windows (10,11) ARM 64-bit platform
      native compilers using Visual Studio 2022 Build Tools

      before calling win-make, setup environment with:
      <InstallPath>\BuildTools\VC\Auxiliary\Build\vcvarsarm64.bat

      toolchain should be autodetected as following:
      ! HB_HOST_PLAT: win (arm64)  HB_SHELL: nt
      ! HB_PLATFORM: win (arm64) (auto-detected)
      ! HB_COMPILER: msvcarm64 (auto-detected: C:/Program[...]/ARM64/)

      to build final application with hbmk2 adding a valid Windows
      Platform SDK / CRT paths to INCLUDE= and/or LIB= variable
      is needed

    ; cross compilation from AMD64 hosts is possible:
      vcvars64.bat
      win-make (build Harbour for your host first)
      set HB_HOST_BIN=<HarbourPath>\bin\win\msvc64
      vcvarsamd64_arm64.bat
      win-make

    + also added support for Windows for ARM 32-bit

      before calling win-make, setup environment using:
      <InstallPath>\BuildTools\VC\Auxiliary\Build\vcvarsarm.bat
      or when cross compiling from ARM64 host:
      <InstallPath>\BuildTools\VC\Auxiliary\Build\vcvarsarm64_arm.bat

    ; please test Windows CE builds if you're using compiler newer
      than VC2003 for ARM for possible regressions

  * contrib/hbmlzo/3rd/minilzo/lzodefs.h
    ! recognize ARM64 architecture on Windows to fix build error

    ; consider updating to upstream minilzo 2.10, issue is fixed there

  * src/common/hbver.c
    * changed to add processor architecture for MSVC compiler string
      on non-Intel systems, as exposed by hb_compiler(), harbour /build,
      finalapp.exe //build

  * tests/speedtst.prg
    * workaround that processor architecture can now appear
      in hb_compiler(), so it's not printed by speed test twice
2024-09-14 18:35:40 +02:00
Przemysław Czerpak
368508e403 2024-08-17 17:37 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberror.c
    % cleaned code] to overload ERRORNEW() with XHB_ERRORNEW()

  * src/rtl/fscopy.c
    % removed unnecessary code

  * src/rtl/vfile.c
    ! fixed typo in comment

  * src/vm/dynsym.c
    + allow to use symbol items as parameter in functions:
      hb_IsFunction(), __dynsGetIndex(), __dynsIsFun()
2024-08-17 17:37:12 +02:00
Przemysław Czerpak
96c050bafd 2024-07-22 13:37 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberror.c
    ! fixed very bad bug introduced in this modification:
         2023-01-31 23:19 UTC+0100 Przemyslaw Czerpak
      It corrupted dynamic symbol table due to stupid mistake.
      I overloaded whole function symbol instead of its address only.
      Many thanks to Juan Gálvez who found the problem.

  * include/hbdefs.h
    ! fixed INT64_MIN definition

  * src/vm/dynsym.c
    * minor change in function order

  * src/vm/memvars.c
    + allow to use symbol items in the following functions:
      __mvScope(), __mvExist(), __mvGet(), __mvGetDef(), __mvPut()
2024-07-22 13:37:46 +02:00
Aleksander Czajczynski
217d50769f 2024-05-31 11:49 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/rddmisc/arrayrdd.prg
    ! group of fixes contributed in #355 by @VarenL:
      IndexOrd() didn't work, DbZap() didn't update indexes, problem
      with larger number of indexes, erroneous AR_GOBOTTOM function.

  + doc/en/rdddb.txt
    + readded a 2017 copy

  * contrib/hbamf/amfstdio.c
    * flow-control is now optional, but still enabled by default

    ! fix missing free when exiting the loop

  * contrib/hbpgsql/rddcopy.c
    ! fix c&p bug/typo in HB_PQCOPYFROMWA, corrected handling field list
      passed in <aFiledNames> parameter

      <lResult> := HB_PQCOPYFROMWA( <pConn>, <cTargetTable>, [<bWhileBlock>],
                                   [<bForBlock>], [<aFieldNames>], [<nCount>],
                                   [<lTrimStrings>], [<nPreBuffer>] )
2024-05-31 11:49:16 +02:00
Przemysław Czerpak
a5ad762cb0 2024-03-07 13:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbp
    ! do not detect QT5 when HB_BUILD_3RDEXT=no is set

  * debian/rules
    * removed LD_LIBRARY_PATH setting

  * src/rdd/dbcmd.c
  * src/rdd/wacore.c
    ! moved code checking WA number from DbSelectArea() PRG function
      to hb_rddSelectWorkAreaNumber() C function. It fixes few things
      like:
         DbSelectArea( 0 )
      and also:
         ? ( 0 )->( select() )
2024-03-07 13:41:15 +01:00
Przemysław Czerpak
050666d2d9 2024-02-16 18:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbexpat/3rd/expat/expat.diff
  * contrib/hbexpat/3rd/expat/loadlibr.c
    ! use HB_WINAPI_GETPROCADDRESS() instead of GetProcAddress()
      in WinCE builds

  * contrib/hbhpdf/3rd/libhpdf/hpdfstre.c
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.diff
    ! include <windows.h> in WinCE builds, it's necessary for GetLastError()

  * src/3rd/jpeg/Makefile
    ! do not use getenv() in all WinCE builds

  * src/common/hbver.c
    * cast revision number to HB_ULONG to pacify warning

  * src/vm/extrap.c
    ! do not compile unused in WinCE builds hb_winExceptionHandler()

  * include/hbapi.h
    * added HB_EXPORT attribute to hb_macroTextValue() function

  * include/hbvm.h
  * src/vm/hvm.c
    + added C function:
         PHB_ITEM hb_vmCompileMacro( const char * szExpr, PHB_ITEM pDest );
      It returns Harbour item or NULL at error (wrong macro text).
      The result should be used with hb_vmEvalBlockOrMacro() and then freed
      by hb_vmDestroyBlockOrMacro(). It hides low level macro representation
      so we can change it in the future. Now it's still simple pointer item
      without autodestructor.

  * src/rdd/hsx/hsx.c
  * src/rdd/workarea.c
    * use hb_vmCompileMacro() instead of hb_macroCompile()

  * src/vm/runner.c
    * changed 6101 error message for "Unknown or unregistered symbol"
      to "Unknown or unregistered function symbol".
    * report above error when HRB module is loaded and its external function
      is not registered or not marked as DYNAMIC by earlier registered modules
      in HVM symbol table.
      Warning. This modification may exploit problems in code loading HRB files
      with cross references which has worked so far. In such case user should
      pass to hb_hrbLoad()/hb_hrbRun() as first parameters flags containing
      HB_HRB_BIND_LAZY or declare the problematic function in his main code
      as dynamic, i.e.:
         DYNAMIC <funcName>

  * src/rdd/dbf1.c
    * declare internal function hb_dbfTransCheckCounters() as static one

  * src/harbour.def
    ! added missing exported Harbour functions
2024-02-16 18:23:21 +01:00
Przemysław Czerpak
936bef24d0 2024-02-13 05:49 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* debian/compat
    * set 10 as compatibility level

  * contrib/3rd/sqlite3/sqlite3.c
  * contrib/3rd/sqlite3/sqlite3.diff
    * do not use noinline function attribute in GCC prior 3.1

  * contrib/xhb/xhberror.c
  * src/rtl/gtdos/gtdos.c
    ! fixed format specifiers in HB_TRACE() messages

  * src/common/expropt1.c
  * src/rtl/langapi.c
    * pass explicitly "(null)" string instead of NULL string pointer
      to HB_TRACE() messages, some C compilers can autoinline functions
      and generate warning detecting such situation

  * src/pp/hbpp.c
    * cast revision number to ( HB_ULONG ) to avoid warnings in some
      compilers which do not understand %I64u format specifier

  * utils/hbmk2/hbmk2.prg
    * preffer HB_WITH_* settings then platform native pkg-config,
      giving pkg-config precedence breaks cross and custom builds
2024-02-13 05:49:59 +01:00
Przemysław Czerpak
455484766f 2024-02-10 11:27 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! fixed bad copy & past typo
2024-02-10 11:27:58 +01:00
Przemysław Czerpak
7eec5d2672 2024-02-09 20:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
  * contrib/hbcurl/hbcurl.ch
    + added HB_CURLOPT_XFERINFODATA and HB_CURLOPT_XFERINFOFUNCTION
    ! use CURLOPT_XFERINFO* instead of depreciated CURLOPT_PROGRESS*
      to implement HB_CURLOPT_PROGRESSBLOCK
    ! do not use depreciated CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET,
      they serve no purpose anymore
    + added macros for new protocols
    + added HB_CURLOPT_PROTOCOLS_STR and HB_CURLOPT_REDIR_PROTOCOLS_STR
    ! use CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR instead
      of depreciated CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS
    * emulate CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS using
      CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR in new curl
      versions
    + added support for HB_CURLOPT_MIMEPOST
    ! use CURLOPT_MIMEPOST to emulate depreciated in new curl versions
      CURLOPT_HTTPPOST
    + added support for HB_CURLOPT_PROXY_SERVICE_NAME
    ! use CURLOPT_PROXY_SERVICE_NAME to emulate depreciated in new curl
      versions CURLOPT_SOCKS5_GSSAPI_SERVICE
    + added HB_CURLINFO_ACTIVESOCKET
    ! use CURLINFO_ACTIVESOCKET instead of depreciated CURLINFO_LASTSOCKET
    + added HB_CURLINFO_SIZE_UPLOAD_T, HB_CURLINFO_SIZE_DOWNLOAD_T,
      HB_CURLINFO_SPEED_DOWNLOAD_T, HB_CURLINFO_SPEED_UPLOAD_T,
      HB_CURLINFO_CONTENT_LENGTH_DOWNLOAD_T and
      HB_CURLINFO_CONTENT_LENGTH_UPLOAD_T
    ! use CURLINFO_*_T actions instead of depreciated ones which operate
      double as file offset and emulate old actions using new ones in
      new curl versions

  * contrib/hbssl/evp.c
    ! Do no use EVP_cleanup() in OpenSSL 1.1.0 and newer.
      It no longer has any effect.

  * contrib/hbssl/hbssl.h
    * set OPENSSL_API_COMPAT to 1.2.0 to pacify OpenSSL 3.0 API.
      It hides OpenSSL 3.0 warnings but we should update the code to use
      new suggested API.

  * contrib/hbwin/olecore.c
    ! invoke assign methods with DISPATCH_PROPERTYPUTREF instead of
      DISPATCH_PROPERTYPUT if assigned value is OLE object. If such
      functionality is not implemented by the object (some OLE
      implementations do not support it and returns DISP_E_MEMBERNOTFOUND)
      then call it again but in previous form with DISPATCH_PROPERTYPUT

  * include/hbapirdd.h
  * src/rdd/dbcmd.c
    ! fixed error codes set by DbSetRelations() to be Cl*pper compatible

  * src/rdd/dbcmd.c
    + accept symbol items in Select() and DbSelectArea() just like in
      ( <alias> ) -> <exp>

  * include/hbcompdf.h
  * include/hbexprb.c
  * src/common/funcid.c
    + added compile time optimization for Select() function without parameters
    + added compile time optimization DbSelectArea( <nNum> | <sSym> )
    + added support for hb_PIsByRef( @localVarName ) -> <lPassedByRef>
      When the parameter is passed by reference Harbour verifies if it's
      existing local variable and change it to its index in parameter list
      so effectively it works like hb_IsByRef( @localVarName ) in xHarbour

  * contrib/xhb/hbcompat.ch
    + added translations for
      hb_PIsByRef( @<localVar> ) <=> hb_IsByRef( @<localVar> )
2024-02-09 20:56:36 +01:00
Przemysław Czerpak
ae62f2effe 2024-01-28 12:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbfimage/core.c
    * use FreeImage_Rotate() instead of FreeImage_RotateClassic() in new
      FreeImage versions which do not support this function

  * contrib/hbsqlit3/core.c
    * added missing casting reported as bug in C++ mode

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/rsa.c
    * added HB_SSL_CONST_BYTE() macro to pacify unconst warnings
      in old SSL versions

  * src/rdd/wacore.c
    * inlined macro to pacify still returning false warning
2024-01-28 12:50:51 +01:00
Phil Krylov
8405632197 2023-12-08 23:17 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/sddsqlt3/core.c
    ! Fixed a different signedness compare warning.
2023-12-08 23:39:21 +01:00
Phil Krylov
145cc37838 2023-12-07 21:25 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/3rd/sqlite3/*
    * Updated local sqlite3 from 3.8.2 to 3.44.2.
2023-12-08 23:39:21 +01:00
Phil Krylov
535f337971 2023-12-07 21:24 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/hbsqlit3/hbsqlit3.ch
    * Updated SQLite constants to version 3.44.2.
    % Reordered hbsqlit3.ch to simplify diffing from sqlite.h.
  * contrib/hbsqlit3/core.c
    + SQLITE3_CREATE_FUNCTION(): Added support for function flags.
2023-12-08 23:39:21 +01:00
Viktor Szakats
19452d2132 2023-12-07 21:23 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/hbsqlit3/core.c
  * contrib/hbsqlit3/hbsqlit3.ch
    % Minor updates to hbsqlit3, borrowed from @vszakats's fork.
  ; parts of original commits:
  ; * ca9f75850c
  ;   2015-05-13 21:07 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  ; * 949e77ae69
  ;   2015-07-15 20:26 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  ; * dae1a86985
  ;   2017-08-14 18:59 UTC Viktor Szakats (vszakats users.noreply.github.com)
2023-12-08 23:39:21 +01:00
Viktor Szakats
38f5ec7738 2023-12-07 21:21 UTC+0100 Phil Krylov (phil a t krylov.eu)
; merged:
  2015-04-09 11:34 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    * contrib/hbsqlit3/core.c
    * contrib/hbsqlit3/hbsqlit3.hbx
      + add sqlite3_status64()
      % adjust variable scopes
      ! fix to reset reference parameters in functions with
        functionality disabled
    ; origin: 5bcaa24c93

  2015-09-02 19:11 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    * contrib/hbsqlit3/core.c
      % use hb_fileLoad()
    ; Commit split from:
    ; origin: 8f534aaa77

  2017-08-01 20:23 UTC Viktor Szakats (vszakats users.noreply.github.com)
    * contrib/hbsqlit3/core.c
    * contrib/sddsqlt3/core.c
      * use new sqlite3_prepare_v3() when built against
        sqlite 3.20.0 or upper.
    * contrib/hbsqlit3/core.c
      + SQLITE3_PREPARE() add 3rd parameter <nPrepFlags>
        Usable if build against sqlite 3.20.0 or upper, ignored otherwise
    * contrib/hbsqlit3/hbsqlit3.ch
      + add SQLITE3_PREPARE_PERSISTENT constant
    ; origin: b33de96c81
2023-12-08 23:39:21 +01:00
Phil Krylov
e8de2ab8cc 2023-11-16 18:12 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/hbsqlit3/core.c
  * contrib/hbsqlit3/hbsqlit3.ch
  * contrib/hbsqlit3/hbsqlit3.hbx
    * Implemented SQLITE3_DB_FILENAME() on SQLite 3.7.10+.
    * Implemented SQLITE3_EXPANDED_SQL(), SQLITE3_TRACE_V2() on SQLite 3.14.0+.
    ; Thanks to Mindaugas Kavaliauskas for thorough reviewing!
  * contrib/hbsqlit3/tests/backup.prg
  * contrib/hbsqlit3/tests/demo.prg
    * Updated examples to use SQLITE3_TRACE_V2() on SQLite 3.14.0+.
2023-11-30 19:21:20 +01:00
Przemysław Czerpak
74322e702c 2023-11-22 09:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.hbm
  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/hbssl.h
  + contrib/hbssl/rsa.c
    + added PRG functions for RSA encryption/decryption:
         RSA_size( <pKey> ) -> <nCipherBlockSize>
         RSA_public_encrypt( <pKey>, <cData>, @<cDataEnc> ;
                              [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ;
                  -> <nSize> > 0 | <nError> <= 0
         RSA_private_decrypt( <pKey>, <cDataEnc>, @<cDataDec> ;
                              [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ;
                  -> <nSize> > 0 | <nError> <= 0
         RSA_private_encrypt( <pKey>, <cData>, @<cDataEnc> ;
                              [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ;
                  -> <nSize> > 0 | <nError> <= 0
         RSA_public_decrypt( <pKey>, <cDataEnc>, @<cDataDec> ;
                              [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ;
                  -> <nSize> > 0 | <nError> <= 0
    + added C functions for manipulating RSA keys inside HB_ITEMs:
         HB_BOOL hb_RSA_is( int iParam );
         RSA *   hb_RSA_par( int iParam );
         void    hb_RSA_ret( RSA * rsa );

  * contrib/hbssl/pem.c
    + added support for RSA keys.
      Now the following PRG functions return RSA key which can be passed to
      RSA_* functions:
         PEM_READ_BIO_RSAPRIVATEKEY()
         PEM_READ_BIO_RSAPUBLICKEY()
         PEM_READ_BIO_RSA_PUBKEY()

  * contrib/hbssl/evppkey.c
    + added functions for EVP_PKEY encryption/decryption:
         EVP_PKEY_base_id( <pKey> ) -> <nType>
         EVP_PKEY_CTX_new( <pKey> ) -> <pKeyCTX>
         EVP_PKEY_encrypt_init( <pKeyCTX> ) -> <nResult> (1 - OK, <=0 - Error)
         EVP_PKEY_encrypt( <pKeyCTX>, @<cDataEnc>, <cData> ) ;
                  -> <nSize> > 0 | <nError> <= 0
         EVP_PKEY_decrypt_init( <pKeyCTX> ) -> <nResult> (1 - OK, <=0 - Error)
         EVP_PKEY_decrypt( <pKeyCTX>, @<cDataDec>, <cDataEnc> ) ;
                  -> <nSize> > 0 | <nError> <= 0
      Above functions can be used with keys loaded by:
         PEM_READ_PRIVATEKEY()
         PEM_READ_PUBKEY()
      In OpenSSL 3.0 typed functions like *RSA*, *DSA*, *DH*, ... are
      depreciated and common for different methods EVP ones should be
      used instead.
    + added support for RSA encryption/decryption in above functions in
      OpenSSL libraries prior 1.0.0 which do not have EVP_PKEY_CTX. RSA
      support is emulated by direct calls to RSA_* functions so now for
      RSA it's possible to use new functions with old OpenSSL libraries.

  * contrib/hbssl/hbssl.ch
    + added constants for RSA padding: HB_RSA_*_PADDING
    + added constants for EVP PKEY types: HB_EVP_PKEY_*

  * contrib/hbssl/hbssl.hbx
    + added new functions
2023-11-22 09:06:29 +01:00
Phil Krylov
0000838d13 2023-11-15 15:57 UTC+0100 Phil Krylov (phil a t krylov.eu) (#342)
* contrib/hbsqlit3/tests/backup.prg
    + Simple change in test to provoke access to dangling pointer saved
      by SQLITE3_TRACE().
  * contrib/hbsqlit3/core.c
    ! Fixed dangling pointer access with SQLITE3_TRACE(), SQLITE3_PROFILE().
2023-11-16 18:18:41 +01:00
Przemysław Czerpak
6bbb31e540 2023-11-13 23:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctwin.c
    ! typo in comment

  * include/hbexprb.c
  * include/hbexprop.h
  * src/common/expropt2.c
  * src/harbour.def
    * moved code for reducing NOT expression to new separate function
      hb_compExprReduceNot()
    ; added comments to mark places for possible compiletime warnings when
      incompatible types are used inside in logical expressions
      (.AND. / .OR. / .NOT.)
2023-11-13 23:58:30 +01:00
Phil Krylov
9e989d3c52 2023-11-11 21:41 UTC+0100 Phil Krylov (phil a t krylov.eu) (#335)
2023-11-11 21:41 UTC+0100 Phil Krylov (phil a t krylov.eu)
* contrib/hbwin/win_bmp.c
    ! Fixed dangling pointer access (introduced in commit 64dba82) in
      WIN_DRAWBITMAP().
2023-11-11 21:46:45 +01:00
Phil Krylov
821d53ebb2 2023-11-11 19:42 UTC+0100 Phil Krylov (phil a t krylov.eu) (#334)
2023-11-11 19:42 UTC+0100 Phil Krylov (phil a t krylov.eu)
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbwin/wapi_winuser_dlg.c
    ! Minor 64-bit Win32 API fixes.
2023-11-11 20:23:30 +01:00
Przemysław Czerpak
ae266a6222 2023-11-11 13:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
    ! synced declaration of QTConsole::repaintChars() with its implementation
2023-11-11 13:59:15 +01:00
Przemysław Czerpak
41bf0e17f4 2023-11-11 13:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
    * use QT_VERSION >= 0x050000 instead of QT_VERSION <= 0x040900
    * indenting
2023-11-11 13:43:23 +01:00
Enrico Maria Giordano
a57a6c8d3e contrib/hbssl: Support for OpenSSL 3 (#329)
2023-10-29 14:27 UTC+0100 Enrico Maria Giordano (e.m.giordano@emagsoftware.it)
   * contrib/hbssl/hbssl.hbp
     ! added support for Openssl 3
2023-11-04 16:38:29 +01: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