Commit Graph

19850 Commits

Author SHA1 Message Date
Kamil Przybylski
9fe5df8f5c 2025-01-09 12:00 UTC+0100 Kamil Przybylski (kprzybylski quay.pl)
* src/rtl/listbox.prg
    ! fixed nTop not being incremented in ListBox:hitTest() for no-box dropdown
    * replaced inconsistent references to ::nTop with nTop
    * renamed variables to better reflect their role
2025-01-09 12:00:03 +01:00
Kamil Przybylski
2b6acca9ca 2025-01-08 13:14 UTC+0100 Kamil Przybylski (kprzybylski quay.pl)
* src/rtl/listbox.prg
    ! fixed nTop variable not being assigned properly in ListBox:hitTest()
2025-01-08 13:14:11 +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
cb9888c76d 2025-01-07 12:24 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/common/hbver.c
    * indent cleanup

  * src/rtl/filesys.c
  * src/rtl/fssize.c
    ! restore dynamic calling of GetFileAttributesEx() on
      Windows (significant only on very old systems)
2025-01-07 12:24:59 +01:00
Aleksander Czajczynski
21ea321f0a 2025-01-02 14:33 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* config/global.mk
  * config/win/clang-noauto.mk
  * config/win/clang.mk
    * supplemented config for Windows clang cross compilers
      distributed in multilib fashion, like Martin Storsjo's:
      https://github.com/mstorsjo/llvm-mingw

    + HB_CCPREFIX= support for clang on Windows, you can build
      ARM64 Harbour from AMD64 hosts using mentioned toolchain:
      set PATH=C:\llvm-mingw\bin;%PATH%
      set HB_COMPILER=clang
      win-make (build for your host first)
      set HB_CCPREFIX=aarch64-w64-mingw32-
      set HB_HOST_BIN=<HarbourPath>\bin\win\clang\ (if not autodetected)
      win-make

    ; cross compiling from Unix hosts is not yet tested, but
      looks very close to be possible

    ! fixed typo's

  * utils/hbmk2/hbmk2.prg
    * changed llvm-ar call to also respect HB_CCPREFIX
2025-01-02 14:32:10 +01:00
Aleksander Czajczynski
a23ea4904f 2024-12-29 00:28 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/rtl/hbproces.c
    ! in process creating functions like hb_processRun(), *Open(),
      on Android: don't use setuid( getuid() ) method for resetting
      attributes as it rises "Bad system call" and the process is not
      executed. This fixes building Harbour in hbmk2 stage on Android
      device itself (for example using Termux) and can fix deploying
      multi-process Android apps. For devices older than Android 8,
      where the kernel was not hardened, please report any regresions,
      if you have such multi-process deployments.

  * ChangeLog.txt
    % stripped spaces before EOLs
2024-12-29 00:27:36 +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
FiveTech Software
1e0c5c64c6 Merge pull request #367 from EricLendvai/rddsql_add_timestamp_support
On branch rddsql_add_timestamp_support
2024-12-19 07:05:43 +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
1b57427dff 2024-12-13 09:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/harbour.y
  * src/macro/macro.y
    * replaced depreciated bison macro %pure-parser with %define api.pure

  * src/compiler/complex.c
  * src/macro/macrolex.c
  * src/compiler/harbour.y
  * src/macro/macro.y
    * replaced depreciated bison macro %name-prefix with %define api.prefix

  ; Warning: now Bison 2.6 or newer is required to regenerate Harbour grammar
             files. If someone wants/needs to work with older bison versions
             then it's enough to restore depreciated macros, Harbour compiler
             and macros lexers will work with both versions.

  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
  * src/macro/macro.yyc
  * src/macro/macro.yyh
    * regenerated with Bison 3.02 (the same as before)
    * re-added HB_SYMBOL_UNUSED( yynerrs ) to pacify some compilers warnings
2024-12-13 09:06:17 +01:00
Przemysław Czerpak
68af17b1c4 2024-12-12 21:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/genc.c
    ! fixed detection of C function written in C inside
      #pragma BEGINDUMP / #pragma ENDDUMP
