Commit Graph

738 Commits

Author SHA1 Message Date
Przemysław Czerpak
1411ce7f9c 2025-12-13 19:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdate.h
  * src/common/hbdate.c
    * changed the following C functions:
         HB_BOOL hb_timeStrGetUTC( const char * szTime,
                                   int * piHour, int * piMinutes,
                                   int * piSeconds,
                                   int * piMSec, int * piUTCOffset );
         HB_BOOL hb_timeStampStrGetUTC( const char * szDateTime,
                                        int * piYear, int * piMonth,
                                        int * piDay, int * piHour,
                                        int * piMinutes, int * piSeconds,
                                        int * piMSec, int * piUTCOffset );
      to
         HB_BOOL hb_timeStrGetUTC( const char * szTime,
                                   int * piHour, int * piMinutes,
                                   int * piSeconds,
                                   int * piMSec, int * piUTCOffset,
                                   HB_BOOL * pfUTC );
         HB_BOOL hb_timeStampStrGetUTC( const char * szDateTime,
                                        int * piYear, int * piMonth,
                                        int * piDay, int * piHour,
                                        int * piMinutes, int * piSeconds,
                                        int * piMSec, int * piUTCOffset,
                                        HB_BOOL * pfUTC );
      Warning: incompatibility !!! New parameter HB_BOOL * pfUTC has been
               added. These functions are used by Harbour internally but
               if someone uses them in his code then he should add NULL
               to passed parameters.
    + added new C function:
         HB_BOOL hb_timeStampStrGetDTU( const char * szDateTime,
                                        long * plJulian, long * plMilliSec,
                                        HB_BOOL * pfUTC );
    ; the parameter pfUTC is used to retrieve information if time string
      represents UTC time.

  * src/rtl/dateshb.c
    * added 2-nd parameter to hb_StrToTS() function which can be passed by
      reference to retrieve information if time string represents UTC time.
      Current syntax is:
         hb_StrToTS( <cTimeStr> [, @<lUTC> ] ) -> <tTime>
