Commit Graph

19931 Commits

Author SHA1 Message Date
Przemysław Czerpak
188c206440 2025-08-22 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbzebra/coredraw.c
  * contrib/hbzebra/hbzebra.hbx
    + added new PRG function:
         hb_zebra_getsize( <hZebra>, @<nWidth>, @<nHeight> ) -> <nError>
      it calculates size in points of the created barcode and returns 0 on
      success or error code

  + contrib/hbzebra/tests/gtgfx.prg
    + borrowed from Viktor's fork, thanks
      2014-09-18 22:32 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
       + added on-screen barcode example, created by elch
         (with some minor cleanups)
         https://groups.google.com/d/msg/harbour-users/_Wht51JZGgE/ZXyvaJNH9ggJ
         feb4fc0e20

  * contrib/sddoci/core.c
    * map ostrlen() to strlen() or wcslen() in OCI_CHARSET_UNICODE builds
    ; TOFIX: this library uses wchar_t for unicode strings, it means that
             in *nixes where wchar_t is 32-bit integer mapping to Harbour
             HB_WCHAR is wrong and has to be fixed

  * include/hbapifs.h
  * src/harbour.def
  * src/rtl/filebuf.c
   + added new C function:
         HB_BOOL hb_fileSave( const char * pszFileName,
                              const void * buffer, HB_SIZE nSize );

  * include/harbour.hbx
  * src/harbour.def
  * src/rtl/vfile.c
    + added new PRG function:
         hb_vfSave(  <cFileName>, <cFileBody> ) --> <lOK>

  * src/rtl/vfile.c
    * set FError() code in hb_vfLoad()
2025-08-22 12:00:07 +02:00
Przemysław Czerpak
1b633cd242 2025-08-17 18:27 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    + added support for disabling title and frames of console window by
         hb_gtInfo( HB_GTI_WINTITLE, <lNoFrame> )

  * src/rtl/transfrm.c
    ! fixed bug in "@S<n>" transformation when multibyte CDP is used
2025-08-17 18:27:35 +02:00
Aleksander Czajczynski
57c06eb936 2025-07-19 19:44 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbhpdf/core.c
    + HPDF_GetPageByIndex( hDoc, nIndex ) --> hPage / NIL
      suggested by Luigi Ferraris

  * contrib/hbhpdf/tests/harupdf.prg
    + test the above (disabled by default)

  * README.md
    * updated CI badge(s) to GitHub Actions - they also cover
      the strict compilation mode, definitions are currently
      located in the same file as normal

    ! cleaned up links, mostly in tools section, some were
      broken, for others switched to https where applicable

    * mention HB_CCPREFIX= support for clang

  * 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 2025