2024-12-12 21:30:39 +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
FiveTech Software
30204959c2 Merge pull request #364 from Hazaels/patch-2
Update hbmk2.prg
2024-12-08 07:40:05 +01:00
Mario Wan Stadnik
a9a57985c3 Update hbmk2.prg
Missing feature, can't find windres.exe for MingW64 14.2.0 
With this mod it will find it automatically otherwise it will give the resource not find error because it will look for i686-w64-mingw32-windres.exe instead of windres.exe.
2024-12-07 20:32:29 -03:00
Aleksander Czajczynski
b547517db1 2024-12-04 15:25 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/common/hbver.c
    ! added lacking VER_BUILDNUMBER definition that is missing
      in very old compiler sets/SDKs (pre Windows 2000),
      noticed by DF7BE - Wilfried Brunken in #362

  * README.md
    * slightly updated list of supported compilers and
      examples to mention MSVC for ARM64 and Clang

  * ChangeLog.txt
    * hb_scan -> hb_hscan in prev
2024-12-04 15:25:32 +01:00
FiveTech Software
93d6749d85 Merge pull request #363 from lailton/main
Fixed issue HB_SCAN for LOGICAL value
2024-12-03 07:57:34 +01:00
Lailton
ccbf3a75ba 2024-12-03 01:27 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* src/vm/hashfunc.c
    ! fixed issue hb_scan when we are looking for a logical value as true.
      Many thanks to Marcos Gambeta who found the problem.
2024-12-03 01:35:51 -03:00
mdlugosz65
4ae51516c2 2024-10-28 16:57 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/rdd/dbf1.c
    ! reading varchar binary field ("Q:B") from a .dbf
      could free a wrong pointer in the record buffer.
      Bug located and fixed by Marek.
2024-10-28 16:57:47 +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
a8693f92df 2024-10-18 07:56 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* src/common/hbver.c
    * guard Win10 build number getter from the unknown,
      using old Win32 API that is not going to be deprecated.
2024-10-18 07:57:08 +02:00
Aleksander Czajczynski
c88029eee9 2024-10-17 15:04 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* .github/workflows/windows-ci.yml
    * update windows MSYS2 integration runner set of
      requested packages. PGSQL, Firebird and MariaDB libs
      are no longer available in the 32-bit environment

    + add clang x86_64 compiler for testing under this CI

  * include/harbour.hbx
  * include/hbapi.h
  * src/common/hbver.c
  * src/harbour.def
  * src/rtl/version.c
    ! fixed Windows 11 detection, by vendor likings it has
      NT Kernel Version stamped with 10.0, so now Build Number
      is more significant as a recognition factor.

    + new C helper functions hb_winisbuild(), hb_iswin11()

    + added PRG function hb_osIsWin11()

    * also try to detect new Windows Server versions

  * config/win/clang.mk
  * utils/hbmk2/hbmk2.prg
  * ChangeLog.txt
    ! recursion happening in the Makefiles rendered recently
      introduced compatibility option unreliable. Changed to
      use separate variable: HB_USER_FIXES=--mingw-script
      You don't need it, the problem shouldn't exist, but
      anyway...
2024-10-17 15:04:53 +02:00
Aleksander Czajczynski
60a10666f4 2024-10-10 14:21 UTC+0200 Aleksander Czajczynski (hb fki.pl)
+ config/win/clang-noauto.mk
    + additional clang flavour checking when the compiler is specified
      via set HB_COMPILER=clang (not auto-detected)

      This is important for distributions of clang that bundle both
      gcc and clang in the same directory. Harbour 3.2 by default
      prioritize gcc over clang.

      For example you should be now able to build from winlibs.com by
      Brecht Sanders with environment setup such as:
      PATH=C:\winlibs\mingw64\bin;%PATH%
      HB_COMPILER=clang
      win-make

  * config/global.mk
    ! added workaround for common GNU Make issue with
      $(dir path with spaces/file) macro, commonly striking on Windows
      systems under "Program Files", but also possible in other setups.
      Workaround is to call $(call dir_with_spaces,$(HB_COMP_PATH)).
      I have only used this workaround in clang detection, but keep
      this in mind while revisiting detection of another compiler.

  * config/win/clang.mk
  * utils/hbmk2/hbmk2.prg
    * another rework of Clang on Windows detection (ARM64, x86_64, x86),
      solved problems with different availability of resource compiler,
      They are now probed in order: windres, llvm-windres, llvm-rc.

    * added option to use MinGW INPUT(file.o) link scripts for old tools
      To apply workaround with clang, set HB_USER_DFLAGS=--mingw-script
      It is not supported in at least some of current clang toolchains,
      but it's still needed to succesfully build on old ones (those
      using GNU ld on Windows).