2025-12-13 19:38:15 +01:00
Przemysław Czerpak
5b05d5335d 2025-12-12 04:09 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rtl/dateshb.c
    + added new PRG function which converts UTC time to local time:
          hb_UTCToTS( <tUTCTime> [, @<lUTCOffset> ) -> <tLocalTime>

  * include/hbdate.h
  * src/harbour.def
  * src/common/hbdate.c
    + added new C function which converts UTC time to local time:
         double hb_timeUTCToLocal( double dTimeStamp, int * piUTCOffset );
2025-12-12 04:09:11 +01:00
Aleksander Czajczynski
f9212001b4 2025-12-11 00:15 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/vm/macro.c
    * workaround MinGW/GCC 15+ excessive diagnostics in hb_macroTextSymbol()
      to fix strict mode in CI, manifested with either of those messages:
      error: 'memcpy' specified bound 4294967295 exceeds maximum object size
             2147483647 [-Werror=stringop-overflow=]
      error: 'memcpy' accessing 4294967295 bytes at offsets 4 and 0 overlaps
             6442450943 bytes at offset -2147483648 [-Werror=restrict]

  * utils/hbmk2/hbmk2.prg
    * applied bcc64 fixes from hbmk2.prg posted by Carlos Vargas on
      harbour-devel (reformatted):
      https://groups.google.com/g/harbour-devel/c/vic0m-VVZ8k

    ; bcc64 support is not tested and purely based on contributions
2025-12-11 01:15:52 +01:00
Przemysław Czerpak
bc326cee07 2025-12-10 22:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
    ! added missing variable initialization
2025-12-10 22:22:55 +01:00
Przemysław Czerpak
24b2f28431 2025-12-10 16:29 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/evpmd.c
  * contrib/hbssl/hbssl.h
    * moved hb_EVP_MD_ptr_to_id() function from static to public area

  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/hbssl.hbm
  + contrib/hbssl/d2i.c
    * added new functions to extract asynchronous keys and certificates
      from DER data:
         D2I_PUBKEY( <cDER> ) -> <pEVPKey>
         D2I_RSAPUBLICKEY( <cDER> ) -> <pRSAKey>
         D2I_X509( <cDER> ) -> <pX509Cert>

  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/evppkey.c
    + added new functions to get/set RSA asymmetric keys parameters
      encapsulated in EVP_PKEY structures:
         EVP_PKEY_CTX_get_RSA_padding()
         EVP_PKEY_CTX_set_RSA_padding()
         EVP_PKEY_CTX_get_RSA_OAEP_md()
         EVP_PKEY_CTX_set_RSA_OAEP_md()
         EVP_PKEY_CTX_get_RSA_MGF1_md()
         EVP_PKEY_CTX_set_RSA_MGF1_md()

  * src/common/hbdate.c
    * accept up to 9 fractional digits (nanoseconds) in timestamp strings
      though only first three ones (milliseconds) are significant.
      Recently some tools begin to generate such timestamp values and
      Harbour had problems with decoding them correctly.

  * src/compiler/hbmain.c
    + allow to pass file name for source code compiled by hb_compileFromBuf()
      It works like in all other versions of hb_compile*() functions - it's
      enough to pass it as argument without option prefix (option prefix
      is "-" on all platforms and also "/" on DOS, OS2, MS-Win).
      Please remember that first parameter after control ones is used as
      compiler name in generated output messages regardless of its option
      prefix.
2025-12-10 16:29:20 +01:00
Przemysław Czerpak
bbbb0bf201 2025-12-05 22:52 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttrm/gttrm.c
    ! fixed memory leak
2025-12-05 22:52:43 +01:00
Przemysław Czerpak
aa54fe630f 2025-12-04 16:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
    ! fixed hb_cdpUTF8StringPeek() to work with 0 based indexes and
      Unicode characters > 0xFFFF

  * src/rtl/hbmd5.c
    ! removed redundant code (copy and past typo)
2025-12-04 16:39:21 +01:00
Viktor Szakats
6475f3873a 2025-11-16 22:00 UTC+0200 Aleksander Czajczynski (hb fki.pl)
; import hbcrypto.h header that allows reusing core sha functions
    by contribs, coming from Viktor's fork:
    2015-07-13 19:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-07-13 23:12 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  + include/hbcrypto.h
    + move sha2 and hmac/sha2 related headers to Harbour
      header directory so they can be used by other components.
    + export sha2 and hmac/sha2 low-level functions from Harbour dynlib
  * src/rtl/sha1.c
  * src/rtl/sha1.h
  * src/rtl/sha1hmac.c
  * src/rtl/sha1hmac.h
  * src/rtl/sha2.c
  * src/rtl/sha2hmac.c
  * src/rtl/hbsha1.c
  * src/rtl/hbsha1hm.c
  * src/rtl/hbsha2.c
  * src/rtl/hbsha2hm.c
    + use Harbour index type in low-level SHA code
    % drop high-level hack compensating for fixed sized
      low-level indexes in 64-bit builds
2025-11-16 22:02:36 +01:00
Aleksander Czajczynski
53f3d24f41 2025-10-23 21:45 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* src/vm/extrap.c
    + added Windows ARM64 CPU register dump
2025-10-23 21:45:11 +02:00
Przemysław Czerpak
dbfbc756d7 2025-09-09 19:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbbmp/core.c
    ! pacified BCC warnings

  * src/vm/macro.c
    * minor modification to test if it can pacify false warning in recent GCC
2025-09-09 19:55:30 +02:00
Przemysław Czerpak
c184fb933e 2025-09-09 18:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/png/pngrutil.c
    ! moved PNG_UNUSED() before return statement to avoid BCC W8070 Warning

  * src/3rd/png/png.diff
    ! rediffed with
         hbmk2 ../../../bin/3rdpatch.hb -rediff
2025-09-09 18:58:43 +02:00
Przemysław Czerpak
5a46d560fc 2025-09-09 18:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/zlib/Makefile
  * src/3rd/zlib/README
  * src/3rd/zlib/deflate.c
  * src/3rd/zlib/deflate.h
  * src/3rd/zlib/gzguts.h
  * src/3rd/zlib/gzlib.c
  * src/3rd/zlib/inflate.c
  * src/3rd/zlib/inftrees.c
  * src/3rd/zlib/inftrees.h
  * src/3rd/zlib/trees.c
  * src/3rd/zlib/zconf.h
  * src/3rd/zlib/zlib.h
  * src/3rd/zlib/zutil.h
  * src/3rd/zlib/zlib.diff
    * updated to version 1.3.1
2025-09-09 18:13:01 +02:00
Przemysław Czerpak
aa81797e35 2025-09-09 16:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/png/LICENSE
  * src/3rd/png/Makefile
  * src/3rd/png/png.c
  * src/3rd/png/png.diff
  * src/3rd/png/png.h
  * src/3rd/png/pngconf.h
  * src/3rd/png/pngdebug.h
  * src/3rd/png/pngerror.c
  * src/3rd/png/pngget.c
  * src/3rd/png/pnginfo.h
  * src/3rd/png/pnglconf.h
  * src/3rd/png/pngmem.c
  * src/3rd/png/pngpread.c
  * src/3rd/png/pngpriv.h
  * src/3rd/png/pngread.c
  * src/3rd/png/pngrio.c
  * src/3rd/png/pngrtran.c
  * src/3rd/png/pngrutil.c
  * src/3rd/png/pngset.c
  * src/3rd/png/pngstru.h
  * src/3rd/png/pngtrans.c
  * src/3rd/png/pngwio.c
  * src/3rd/png/pngwrite.c
  * src/3rd/png/pngwtran.c
  * src/3rd/png/pngwutil.c
    * updated to version 1.6.50

  * contrib/hbmlzo/3rd/minilzo/minilzo.c
  + contrib/hbmlzo/3rd/minilzo/minilzo.diff
    ! fixed compilation with ISO C++ 17 compilers
2025-09-09 16:36:53 +02:00
Przemysław Czerpak
75ff90a49d 2025-09-09 13:50 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdefs.h
    + added new types HB_WCHAR16 and HB_WCHAR32, existing type HB_WCHAR
      is mapped to HB_WCHAR16 (just like before)

  * include/hbapicdp.h
  * src/harbour.def
  * src/rtl/cdpapi.c
    + added new C functions for encoding and decoding UTF-8 string using
      which HB_WCHAR32:
         int hb_cdpU32CharToUTF8( char * szUTF8, HB_WCHAR32 wc );
         HB_BOOL hb_cdpUTF8GetU32( const char * pSrc, HB_SIZE nLen,
                                   HB_SIZE * pnIndex, HB_WCHAR32 * pWC );
         HB_BOOL hb_cdpUTF8GetUCS( const char * pSrc, HB_SIZE nLen,
                                   HB_SIZE * pnIndex, HB_WCHAR32 * pWC );
         HB_BOOL hb_cdpUTF8GetU16( const char * pSrc, HB_SIZE nLen,
                                   HB_SIZE * pnIndex, HB_WCHAR16 * pWC );
         HB_BOOL hb_cdpUTF8Validate( const char * pSrc, HB_SIZE nLen );
      They support full UCS and are much more restrictive against errors and
      wrong UTF-8 encoding, i.e. now overlong encoding is forbidden.
      The wrong characters are translated to 0xFFFD and later if such
      character does not exist in final CP to '?' ASCII character.
    * declaration of the following UTF-8 C functions have been changed to
      operate on HB_WCHAR32 instead of HB_WCHAR:
         int hb_cdpUTF8CharSize( HB_WCHAR32 wc );
         HB_WCHAR32 hb_cdpUTF8StringPeek( const char * pSrc, HB_SIZE nLen,
                                          HB_SIZE nPos );
    * the following C functions have been changed to internally operate on
      HB_WCHAR32 instead of HB_WCHAR:
         hb_cdpUTF8StringLength()
         hb_cdpUTF8StringAt()
         hb_cdpUTF8StringSubstr()
    * the following C functions have been changed to use new hb_cdpUTF8GetU*()
      instead of step by step decoding with hb_cdpUTF8ToU16NextChar()
         hb_cdpStrToUTF8Disp()
         hb_cdpUTF8AsStrLen()
         hb_cdpUTF8ToStr()
         hb_cdpStrToU16()
         hb_cdpUtf8Char()
    * use HB_CDP_ERROR_* macros to mark wrong encoding

  * src/rtl/cdpapihb.c
    * the following UTF-8 C functions have been changed to operate on
      HB_WCHAR32 instead of HB_WCHAR:
         hb_utf8Chr()
         hb_utf8Asc()
         hb_utf8Poke()
         hb_utf8Peek()
      Other UTF-8 PRG functions have been adopted to HB_WCHAR32 by changes
      in corresponding C functions.

  * src/codepage/cp_utf8.c
    * use new function hb_cdpUTF8GetU16() to decode UTF-8 strings in UTF8EX CP

  * src/rtl/arc4.c
    + added new macro HB_NO_SYSCTL which allow to disable sysctl() in Linux
      builds for GLIBC < 2.30
2025-09-09 13:50:42 +02:00
Przemysław Czerpak
315887a395 2025-09-03 12:21 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
    + added fallback translation table for different variants of Latin
      character, now when translation is made between different encoding
      and the variant of Latin character does not exist in destination
      code page then it's translated to their base Latin form, i.e.:
         hb_utf8ToStr( "ĄĆĘŁŃÓŚŹŻąćęłńóśźż", "EN" ) -> "ACELNOSZZacelnószz"

  * tests/uc16_gen.prg
    ; updated comment
2025-09-03 12:21:01 +02:00
Przemysław Czerpak
c4b2a030c4 2025-08-29 12:49 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbbmp/core.c
  * contrib/hbbmp/hbbmp.ch
  * contrib/hbbmp/hbbmp.h
  * contrib/hbbmp/hbbmp.hbx
    + added new PRG functions:
         hb_bmp_frombitmap( <cBitMap>, <nAlign>, <nWidth>, <nHeight>, ;
                            [<nDepth>=1], [<nDPI>=72], [<aPalette>], ;
                            [@<nError>] ) -> <pBMP> | NIL
         hb_bmp_colorreset( <pBMP> )

  * contrib/hbct/dattime3.c
    ! struct timespec initialization

  * contrib/hbplist.txt
    + added hbbmp library

  * contrib/hbzebra/coredraw.c
  * contrib/hbzebra/hbzebra.hbx
    + added new PRG function:
         hb_zebra_getbitmap( <hZebra>, <nAlign>=8, <lBottomUp>=.F., ;
                             @<nWidth>, @<nHeight>, <nScaleX>, <nScaleY>, ;
                             <nBorder> ) -> <cBitMap> | NIL

  * contrib/hbzebra/tests/bmp.prg
    + added example for much faster BMP creation using hb_zebra_getbitmap() and
      hb_bmp_frombitmap() functions

  * src/rtl/filebuf.c
    ! casting

  * src/vm/extrap.c
    * allocate stack buffer dynamically, in new Linux version IGSTKSZ is
      defined as sysconf( _SC_SIGSTKSZ ) so it cannot be used as legal size
      for static arrays
2025-08-29 12:49:40 +02:00
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
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
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
Detlef Riekenberg
ac61cb1635 hbver: Fix displayed OpenWatcom and TinyC version
Regards ... Detlef
2025-02-03 00:44:52 +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
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
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
a30e2091db 2025-01-24 15:02 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbct/dattime3.c
    ! fixed in block variable declaration for strict ANSI C compat
    * code formatting
    ; both borrowed from Viktor's fork, thanks
      aa4665f16f
      d9f37296b0

  * src/rdd/dbcmd.c
    * note about C5.3/5.2 DBAPPEND( [<lUnlockAll>=.t.] ) updated again
      upon Przemek notification, thanks
2025-01-24 15:02:38 +01:00
Przemysław Czerpak
bf146ab5ee 2025-01-24 12:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    * pacified false MSVC warning. It's very seldom situation that I'm adding
      code to pacify false compiler warnings anyhow in this case it cost in
      practice nothing so I decided to do that.

  * contrib/xhb/hboutdbg.c
  * src/rtl/gtcrs/gtcrs.c
    * NULL pointer casting to pacify warning

  * src/pp/hbpp.c
    % do not created new iLen variable but reuse the one previously declared

  * src/vm/classes.c
    % allocate puiMsgIdx as array of HB_USHORT items instead of HB_SYMCNT.
      This modification only reduces the memory usage and has no effect on
      number of accepted symbols.
    * changed 'HB_SYMCNT uiHashKey' to 'HB_SIZE nHashKey' to avoid explicit
      casting in the code
2025-01-24 12:32:32 +01:00
Przemysław Czerpak
b3ee8c65fb 2025-01-23 17:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdate.h
  * src/common/hbdate.c
  * src/harbour.def
    + added new C functions:
         HB_BOOL hb_timeStrGetUTC( const char * szTime,
                                   int * piHour, int * piMinutes,
                                   int * piSeconds, int * piMSec,
                                   int * piUTCOffset );
         HB_BOOL hb_timeStampStrGetUTC( const char * szDateTime,
                                        int * piYear, int * piMonth,
                                        int * piDay, int * piHour,
                                        int * piMinutes, int * piSeconds,
                                        int * piMSec, int * piUTCOffset );
      They can decode timestamp value with ISO 8601 UTC offset.

  * src/common/hbdate.c
    * use hb_timeStampStrGetUTC() in hb_timeStampStrGetDT() and return UTC
      time if it was with UTC offset
      Now Harbour compiler accept timestamp strings with with UTC offset, i.e.
         ? t"2025-01-22 00:45 UTC+0100" // => 2025-01-21 23:45:00.000
      Also HB_StrToTS() supports it.

  * src/pp/hbpp.c
    * use new hb_timeStampStrGetDT() to decode timestamp from ChangeLog to
      build revision number. It also fixes bug with decoding negative UTC
      offsets.
2025-01-23 17:45:49 +01:00
Aleksander Czajczynski
4a4691653b 2025-01-23 11:47 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* contrib/hbcurl/core.c
  * contrib/hbcurl/hbcurl.ch
  * contrib/hbcurl/hbcurl.hbx
    * applied more cleanups, following Viktor Szakats guidance in hisrepo:
      6127603217
      - add `HB_CURLM_ERROR` to indicate error in hbcurl wrapper.
      - replace use of `HB_CURLM_INTERNAL_ERROR` with `HB_CURLM_ERROR`.
      - sync Harbour variable integer sizes with curl ones.
      - tidy up a variable scopes.
      - drop unused variable.
      - omit `hb_ret()` (it's a no-op).
      - formatting.
      - add functions to `hbcurl.hbx`.

    + add curl_ws_send()/curl_ws_recv() - WebSocket connectivity,
      borrowed from Viktor's fork, thanks again!
      2c71a5c940

  * src/rdd/dbcmd.c
    * note about C5.3 and Harbour extensions to
      DBAPPEND( [<lUnlockAll>=.t.] ), thanks Viktor

  * ChangeLog.txt
    ! typos
2025-01-23 11:48:57 +01:00
Przemysław Czerpak
9e86079873 2025-01-21 08:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* .github/workflows/linux-ci.yml
    * reenabled hbfimage contrinb library

  * src/vm/Makefile
  * src/vm/vmmt/Makefile
    * set -DHB_FM_STD_ALLOC C compiler parameter for HB_BUILD_TEST='strict'
2025-01-21 08:12:22 +01:00
Przemysław Czerpak
b33cb05de5 2025-01-21 01:11 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapigt.h
    ! removed dummy declaration for hb_inkeyExit()

  * include/hbexprop.h
    ! removed dummy declarations for hb_compExprNewCodeblockExpr(),
      hb_compExprNewAssign() and hb_compExprEqual()
    ; marked compiler only hb_compExpr*() functions

  * include/hbgtcore.h
    ! removed dummy declaration for hb_gt_gcMark()

  * include/hbxvm.h
    ! removed dummy declarations for hb_xvmPushBlockLarge() and
      hb_xvmMacroPushArg()

  * src/harbour.def
    + added hb_iswinbuild()
    + added exported PCRE variable pcre_stack_guard
    + added exported ZLIB functions: gzfread(), gzwrite(),
      adler32_z(), crc32_z(), crc32_combine_gen(),
      crc32_combine_gen64(), crc32_combine_op(),
      uncompress2(), deflateGetDictionary(),
      inflateValidate(), inflateCodesUsed()
2025-01-21 01:11:37 +01:00
Przemysław Czerpak
248979e15b 2025-01-20 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
    ! added missing declaration for hb_fileParamGet()

  * include/hbgtcore.h
    * added HB_EXPORT attribute for hb_gt_getClipboard(), hb_gt_setClipboard()
      and hb_gt_dos_keyCodeTranslate()

  * include/hbrdddbf.h
    ! removed declaration for hb_dbfTranslateRec() function - this functions
      was removed many years ago

  * include/harbour.hbx
  * src/harbour.def
    ! fixed order of declared functions - they should be sorted.
2025-01-20 10:43:30 +01:00
Przemysław Czerpak
8ef93ac2a1 2025-01-19 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbfcdx/dbfcdx1.c
    % Removed always false dummy condition. For
         pPage->TagParent->MaxKeys >= 2 &&
         ( ( iKeys + pPage->TagParent->MaxKeys - 1 )
                   / pPage->TagParent->MaxKeys ) == 1
      the expression
         iKeys > ( ( pPage->TagParent->MaxKeys * 3 ) >> 1 )
      was alwas false.
      As side effect this modification pacifies the buggy GCC warnings.
2025-01-19 14:33:34 +01:00
Przemysław Czerpak
60e9a0e663 2025-01-18 05:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbfnsx/dbfnsx1.c
  * src/rtl/dates.c
  * src/rtl/hbtoken.c
    ! pacified few stupid warnings
2025-01-18 05:03:36 +01:00
Aleksander Czajczynski
bdc240ed99 2025-01-10 10:15 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/rtl/listbox.prg
    * merged #371 from Kamil, thanks for the patch.
      Applied minor reformat .NOT. -> ! and added a comment
      about buggy ListBox:hitTest() on no-box dropdown in
      Cl*pper 5.3.
2025-01-10 10:15:24 +01:00
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
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
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
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
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
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