2025-07-19 19:44:04 +02:00
Aleksander Czajczynski
3148b2f681 2025-07-10 14:04 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbpost.hbm
    ! fix missing contrib/*/tests/files when using "make install"
      and HB_INSTALL_PREFIX.
      Thanks Jose Quintas for reporting (issue #310)
2025-07-10 14:04:06 +02:00
Przemysław Czerpak
02b0606193 2025-07-09 15:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbclass.ch
    ! fixed class declaration to allow muliple PP run - thanks to Wen Sheng
      for slef conatin example
2025-07-09 15:04:06 +02:00
Aleksander Czajczynski
0ff2885a66 2025-07-07 16:17 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* config/win/clang.mk
    + add resource compiler detection chain to first stage,
      now harbour.exe binary should also have manifest resource
      compiled in when clang is used. Previously second stage rc
      calling was implemented only in hbmk2.

  * utils/hbmk2/hbmk2.prg
    ! fixed disappearing llvm-ar with fallback to ar, spotted
      in windows-ci/MSYS2
2025-07-07 16:17:12 +02:00
Aleksander Czajczynski
b1b372ccc5 2025-07-07 13:42 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* .github/workflows/windows-ci.yml
    * libgd, qt5-base not available in MSYS x86

  * ChangeLog.txt
    + entry in prev skipped during merge
2025-07-07 13:42:24 +02:00
Aleksander Czajczynski
a5c88273b4 2025-07-05 20:20 UTC+0200 Aleksander Czajczynski (hb fki.pl)
+ config/wasm/global.mk
  + config/wasm/libs.mk
  + config/wasm/emcc.mk
  * utils/hbmk2/hbmk2.prg
  * contrib/hbrun/hbrun.hbp
    + add basic support for build Harbour into JS/WebAssembly using
      emscripten, using these settings:
        HB_PLATFORM=wasm HB_COMPILER=emcc HB_BUILD_3RDEXT=no

    * {abstr} is now a hbmk2 keyword to possibly group all
      toolsets similar in flavour: WASI/clang, JS/emscripten
      These most likely will be targeting plaforms which are not
      full operating-systems, they are also commonly qualified as
      sandbox solutions.

    * introduced __PLATFORM__WASM and __PLATFORM__ABSTRACT .prg defines

  * utils/hbmk2/hbmk2.prg
    + allow to specify hb_ProgName() value at build-time for platforms
      where the function cannot return a meaningful value (f.e.
      JS/WebAssembly)
    ; TODO: Add support for passing hb_ProgName() value command-line
            parameter, f.e. `--hb:self=hbrun`

  * config/global.mk
  * include/hbsetup.h
    * consider abstract/emscripten targets similar to linux-like

  * src/rtl/arc4.c
    ! fix to build under emscripten (which is assumed to be a
      linux-like environment)

  ; though platform/compiler names are not currently compatible
    with origin, this WebAssembly platform support was guided by
    Harbour 3.4:
    2017-06-09 01:10 UTC Viktor Szakats (vszakats users.noreply.github.com)
    as usual Viktor was here before, many thanks!

  ; example project, how to make a multi-platform GUI application which
    also targets WebAssembly, can be found here:
    https://github.com/alcz/harbour-cimgui-sokol-starterkit/
2025-07-05 20:20:38 +02:00
Przemysław Czerpak
81be99f647 2025-03-25 13:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! pacified warnings

  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslctx.c
    ! use 64-bit integers in SSL_[CTX]_[s|g]et_options() for OpenSSL >= 3.0
2025-03-25 13:54:05 +01:00
Przemysław Czerpak
9e783a1319 2025-03-20 06:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapihb.c
    ! fixed hb_transalte() to not clear passed string
      when neither CPIN nor CPOUT is set

  * src/rtl/hbgtcore.c
    ! fixed hb_gtAttach() to properly work with empty GT pointer
2025-03-20 06:30:10 +01:00
Aleksander Czajczynski
1a4c4e6b43 2025-02-21 11:16 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/hbcurl.hbp
    + added Windows architecture specific libcurl names:
      libcurl-x64.dll, libcurl-arm64.dll as suggested
      by @carles9000 in #382
2025-02-21 11:16:08 +01:00
Antonio Linares
72a672a452 updated 2025-02-11 04:23:28 +01:00
FiveTech Software
e44996d076 required explicit cast 2025-02-11 04:18:39 +01:00
Przemysław Czerpak
91e06d0ff1 2025-02-03 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdefs.h
  * contrib/sddsqlt3/core.c
    - removed HB_WATCOM_64BUG macro - new versions of OW 2.0 supports 64bit
      integers in preprocessor directives - Many thanks to Aleksander who
      reported the problem on OpenWatcom V2 forum
    + added test for 64bit support in C preprocessor suggested by Aleksander

  * .github/workflows/windows-ci.yml
    * minor simplification
2025-02-03 12:26:02 +01:00
Aleksander Czajczynski
f39adf0370 2025-02-03 10:50 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/core.c
    * formatting, use HB_IT_EVALITEM instead ( HB_IT_BLOCK | HB_IT_SYMBOL )
2025-02-03 10:50:33 +01:00
Aleksander Czajczynski
af085af261 2025-02-03 10:18 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/core.c
    ! reverted static keyword

  * ChangeLog.txt
    ! formatting
2025-02-03 10:17:58 +01:00
Antonio Linares
bb8204e16c minor typo updated 2025-02-03 09:14:34 +01:00
Antonio Linares
a6567d2061 HB_CURLOPT_WRITEFUNCTION implemented support 2025-02-03 09:10:08 +01:00
Antonio Linares
e7a3708177 updated 2025-02-03 08:58:23 +01:00
Antonio Linares
d2556c9375 updated for recent commit 2025-02-03 08:56:32 +01:00
FiveTech Software
ccfcd64e92 Merge pull request #381 from winspool/fix_ver
hbver: Fix displayed OpenWatcom and TinyC version
2025-02-03 08:41:52 +01:00
Detlef Riekenberg
ac61cb1635 hbver: Fix displayed OpenWatcom and TinyC version
Regards ... Detlef
2025-02-03 00:44:52 +01:00
Przemyslaw Czerpak
57f11bfb89 2025-02-01 08:37 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ config/android/clang.mk
    + allow to create android builds with CLANG

  * config/common/watcom.mk
    ! fixed C compilation in sh like shells
2025-02-01 08:37:25 +01:00
Aleksander Czajczynski
a9e60478a3 2025-01-30 19:59 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* utils/hbmk2/hbmk2.prg
    ! issue #379 follow-up to OpenWatcom target platform
      autodetection, hbmk2 needed similar patching
2025-01-30 19:59:10 +01:00
Przemysław Czerpak
7ee496b5f8 2025-01-30 17:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/3rd/sqlite3/sqlite3.c
    * for GCC >= 14 builds added
         #pragma GCC diagnostic ignored "-Wstringop-overread"

  * contrib/3rd/sqlite3/sqlite3.hbp
    * removed
         -cflag=-Wno-stringop-overread
      used in all GCC builds when HB_BUILD_TEST='strict'

  * contrib/3rd/sqlite3/sqlite3.diff
    * regenerated
2025-01-30 17:58:22 +01:00
Przemysław Czerpak
06d4e4c6ae 2025-01-30 16:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! casting

  * include/hbcompdf.h
    * removed unnecassary parenthesies and indenting

  * src/rtl/errint.c
    * added
         #pragma GCC diagnostic ignored "-Wnull-dereference"

  * src/vm/dlmalloc.c
    - removed
         #pragma GCC diagnostic ignored "-Wnull-dereference"

  * src/vm/fm.c
    + added
         #pragma clang diagnostic ignored "-Wgnu-null-pointer-arithmetic"
         #pragma GCC diagnostic ignored "-Warray-bounds"
         #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
         #pragma GCC diagnostic ignored "-Walloc-size"
2025-01-30 16:19:59 +01:00
Przemysław Czerpak
418f1b6e46 2025-01-30 11:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/Makefile
  * src/vm/vmmt/Makefile
  * src/vm/dlmalloc.c
    * In GCC builds >= 6.1 use
         #pragma GCC diagnostic ignored "-Wnull-dereference"
      instead of foringg HB_FM_STD_ALLOC
2025-01-30 11:54:03 +01:00
Przemysław Czerpak
793bd0c4c7 2025-01-30 04:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbzebra/datamtrx.c
    * added '#pragma GCC diagnostic ignored "-Warray-bounds"'
      to disable GCC 12, 13 and 14 false warnings about array bounds for
      static constant data

  * contrib/hbzebra/hbzebra.hbp
    * removed -Wno-error=array-bounds C compiler parameter used in all GCC
      builds
2025-01-30 04:23:31 +01:00
Przemysław Czerpak
db3379db21 2025-01-30 03:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbzebra/datamtrx.c
  * contrib/sddoci/core.c
    * reverted modifications committed by mistake
2025-01-30 03:56:27 +01:00
Przemysław Czerpak
37ed9d7680 2025-01-30 03:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/hvm.c
    * changed returned type of hb_vmCalcIntWidth() to avoid casting
2025-01-30 03:51:51 +01:00
Przemysław Czerpak
6c8c5cd410 2025-01-30 03:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdefs.h
    * added final workarounds for OpenWatcom 2.0 bug in 64bit expressions used
      in #[el]if statements
2025-01-30 03:34:52 +01:00
Przemysław Czerpak
e66aab7eff 2025-01-30 02:48 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
  * include/hbdefs.h
  * src/compiler/gencc.c
  * src/rtl/abs.c
  * src/vm/hvm.c
    * added workarounds for OpenWatcom 2.0 bug in 64bit expressions used
      in #[el]if statements
2025-01-30 02:48:48 +01:00
Przemysław Czerpak
1d0c512822 2025-01-29 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
    ! respect OPENSSL_NO_SOCK macro

  * contrib/hbssl/bio.c
  * contrib/hbssl/err.c
  * contrib/hbssl/evp.c
  * contrib/hbssl/pem.c
    * disabled deprecated functions which do nothinng in OpenSSL 3.0

  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/rtl/net.c
  * src/rtl/netusr.c
  * src/vm/dynlibhb.c
    * updated for OpenWatcom 2.0 builds
2025-01-29 13:50:06 +01:00
Aleksander Czajczynski
7791626fba 2025-01-28 20:27 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* config/global.mk
    ! fixed OpenWatcom target platform autodetection to conform with
      progress OW is making, as it was kindly reported in issue #379
2025-01-28 20:27:38 +01:00
Przemysław Czerpak
a8117990d8 2025-01-28 13:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
  * contrib/hbssl/evppkey.c
  * contrib/hbssl/rsa.c
    * reenabled hb_RSA_par_remove() for old OpenSSL() versions (<=0.9.6) which
      do not support RSA_up_ref()

  * contrib/hbssl/ssl.c
    ! use
         x509 = X509_dup( x509 );
         X509_check_purpose( x509, -1, 0 );
      instead of
         X509_up_ref( x509 );
      in OpenSSL versions prior 0x10100000L - they do not support X509_up_ref()

  * contrib/hbssl/x509.c
    * check passed parameters more strictly
    * return NIL when X509 certificate cannot be allocated/accessed
2025-01-28 13:46:38 +01:00
Przemysław Czerpak
08819f56f2 2025-01-28 12:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
    ! do not leave dummy BIO declaration for OpenSSL < 1.1.0
2025-01-28 12:23:23 +01:00
Przemysław Czerpak
8013782a89 2025-01-28 12:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
    ! use BIO_ADDR* in OpenSSL >= 1.1.0 and do not use it in LibreSSL
2025-01-28 12:01:47 +01:00
Przemysław Czerpak
f5a3c980fc 2025-01-28 11:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.hbx
  * contrib/hbssl/bio.c
    ! fixed BIO_set_conn_int_port() to work with OpenSSL >= 1.1
      (emulation with BIO_set_conn_port())
    ! fixed BIO_get_conn_ip() to work with OpenSSL >= 1.1
      (emulation with BIO_get_conn_address() and BIO_ADDR_hostname_string())
    + added BIO_get_conn_address(), it returns HB_SOCKET compatible array
      with address

  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/sslctx.c
    + added new function SSL_CTX_use_RSAPrivateKey()
    ! respect OPENSSL_NO_RSA macro in other SSL_CTX_use_RSA*() functions

  * contrib/hbssl/evp.c
    ! use EVP_CIPHER_key_length() and EVP_CIPHER_iv_length() in
      EVP_BytesToKey() to detect the exact key and iv length.

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/evppkey.c
  * contrib/hbssl/rsa.c
    * removed hb_RSA_par_remove() function, use RSA_up_ref() instead

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/x509.c
  * contrib/hbssl/pem.c
  * contrib/hbssl/ssl.c
    * removed 2-nd parameter ( HB_BOOL fRelease ) from hb_X509_ret(),
      use X509_up_ref() instead

  * contrib/hbssl/pem.c
    * respect OPENSSL_NO_DSA, OPENSSL_NO_DH and OPENSSL_NO_RSA macros

  * contrib/hbssl/ssl_sock.c
    * added casting to pacify SSL_set_fd() warning and updated link with
      description of the problem
2025-01-28 11:34:21 +01:00
Aleksander Czajczynski
23c23e1de5 Merge pull request #377 2025-01-27 09:55:17 +01:00
Przemysław Czerpak
867b220bf4 2025-01-26 09:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/3rd/sqlite3/sqlite3.hbp
    * use -Wno-unknown-warning-option also in GCC MacOSX builds
2025-01-26 09:57:37 +01:00
Przemysław Czerpak
a75901b482 2025-01-26 09:37 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/vm1-ci.yml
    * reenabled freebsd builds
    * be sure N_CPUS is always set
    * show compiler version before build

  * contrib/3rd/sqlite3/sqlite3.hbp
    * enable -Wno-unknown-warning-option only for CLANG - older GCC versions
      does not like it
    * use -Wno-stringop-overread instead of -Wno-error=stringop-overread,
      Unlike Wno-error=* the unknown -Wno-* options are ignored by most of
      old GCC compilers
2025-01-26 09:37:35 +01:00
druzus
09e7ec96b7 Update vm1-ci.yml 2025-01-26 08:41:26 +01:00
Przemysław Czerpak
f6d2990002 2025-01-25 23:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/vm1-ci.yml
    * add path to sysctl call
2025-01-25 23:25:48 +01:00
Przemysław Czerpak
48c3d350a5 2025-01-25 17:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/vm1-ci.yml
    * enablkled freeimage
    * set HB_BUILD_TEST to ${{matrix.strictness}}
    * reenabled full strict build
2025-01-25 17:45:07 +01:00
Przemysław Czerpak
856c70d197 2025-01-25 17:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/ssl.c
    * updated to compile with newer versions of LibreSSL
2025-01-25 17:14:45 +01:00
Przemysław Czerpak
c114c98743 2025-01-25 12:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! fixed curl_easy_getinfo( <curl>, CURLINFO_CERTINFO, <arg> ) call. The
      argument should be 'struct curl_certinfo **' not 'struct curl_slist **'
2025-01-25 12:08:20 +01:00
Przemysław Czerpak
d59d6d69db 2025-01-25 11:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! declare buffer for CURLOPT_ERRORBUFFER as 'char *' instead of
      'unsigned char *', the exact buffer type is chcked in typecheck-gcc.h
      and 'unsigned char *' does not pass this test
    ; QUESTION:
      Why curl_easy_setopt( <pCurl>, HB_CURLOPT_ER_BUFF_SETUP, [<nBufSize>] )
      accepts <nBufSize> parameter?
      Buffer smaller then CURL_ERROR_SIZE means GPF and larger waste of memory.
      The only acceptable value for <nBufSize> is CURL_ERROR_SIZE.
      The allocate buffer should be initialized with '\0' otherwise we will
      have other GPF trap when user call curl_easy_er_buff_get() before any
      error is set. This bug was fixed in CURL 7.60.0.
2025-01-25 11:14:38 +01:00
Przemysław Czerpak
87b5139864 2025-01-25 10:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/vm1-ci.yml
  * .github/workflows/vm2-ci.yml
    * updated to always set number of CPUs for -j GNU make switch,
      using unlimited number of forks (-j without parameter) causes
      'Resource temporarily unavailable' error
2025-01-25 10:19:58 +01:00
druzus
65a6755f72 Update vm1-ci.yml 2025-01-24 23:41:49 +01:00
druzus
4f5358eca9 Update vm1-ci.yml 2025-01-24 23:29:18 +01:00