2024-10-10 14:21:17 +02:00
Aleksander Czajczynski
77d37481be 2024-10-07 11:40 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* config/global.mk
    ! detect ARM64 CPU on Windows also under non-native shell (MSYS2 sh)

    * on unix also recognize aarch64 from uname

  * include/hbsetup.h
    * __MINGW64__ define is not x86_64 specific anymore

  * config/win/clang.mk
  * utils/hbmk2/hbmk2.prg
    * reworked Clang on Windows detection (ARM64, x86_64, x86),
      now it recognizes those flavours in PATH as distributed
      by MSYS2 project and also Visual Studio 2022 Build tools.

      Starting Harbour build process should be now possible
      both from MSYS2 shell (with the special note to use "make"
      command instead of "win-make" from sh) and regular batch
      script/cmd shell.

      Building on Clang distributed by MS x86_64:
      PATH=<InstallPath>\BuildTools\VC\Tools\Llvm\x64\bin;%PATH%
      win-make

      Clang/MS ARM64:
      PATH=<InstallPath>\BuildTools\VC\Tools\Llvm\ARM64\bin;%PATH%
      win-make

      Building on Clang x86_64 distributed by MSYS2 from cmd:
      PATH=C:\msys64\clang64\bin;%PATH%
      win-make

      Clang/MSYS ARM64 called from cmd:
      PATH=C:\msys64\clangarm64\bin;%PATH%
      win-make

  * src/common/hbver.c
    * patched clang version string builder to skip duplicate version
      number in some builds

    * append processor architecture to clang compiler string
      on non-Intel systems
2024-10-07 11:40:17 +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
b047f4882a 2024-05-31 11:55 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* doc/en/rdddb.txt
    ! update DBAPPEND( [<lUnlockAll>=.t.] ) documentation regarding
      the default value and action of the parameter
2024-05-31 11:55:04 +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
a10feba63c 2024-05-13 02:39 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * src/rtl/fscopy.c
    ! fixed typos, thanks to Grigory Filatov and Pete

  * include/harbour.hbx
  * src/harbour.def
    ! added hb_vfCopyFileEx() and hb_fileCopyEx()
2024-05-13 02:39:42 +02:00
Przemysław Czerpak
1c70367da5 2024-05-09 23:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/fscopy.c
    + added new C function:
         HB_BOOL hb_fileCopyEx( const char * pszSource, const char * pszDest,
                                HB_SIZE nBufSize, HB_BOOL fTime,
                                PHB_ITEM pCallBack );
      Unlike hb_fileCopy() it is never redirected to remote server and copy
      operation is always done locally.
      pCallBack is codeblock or function symbol, it's executed at the
      beginning and then on each nBufSize bytes written and receives two
      parameters: nBytesWritten, nTotalSize.
      Warning: nTotalSize could be 0 when non regular files like pipes or
               sockets are copied.

  * src/rtl/vfile.c
    + added new PRG function:
         hb_vfCopyFile( <cFileSrc>, <cFileDst>, [<nBufSize>=65536], ;
                        [<lTimePreserve>=.t.], [<bCallBack>] ) --> <nResult>
      It's wrapper to hb_fileCopyEx() C function.
      For very big files setting <nBufSize> to greater value, i.e. 16777216
      may increase performance.
2024-05-09 23:23:26 +02:00
Przemysław Czerpak
371631dac4 2024-04-10 15:39 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* utils/hbmk2/hbmk2.prg
    ! fixed my last modification and check if HB_WITH_* contains
      non empty value
2024-04-10 15:39:15 +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
c892443bb8 2024-01-29 17:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/harbour.def
    + added hb_socketNToHS() to exported functions

  * src/rtl/hbsocket.c
    + added hb_socketNToHS() for compilation without socket support
      (HB_SOCKET_OFF macro)
2024-01-29 17:13:57 +01:00
Przemysław Czerpak
e71216e2dd 2024-01-28 12:58 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:58:03 +01:00
Przemysław Czerpak
de72cb0c79 2024-01-28 12:53 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:53:29 +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