Commit Graph

61 Commits

Author SHA1 Message Date
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
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
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
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
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
ec993d4753 2023-04-21 11:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rtl/vfile.c
    + added new PRG function:
         hb_vfIsLocal( <cFileName> ) --> <lLocalFileSystem>
      It returns TRUE if <cFileName> is not redirected to any Harbour File IO
      driver but access local file system API.

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

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

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

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

  * src/vm/classes.c
    ! added protection against possible GPF when manually created serialized object
      data with super class symbols longer then HB_SYMBOL_NAME_LEN is deserialized
2023-04-20 23:35:56 +02:00
Przemysław Czerpak
1aac73c6bf 2023-02-01 13:49 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhb.hbx
    * added reference to SetErrorMode()
2023-02-01 13:49:51 +01:00
Przemysław Czerpak
72538bb26c 2023-02-01 13:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberrc.c
    + implemented Harbour version of SetUnhandledExceptionFilter() and
      SetErrorMode()

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

  * ChangeLog.txt
    ! typo in file name in previous commit
2023-02-01 13:43:46 +01:00
Przemysław Czerpak
b94a8c4985 2023-01-31 23:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ contrib/xhb/xhberror.prg
    ! added file missing in previous commit:
      added code which extends Harbour error objects adding functionality
      known from xHarbour:
         oError:ProcName
         oError:ProcLine
         oError:ProcModule
      Above instance variables are initialized automatically when error
      object is created.
      To enable this functionality it's enough to add to PRG code:
         REQUEST xhb_ErrorNew
2023-01-31 23:19:40 +01:00
Przemysław Czerpak
807c7d8e8b 2023-01-31 14:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapierr.h
  * src/harbour.def
  * src/rtl/errapi.c
    + added new C function:
         void hb_errReinit( PHB_ITEM pError );
      it allows to replace default error object with user custom one which
      support :Init() method

  * contrib/xhb/xhb.hbp
  + contrib/xhb/xhb.h
  + contrib/xhb/xhberror.prg
    + added code which extends Harbour error objects adding functionality
      known from xHarbour:
         oError:ProcName
         oError:ProcLine
         oError:ProcModule
      Above instance variables are initialized automatically when error
      object is created.
      To enable this functionality it's enough to add to PRG code:
         REQUEST xhb_ErrorNew

  * contrib/xhb/xhberr.prg
    * use error object :Proc*() methods if they are available
    - removed PRG version of xhb_ErrorNew()

  * contrib/xhb/xhbmemo.prg
  * contrib/xhb/xhbtedit.prg
    ! use xhb_ErrorNew() instead of ErrorNew() which does not support
      any parameters

  * include/hbapicls.h
    ; typo in comment
2023-01-31 14:59:17 +01:00
Maurizio la Cecilia
20f07da421 2019-09-26 18:30 UTC+0200 Maurizio la Cecilia (m.lacecilia/at/gmail.com)
* contrib/xhb/hbxml.c
    ! fixed the compliance to the element tag naming rules:
      . the element name must begin with alpha or underscore characters
      . the element name can contain also period characters
      . the closing tag can contain spaces between the name and the closing bracket
2019-09-26 23:04:29 +02:00
Przemysław Czerpak
d0be194907 2019-02-11 13:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* bin/commit.hb
    ! fixed UTC offset formatting

  * contrib/hbwin/win_os.prg
    * updated win_osNetRegOk() for modern MS-Windows versions:
      - on Win7 and upper set
        System\CurrentControlSet\Services\LanmanServer\Parameters\DisableLeasing
        to disable opportunistic locks.
      - do not force SMB1 to disable oplocks on Win7 and upper - new MS-Win10
        does not support SMB1 at all so this setting on the server with
        such system completely disables SMB network and forcing SMB1 on the
        client side blocks access to new Win10 servers.
        Warning! this setting is still activated on Vista so it cannot
                 connect work with new Win10 but I do not know any other
                 working method to disable oplocks in Windows Vista.
    * synced with Viktor's branch

  * contrib/xhb/hbserv.c
    ! added missing return

  * include/harbour.hbx
  * src/harbour.def
  * src/rtl/version.c
    + added new PRG functions:
         hb_osIsWin7(), hb_osIsWin8(), hb_osIsWin81(), hb_osIsWin10()

  * src/rtl/gttrm/gttrm.c
    + added autodetection for few other XTerm compatible terminals
    + respect color extension in TERM name of all XTerm compatible
      terminals

  * utils/hbmk2/hbmk2.prg
    + added support for -cpp=isoXX borowed from Viktor's branch

  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
    * use -cpp=iso11 required for QT 5.7.0 or upper
    * extended QT detection and partial syncing with Viktor's branch
2019-02-11 13:43:40 +01:00
Przemysław Czerpak
a8a09d1dc0 2019-01-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbxml.c
    ! fixed memory leak
2019-01-25 12:26:32 +01:00
Maurizio la Cecilia
16f40faa74 2018-12-17 12:00 UTC+0100 Maurizio la Cecilia (m.lacecilia/at/gmail.com)
* contrib/xhb/hbxml.c
    ! fixed the lacking of correct settings of previous node in 
      mxml_node_insert_before(), that was causing the omitting 
      of the inserted nodes in saves and searches.
2018-12-17 12:33:04 +01:00
Przemysław Czerpak
8230fcc258 2018-09-14 15:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * include/hbchksum.h
  * src/harbour.def
  * src/rtl/hbmd5.c
    + added new C function
         void hb_hmac_md5( const void * key, HB_SIZE nKeyLen,
                           const void * message, HB_SIZE nMsgLen,
                           char * digest );
    + added new PRG function
         HB_HMAC_MD5( <cMessage>, <cKey> ) -> <cMAC>
    ; HMAC MD5 is used in some authentication methods i.e. CRAM-MD5
      authentication in SMTP protocol

  * src/rtl/gttrm/gttrm.c
    + enable extended XTERM colors automatically when xterm-16color,
      xterm-256color, xterm+256color, xterm-88color, rxvt-16color,
      rxvt-256color, rxvt-98color or putty terminal is detected
    + added support for HB_GTI_SCREENDEPTH

  * contrib/gtqtc/gtqtc1.cpp
    + set clipboard data also into selection buffer on platforms which
      support it
    + when main clipboard buffer is empty retrieve clipboard data from
      selection buffer and if it's empty too from find buffer

  * include/harbour.hbx
  * src/harbour.def
  * src/vm/memvars.c
    + added new PRG function
         __mvGetDef( <cMemvar> [, <xDefault> ] ) -> <xValue>
      it works in similar way to __mvGet() but if <cMemvar> does
      not exist then it returns <xDefault> or NIL instead of RTE

  * contrib/hbwin/hbwin.hbx
    + added missing declarations for win_osIs10() and win_osIs81()

  * contrib/hbssl/ssl.c
    ! fixed compilation with OpenSSL < 0.9.8k

  * contrib/sddodbc/core.c
    * pacified warning

  * contrib/xhb/hbxml.c
  * contrib/xhb/hbxml.h
    ! fixed CDATA terminator, it should be "]]>" instead of " ]]>"
    + added support for HBXML_STYLE_NONEWLINE flag

  * src/3rd/pcre/Makefile
    ! typo wince -> wce

  * src/main/Makefile
    * use harbour.rc only in MS-Windows builds - it fixes OS2 OpenWatcom
      builds

  * config/global.mk
    ! in DOS builds check if the 'uname' exists before running it

  * include/hbapigt.h
  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
  * src/rtl/inkey.c
  * src/rtl/inkeyapi.c
  * contrib/xhb/xhbfunc.c
    + added 3-rd parameter to hb_inkeySetText() function. When this parameter
      is true then ';' is not translated to Chr( 13 ) but DOS and UNIX EOLs
      are translated to Chr( 13 )
    + added logical parameter to HB_GTI_CLIPBOARDPASTE which allows to set
      text without ';' translation but with platform independent EOLs

  * src/rtl/memoedit.prg
  * utils/hbmk2/hbmk2.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * extras/dbu/dbu52.patch
  * extras/dbu/dbu53.patch
    * use hb_gtInfo( HB_GTI_CLIPBOARDPASTE, .T. ) instead of
      hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) for pasting data from clipboard
      with platform independent EOLs and ';' characters
2018-09-14 15:36:21 +02:00
Viktor Szakats
0764e1b746 SELF/self -> Self (3.4 sync) 2017-09-14 01:12:12 +00:00
Viktor Szakats
0caff16650 2017-09-13 12:38 UTC Viktor Szakats (vszakats users.noreply.github.com)
- doc/en/hashes.txt
  - doc/en/rdddb.txt
  * .gitattributes
  * contrib/3rd/sqlite3/sqlite3.hbp
  * contrib/hbbz2/3rd/bz2/bz2.hbp
  * contrib/hbexpat/3rd/expat/expat.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
  * contrib/hblzf/3rd/liblzf/lzf.hbp
  * contrib/hbmxml/3rd/minixml/mxml.hbp
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/hbodbc/hbodbc.hbp
  * contrib/hbtinymt/3rd/tinymt/tinymt.hbp
  * contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
  * contrib/sddsqlt3/tests/test.prg
  * ChangeLog.txt
  * doc/Makefile
  * doc/oldnews.txt
  * extras/ps32/readme.txt
  * extras/superlib/readme.txt
  * src/3rd/jpeg/Makefile
  * src/3rd/pcre/Makefile
  * src/3rd/png/Makefile
  * src/3rd/tiff/Makefile
  * src/3rd/zlib/Makefile
  + contrib/hbsms/DEPRECATED.txt
  + contrib/hbtpathy/DEPRECATED.txt
  + contrib/xhb/WARNING.txt
  * contrib/3rd/sqlite3/sqlite3.dif -> contrib/3rd/sqlite3/sqlite3.diff
  * contrib/hbbz2/3rd/bz2/bz2.dif -> contrib/hbbz2/3rd/bz2/bz2.diff
  * contrib/hbexpat/3rd/expat/expat.dif -> contrib/hbexpat/3rd/expat/expat.diff
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif -> contrib/hbhpdf/3rd/libhpdf/libhpdf.diff
  * contrib/hblzf/3rd/liblzf/liblzf.dif -> contrib/hblzf/3rd/liblzf/liblzf.diff
  * contrib/hbmxml/3rd/minixml/minixml.dif -> contrib/hbmxml/3rd/minixml/minixml.diff
  * contrib/hbmzip/3rd/minizip/minizip.dif -> contrib/hbmzip/3rd/minizip/minizip.diff
  * contrib/hbtinymt/3rd/tinymt/tinymt.dif -> contrib/hbtinymt/3rd/tinymt/tinymt.diff
  * contrib/hbxdiff/3rd/libxdiff/libxdiff.dif -> contrib/hbxdiff/3rd/libxdiff/xdiff.diff
  * contrib/sddsqlt3/tests/test.sq3 -> contrib/sddsqlt3/tests/test.sqlite3
  * extras/dbu/dbu52.dif -> extras/dbu/dbu52.patch
  * extras/dbu/dbu53.dif -> extras/dbu/dbu53.patch
  * extras/ps32/ps32.dif -> extras/ps32/ps32.patch
  * extras/rl/rl.dif -> extras/rl/rl.patch
  * extras/superlib/superlib.dif -> extras/superlib/superlib.patch
  * extras/template/readme.txt -> extras/template/README.md
  * src/3rd/hbdossrl/README -> src/3rd/hbdossrl/README.txt
  * src/3rd/jpeg/jpeg.dif -> src/3rd/jpeg/jpeg.diff
  * src/3rd/pcre/pcre.dif -> src/3rd/pcre/pcre.diff
  * src/3rd/png/png.dif -> src/3rd/png/png.diff
  * src/3rd/tiff/tiff.dif -> src/3rd/tiff/tiff.diff
  * src/3rd/zlib/zlib.dif -> src/3rd/zlib/zlib.diff
  * tests/hbpptest/_pp_test.prg -> tests/hbpp/_pp_test.prg
  * tests/hbpptest/compare.hb -> tests/hbpp/compare.hb
  * tests/hbpptest/hbpptest.hbp -> tests/hbpp/hbpptest.hbp
  * tests/hbpptest/hbpptest.prg -> tests/hbpp/hbpptest.prg
  * tests/tflock.prg -> tests/flock.prg
  * contrib/hbfimage/fi_wrp.c -> contrib/hbfimage/core.c
  * contrib/hbodbc/browodbc.prg -> contrib/hbodbc/browse.prg
  * doc/cmdline.txt -> doc/cmdline.md
  * extras/dbu/readme.txt -> extras/dbu/README.md
  * extras/rl/readme.txt -> extras/rl/README.md
    * some file renames synced with 3.4 fork, plus the content of
      some of them. Some new text files added as well.
      Note, 3rd party code rediffing won't work anymore on 8.3
      filesystems.
2017-09-13 12:39:48 +00:00
Viktor Szakats
760112e3c5 2017-09-12 15:13 UTC Viktor Szakats (vszakats users.noreply.github.com)
* bin/check.hb
  * config/*/*.mk
  * contrib/gtwvg/wvgwing.c
  * contrib/hbcomm/comm.prg
  * contrib/hbfbird/tfirebrd.prg
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbformat/hbfmtcls.prg
  * contrib/hbformat/utils/hbformat.prg
  * contrib/hbhttpd/core.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbsqlit3/hdbc.prg
  * contrib/hbwin/win_bmp.c
  * contrib/xhb/htmutil.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhbtedit.prg
  * ChangeLog.txt
  * debian/control
  * debian/copyright
  * doc/*.txt
  * LICENSE.txt
  * package/harbour.spec
  * README.md
  * src/compiler/hbusage.c
  * src/pp/hbpp.c
  * src/rtl/memoedit.prg
  * src/rtl/teditor.prg
  * src/rtl/tget.prg
  * src/rtl/version.c
  * utils/hbi18n/hbi18n.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/po/hbmk2.hu.po
  * utils/hbtest/hbtest.prg
    * sync with 3.4 fork (no change in functionality)
      CC3 -> CC4 license, copyright banners, some strings, minor
      code changes, doc folder, TOFIX -> FIXME
2017-09-12 15:15:14 +00:00
Viktor Szakats
e00f50079e 2017-09-11 13:12 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwgud.c
  * contrib/gtwvw/wvwdraw.c
  * contrib/hbamf/amfdec.c
  * contrib/hbamf/amfstdio.c
  * contrib/hbbz2io/bz2io.c
  * contrib/hbgzio/gzio.c
  * contrib/hbhpdf/core.c
  * contrib/hbmemio/memio.c
  * contrib/hbmisc/irm.c
  * contrib/hbmisc/spd.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbssl/ssl_sock.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_bmpd.c
  * contrib/hbwin/win_misc.c
  * contrib/hbzebra/qrcode.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddsql/sqlmix.c
  * contrib/sddfb/core.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbserv.c
  * include/hbdefs.h
  * include/hbexprb.c
  * include/hbrddcdx.h
  * include/hbthread.h
  * include/hbwmain.c
  * src/common/hbffind.c
  * src/compiler/complex.c
  * src/compiler/hbmain.c
  * src/compiler/hbopt.c
  * src/debug/dbgentry.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/wacore.c
  * src/rdd/workarea.c
  * src/rtl/cputime.c
  * src/rtl/dates.c
  * src/rtl/gtchrmap.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/keytrans.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
  * src/rtl/itemseri.c
  * src/rtl/langapi.c
  * src/rtl/run.c
  * src/rtl/sha1.c
  * src/rtl/space.c
  * src/vm/classes.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/set.c
  * src/vm/thread.c
    * convert commented C code to #if 0 blocks, or clean them up in
      different ways
2017-09-11 13:27:12 +00:00
Viktor Szakats
03ac58b17b 2017-09-08 18:22 UTC Viktor Szakats (vszakats users.noreply.github.com)
* bin/commit.hb
  * config/detect.mk
  * config/detfun.mk
  * config/detplat.mk
  * config/dir.mk
  * config/dirsh.mk
  * config/global.mk
  * config/globsh.mk
  * config/instsh.mk
  * config/lang.hb
  * config/lang2po.hb
  * config/po2lang.hb
  * config/postinst.hb
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbformat/utils/hbformat.ini
  * contrib/hbmisc/hbedit.prg
  * contrib/hbmxml/tests/testmxml.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * contrib/hbnetio/utils/hbnetio/_winsvc.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/tests/ole.prg
  * contrib/hbwin/tests/oletst2.js
  * contrib/hbwin/tests/oletst2.vbs
  * contrib/hbxpp/doc/en/binnumx.txt
  * contrib/hbxpp/doc/en/dbcmdx.txt
  * contrib/xhb/htmutil.prg
  * contrib/xhb/tfile.prg
  * contrib/xhb/tframe.prg
  * contrib/xhb/thtm.prg
  * ChangeLog.txt
  * debian/copyright
  * doc/class_tp.txt
  * doc/hdr_tpl.txt
  * doc/xhb-diff.txt
  * LICENSE.txt
  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
  * package/mpkg_rpm.sh
  * package/mpkg_src.sh
  * package/mpkg_ver.sh
  * src/rtl/achoice.prg
  * src/rtl/getsys53.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenusys.prg
  * tests/hbdoc.prg
  * tests/langmsg.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  + doc/en/ati.txt
  + doc/en/dirdrive.txt
  + doc/en/hashfunc.txt
  + doc/en/hbtoken.txt
  + doc/en/left.txt
  + doc/en/proc.txt
  + doc/en/strtran.txt
  + doc/en/transfrm.txt
  + doc/en/typefile.txt
  * doc/en/*
    * more partial sync with 3.4 fork
2017-09-08 18:25:11 +00:00
Viktor Szakats
5a2a287752 2017-09-08 16:00 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
    * partial sync with the 3.4 fork codebase. These are the things
      synces for the most part:
      - copyright headers
      - grammar/typos in comments and some readmes
      - comment/whitespace/decorations
      - variable scoping in C files
      - DO CASE/SWITCH and some other alternate syntax usage
      - minimal amount of human readable text in strings
      - minor code updates
      - HB_TRACE() void * casts for pointers and few other changes to
        avoid C compiler warnings
      - various other, minor code cleanups
      - only Harbour/C code/headers were touched in src, utils, contrib,
        include. No 3rd party code, no make files, and with just a few
        exceptions, no 'tests' code was touched.
      - certain components were not touched were 3.4 diverged too much
        already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
      - the goal was that no actual program logic should be altered by
        these changes. Except some possible minor exceptions, any such
        change is probably a bug in this patch.
      It's a massive patch, if you find anything broken after it, please
      open an Issue with the details. Build test was done on macOS.
      The goal is make it easier to see what actual code/logic was changed
      in 3.4 compared to 3.2 and to make patches easier to apply in both
      ways.
2017-09-08 16:25:13 +00:00
Viktor Szakats
d55bdd18b7 2017-09-07 08:38 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbct/charsprd.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/expand.c
  * contrib/hbct/misc2.c
  * contrib/hbct/screen2.c
  * contrib/hbcurl/core.c
  * contrib/hbfship/strpeek.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbwin/olecore.c
  * contrib/rddads/adsx.c
  * contrib/rddads/rddads.h
  * contrib/rddsql/sqlmix.c
  * contrib/sddmy/core.c
  * contrib/sddpg/core.c
  * contrib/xhb/hbcompat.h
  * contrib/xhb/hbxml.c
  * contrib/xhb/xhb.h
  * src/common/hbstr.c
  * src/compiler/harbour.y
  * src/compiler/harbour.yyc
  * src/compiler/hbcmplib.c
  * src/macro/macrolex.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxcrypt.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hsx/hsx.c
  * src/rtl/cdpapi.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbtoken.c
  * src/rtl/net.c
  * src/rtl/netusr.c
  * src/vm/hvm.c
    * update HB_SIZE variable name prefixes to use `n` instead of `ul`
    % adjust some variables
    % sync variables scopes and some other minor things with 3.4 fork
2017-09-07 08:39:50 +00:00
Viktor Szakats
9f16c2bf8e 2017-08-13 18:27 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
    * update copyright headers with new FSF postal address
    * COPYING.txt -> LICENSE.txt (rest of repo to be synced)
2017-08-13 18:38:59 +00:00
Przemysław Czerpak
e150da6f93 2017-04-14 16:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/filesys.c
    + added new C functions for UNIX and DJGPP builds:
         int hb_fsPollFD( PHB_POLLFD pPollSet, int iCount,
                          HB_MAXINT nTimeOut );
         int hb_fsCanRead( HB_FHANDLE hFileHandle, HB_MAXINT nTimeOut );
         int hb_fsCanWrite( HB_FHANDLE hFileHandle, HB_MAXINT nTimeOut );
      These functions should be used instead of select() in C code to hide
      low level access to select()/poll() functionality in *nix builds
      (they are supported by DJGPP only to simplify existing code common
      for DJGPP and *nix builds). Maximum file handle value which can be
      used in select() is limited by FD_SETSIZE. Please note that it's
      file handle value not number of file handles in the set. It creates
      serious problem for applications which operate on great number of
      handles (i.e. servers which have to keep open many sockets, pipes,
      files, etc. for their clients) so the new file/socket/pipe/...
      handle value can easy exceed FD_SETSIZE limit and in such case
      cannot be used with select(). The modification on
         2016-04-05 21:24 UTC+0200 Przemyslaw Czerpak
      resolved the problem only for sockets and pipes in code which uses
      corresponding hb_socket*() and hb_fsPipe*() API but not for all
      other cases. This one is for POSIX compilant code which needs pure
      POSIX select()/poll() functionality.
      Please note that HB_POLLFD structure should is compatible with
      struct pollfd defined by POSIX.1-2001 anyhow not all platforms
      confirm this standard so portable Harbour code should always use
      HB_POLLFD and HB_POLL* constant values instead of POLL* ones.

  * include/hbdate.h
  * src/common/hbdate.c
    + added new C functions to calculate timeouts:
         HB_MAXUINT hb_timerGet( void );
         HB_MAXUINT hb_timerInit( HB_MAXINT nTimeOut );
         HB_MAXINT  hb_timerTest( HB_MAXINT nTimeOut, HB_MAXUINT * pnTimer );
      They are designed to be used instead of direct access to
      hb_dateMilliSeconds(). Now they internally use hb_dateMilliSeconds()
      but it can be easy replaced by any other system monotonic clock by
      one local modification inside hb_timerGet() function.

  * src/rtl/filesys.c
    * use hb_timer*() functions instead of hb_dateMilliSeconds()
    * use hb_fsCanRead()/hb_fsCanWrite() instead of select()/poll()
      It also fixed timeout processing inside hb_fsPipeIsData() and
      hb_fsPipeWrite() in builds using poll()

  * src/rtl/filesys.c
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/mousesln.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtxwc/gtxwc.c
    * use hb_timer*() functions instead of hb_dateMilliSeconds()
    * use hb_fsCanRead()/hb_fsCanWrite() instead of select()/poll()

  * src/vm/thread.c:
  * src/rtl/gtwin/gtwin.c
  * src/rtl/hbcom.c
  * src/rtl/hbgtcore.c
  * src/rtl/hblpp.c
  * src/rtl/idle.c
  * contrib/hbnetio/netiosrv.c:
  * contrib/hbssl/ssl_sock.c:
    * use hb_timer*() functions instead of hb_dateMilliSeconds()

  * contrib/xhb/hboutdbg.c
    * use hb_fsCanWrite() instead of select()

  * src/rtl/hbsocket.c
    ! repeat select() interrupted by signal inside hb_socketSelect()
      when poll() function is not available

  * src/3rd/hbdossrl/serial.c
    ! fixed -Wshift-negative-value GCC warnings
2017-04-14 16:36:50 +02:00
Przemysław Czerpak
06c1134d2c 2017-03-15 09:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* package/harbour.spec
  * contrib/hbbz2/hbbz2.hbp
  * package/mpkg_rpm.sh
    + added support for '--with localbz2' RPM build parameter

  * include/hbpp.h
  * src/pp/ppcore.c
  * src/compiler/hbmain.c
    * modified hb_pp_inBuffer() parameters. Now it supports optional
      szFileName parameter.
      Warning: it's incompatible with previous version but I do not think
      that anyone used this function outside core code so I decided to not
      add new function but simply change the existing one.
      [INCOMPATIBLE]

  * src/rtl/filebuf.c
    ! do not resepct SET DEFAULT/PATH in hb_fileExists() when 2nd parameter
      is NULL in default file IO drivers. It also changes the behvior of
      PRG function hb_vfOpen() which now honors SET DEFAULT/PATH only if
      its 2nd parameter is passed by reference - this modification is
      compatible with 2016-01-25 18:16 UTC+0100 Viktor Szakats in his fork.

  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    * updated to work correctly with modified hb_fileExists() behavior
    ; CL5.2 DBFCDX and Six3 CDX/NSX RDDs looking for production indexes
      respect SET PATH but Harbour in core DBF* index RDDs is CL5.3/COMIX
      compatible and looks for production indexes only in the directory
      where DBF file is located and only SIXCDX Harbour RDD is CL5.2/Six3
      compatible.
      Please also note that it's significant only for situations when
      DBF file is located in current directory. If it's open from
      SET DEFAULT/PATH directory then corresponding path is added
      to DBF file name what effectively disables SET DEFAULT/PATH
      processing when production index is open.

  * src/rtl/filebuf.c
  * src/rtl/filebufd.c
  * src/rtl/iousr.c
  * contrib/hbmemio/memio.c
    ; cleaned name of hb_fileCopy() paramter

  * include/hbapifs.h
  * src/rtl/filebuf.c
  * src/harbour.def
    + added new C function:
         HB_BOOL hb_fileMove( const char * pszSrcFile,
                              const char * pszDstFile );
  * src/rtl/vfile.c
  * include/harbour.hbx
  * src/harbour.def
    + added new PRG function:
         hb_vfMoveFile( <cFileSrc>, <cFileDst> ) -> <nResult>

  ; unlike hb_fileRename()/hb_vfRename() new hb_fileMove()/hb_vfMoveFile()
    functions allow to move files between different file systems/drives
    and also different Harbour file IO drivers. Please note that it means
    that file name IO driver prefix is significant in both source and
    destination file names unless it's local FS operation. New functions
    when both file names point to the same Harbour file IO driver try to
    use simple rename operation. If it fails then they try to copy the
    file and remove the source one.

  * ChangeLog.txt
    ! typo

  * include/hbfloat.h
  * contrib/xhb/xhbctbit.c
  * src/compiler/hbcmplib.c
  * src/compiler/hbcomp.c
  * src/compiler/hbusage.c
    ! pacified new GCC warnings and partially synced with Viktor's fork

  * src/compiler/hbusage.c
    * added Klas Engwall to credits list
    * added Rolf to credits list
    * updated April White email address
    ; please verify it and update if necessary
2017-03-15 09:50:10 +01:00
Przemysław Czerpak
c6316a4578 2016-01-26 15:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapierr.h
  * include/hbdefs.h
  * src/debug/dbgentry.c
  * src/rtl/filesys.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbhex.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/vm/classes.c
  * src/vm/extrap.c
  * src/vm/itemapi.c
  * src/vm/runner.c
  * src/vm/task.c
  * contrib/gtalleg/gtallegd.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwgud.c
  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbfbird/firebird.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/win_misc.c
  * contrib/hbxdiff/core.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsx.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/freadlin.c
  * extras/gtwvw/gtwvwd.c
  * extras/gtwvw/wvwfuncs.c
    * use HB_PTRUINT instead of HB_PTRDIFF in castings between pointers
      and numbers - it makes some C compilers happy and in few cases it
      also fixed bugs
2016-01-26 15:45:00 +01:00
Przemysław Czerpak
cd940c3f35 2016-01-23 13:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
  * contrib/xhb/xhb.hbp
  * contrib/xhb/xhb.hbx
  + contrib/xhb/xhbbit.c
    + added xhb_bitAnd(), xhb_bitOr() and xhb_bitXor() functions which
      are compatible with xHarbour &, | and ^^ operators
2016-01-23 13:47:51 +01:00
Przemysław Czerpak
ae90545eb1 2016-01-21 20:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtalleg/gtallegd.c
  * contrib/hbamf/amfdec.c
  * contrib/hbamf/amfenc.c
  * contrib/hbbz2/core.c
  * contrib/hbbz2io/bz2io.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/envparam.c
  * contrib/hbct/pack.c
  * contrib/hbct/token2.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbgs/core.c
  * contrib/hbgzio/gzio.c
  * contrib/hbhpdf/core.c
  * contrib/hbhpdf/image.c
  * contrib/hbmlzo/core.c
  * contrib/hbmxml/core.c
  * contrib/hbodbc/odbc.c
  * contrib/hbsqlit3/core.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/ssl.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsmgmnt.c
  * contrib/rddads/adsx.c
  * contrib/rddads/rddads.h
  * contrib/sddodbc/core.c
  * contrib/xhb/cstructc.c
  * include/hbapi.h
  * include/hbdefs.h
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbmem.c
  * src/compiler/complex.c
  * src/compiler/harbour.y
  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
  * src/compiler/hbident.c
  * src/macro/macrolex.c
  * src/nortl/nortl.c
  * src/pp/ppcore.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxfname.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rtl/cdpapi.c
  * src/rtl/filebuf.c
  * src/rtl/filesys.c
  * src/rtl/fslink.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/mousesln.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbbfsock.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbsocket.c
  * src/rtl/hbzlib.c
  * src/rtl/hbznet.c
  * src/rtl/hbzsock.c
  * src/rtl/iousr.c
  * src/rtl/langapi.c
  * src/vm/cmdarg.c
  * src/vm/codebloc.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/macro.c
  * src/vm/set.c
  * src/vm/strapi.c
    * cleaned const qualifier dropping
    ! fixed few bugs I found analyzing related code
    ; I left untouched two places in HBSSL which IMO should be fixed yet
2016-01-21 20:42:30 +01:00
Przemysław Czerpak
93163f1e04 2016-01-18 12:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
    * indenting

  * config/darwin/clang.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * utils/hbmk2/hbmk2.prg
    * use -no_warning_for_no_symbols in MacOSX builds - many thanks
      to Lorenzo
  * contrib/xhb/xhb.ch
    + added #pragma -kd+

  * doc/xhb-diff.txt
    ! typos
2016-01-18 12:16:42 +01:00
Viktor Szakats
3ed9fa0f45 2016-01-14 19:33 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage from copyright header. Pass 2 - semi-auto.
    * project homepage and name is described in README, amongst others
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:35:07 +01:00
Viktor Szakats
58faf91453 2016-01-14 19:17 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage [1] from copyright header. Pass 1 - using script.
      [1] nobody has access to it anymore AFAIK - and it's also just
          a redirect since long
    ! update url in copyright header
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:18:17 +01:00
Przemysław Czerpak
04283dd94f 2016-01-14 11:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* config/global.mk
    * set HARBOUR=F:100 during build process in OS2 builds - it increases
      maximum number of open handles per process from 20 to 100 so it should
      be possible to use -j<n> switch during Harbour compilation - please
      test, i.e.:
         os2-make -j3

  * contrib/xhb/hbcompat.ch
    ! fixed pp rules for Str(,,, <lStrip> ) translation

  * include/hbapifs.h
  * src/rtl/filesys.c
    + added new C function:
         HB_FHANDLE hb_fsOpenEx( const char * pszFileName, HB_FATTR nAttr,
                                 HB_USHORT uiFlags );
    * minor cleanup

  * include/hbmemory.ch
  * src/vm/fm.c
    + added two new actions for Memory() function:
         HB_MEM_STATISTICS - return non 0 value if FM statistic is enabled
         HB_MEM_ISLIMIT    - return non 0 value if used memory limit is
                             supported
    + added new PRG function:
         __fm_allocLimit( [ <nNewLimit> ] ) -> <nPrevLimit>
      It allows to set limit for maximum used memory in some memory
      managers, -1 means no limit.
      Now it works with DLMALLOC and in ST mode it's limit for memory
      allocated from system for whole application. In MT mode when
      HB_FM_DLMT_ALLOC (default for DLMALLOC) is enabled it's limit for
      single MSPACE (Harbour allocates 16 MSPACES and balance them
      between threads to improve scalability) so it's rather per thread
      limit. If memory statistic module is enabled during Harbour build
      process then this limit works with any memory manager and defines
      limit for total memory allocated by Harbour application regardles
      of MT or ST mode.

  * src/vm/hvm.c
    * use HB_MEM_STATISTICS instead of HB_MEM_USEDMAX to check if memory
      statistic module is enabled
2016-01-14 11:02:51 +01:00
Przemysław Czerpak
6458e3a963 2015-09-30 10:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/vm/hvm.c
    + added internal PRG function to test number of HVM threads and stacks
         __vmCountThreads( [ @<nStacks> ], [ @<nThreads> ] ) -> <nThreads>

  * src/rtl/filesys.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/hbamf/amfdec.c
  * contrib/xhb/fparse.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/hbxml.c
    * cleaned ;; usage in C code
2015-09-30 10:55:41 +02:00
Przemysław Czerpak
db3fe4b8d4 2015-08-31 23:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmzip/mzip.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbwin/win_prn2.c
  * contrib/xhb/xhbcopyf.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/delim1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/sdf1.c
  * src/rtl/copyfile.c
  * src/rtl/filesys.c
  * src/rtl/fscopy.c
  * src/rtl/hbmd5.c
  * src/rtl/memofile.c
  * src/rtl/philes.c
  * src/rtl/vfile.c
    * updated for possible -1 result returned by hb_fileRead()/hb_fileWrite()
2015-08-31 23:43:30 +02:00
Przemysław Czerpak
c3f0ae6015 2015-05-13 16:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctwin.c
    ! added protection against GPF in hb_ctwGetPosWindow() called before
      any window is open. It's correct version of this fix.

  * contrib/hbmemio/memio.c
  * contrib/xhb/xhbfunc.c
    ! fixed size of filename buffer - it should be exactly HB_PATH_MAX
2015-05-13 16:59:44 +02:00
Przemysław Czerpak
c44831d3af 2015-02-10 13:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberr.prg
  * contrib/xhb/xhb.hbx
    - removed __BreakBlock() function. The Harbour core implementation
      of __BreakBlock() function fully replaces it and is more efficient
      because it does not create new codeblock on each call.
2015-02-10 13:03:24 +01:00
Przemysław Czerpak
513f8824df 2014-12-05 01:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbffind.c
  * src/common/hbfsapi.c
  * src/rtl/filebuf.c
  * src/rtl/fssize.c
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
    ! typo in comment - thanks to Viktor

  * include/hbexprb.c
    * small code reorganization

  * include/hbvmpub.h
  * src/vm/hvm.c
    % use HB_VM_PUSHNIL() macro
    ! generate RTE for code like:
         LOCAL aVar[ 10, -1 ]
      (Cl*pper compatible)
2014-12-05 01:33:30 +01:00
Przemysław Czerpak
e007f5de9d 2014-12-04 10:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * contrib/hbct/doc/en/dattime3.txt
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
  * src/common/hbffind.c
  * src/rdd/hbsix/sxcompr.c
  * src/rtl/filebuf.c
  * src/rtl/filesys.c
  * src/rtl/fssize.c
  * src/rtl/fstemp.c
    ! typo in comments

  * src/common/hbfsapi.c
    ! hb_fsFNameMerge() fixed to not refer to szDrive in HB_TRACE mode
      (2014-11-29 14:29 UTC+0100 Viktor Szakats)

  * src/rtl/fnsplit.c
    * removed szDrive setting before call to hb_fsFNameMerge() - it's not
      longer necessary
2014-12-04 10:06:14 +01:00
Przemysław Czerpak
cfb66e2ab9 2014-10-02 16:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
    * removed dummy break statements

  * contrib/xhb/xhbmvinf.c
    ! store memvar values instead of references to memvar variables in
      array returned by __mvSymbolInfo()
2014-10-02 16:21:00 +02:00
Przemysław Czerpak
36973e8622 2014-10-01 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/common/hbstr.c
    + added new function hb_strAtI() - it works like hb_strAt() but it
      ignores the case of the ASCII characters

  * src/rtl/ati.c
    * renamed local static function hb_strAtI() to s_strAtI() to avoid
      conflict with new public hb_strAtI() function.

  * contrib/xhb/xhbat.c
    - removed local static function hb_strAtI() - current public hb_strAtI()
      is compatible with it.

  * contrib/sddsqlt3/core.c
    + added new code to set column type giving the highest priority SQLITE3
      declared column types.
      Please test - I haven't made any.
    ! do not cast floating point values to integer

  * contrib/hbwin/hbwin.hbx
  * contrib/hbwin/win_prn2.c
    ! fixed win_printerGetDefault() in Win9x builds - fix and some
      formatting and casting borrowed from Viktor's fork.
    + added new PRG function:
         win_PrintDataRaw( <cPrinter>, <cData> [, <cDocName>] )
                           -> <nBytesPrinted>
      It's similar to win_PrintFileRaw() but sends to given printer passed
      in 2-nd parameter <cData> instead of file body.
      On error it returns negative value.
    * cleaned casting and minor formatting

  * src/rtl/gtxwc/gtxwc.c
    + added support for HB_GTI_DISPIMAGE. It's slightly modified code sent
      by Rolf to Harbour devel list. In comparison to original version it
      supports <nDepth> as 4-th item of array with bitmap description to use
      with some other GTs which can support different color depths or can
      make conversion. It also supports bitmaps passed as strings.
    % slightly improved HB_GFX_GETPIXEL
2014-10-01 22:24:56 +02:00
Przemysław Czerpak
97a23295d5 2014-06-26 18:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    + added some additional error codes to win_oleErrorText() function

  * contrib/hbwin/hbole.ch
    + added OLE error code definitions with WIN_* prefix for errors returned
      by win_oleErrorText()

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhbole.prg
    + aded new function OleDefaultArg()
    % minor simplification

  * src/rtl/itemseri.c
    * do not generate RTE when wrong string is deserialized.
      Now RTE 3016 is generated only when compressed data is deserialized
      and ZLIB is not linked with final binaries so users can easy locate
      the source of problem.

  * src/vm/garbage.c
    % added missing static in s_gcSpinLock declaration

  * src/rtl/hbi18n1.c
    * typo in comment

  * src/rdd/dbf1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbsql.c
    * formatting

  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/usrrdd.c
  * src/rtl/checkbox.prg
  * src/rtl/getsys.prg
  * src/rtl/listbox.prg
  * src/rtl/menuto.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tget.prg
  * src/rtl/tgetint.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/errapi.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbinet.c
  * src/rtl/idle.c
  * src/rtl/math.c
  * src/rtl/setkey.c
  * src/vm/asort.c
  * src/vm/hashfunc.c
  * src/vm/thread.c
    * accept any EVAL item not only codeblocks. Actually it means that
      also SYMBOL items are accepted but in the future we may extend it
      and accept also objects of classes with :eval() message.

  * src/rtl/tget.prg
    ! fixed GET default PICTURE for TIMESTAMP type
      fixes https://github.com/harbour/core/issues/65
      2014-05-11 00:05 UTC+0200 Viktor Szakats
    ! fixed GET colors when _SET_INTENSITY == .F.
      2014-04-22 02:35 UTC+0200 Viktor Szakats
    % use Stuff() instead of different combinations of Left() and SubStr()

  * include/harbour.hbx
  * src/rtl/left.c
    + added new function to replace "=" operator without the SET EXACT ambiguity
      in its most common pattern of usage:
         hb_LeftEq( <cString1>, <cString2> ) -> <lResult>
      it's equivalent to this expression, but faster and shorter:
         ( Left( <cString1>, Len( <cString2> ) ) == <cString2> )
      2014-01-22 03:09 UTC+0100 Viktor Szakáts
    + added hb_LeftEqI(). Same as hb_LeftEq() but case-insensitive.
         hb_LeftEqI( <cString1>, <cString2> ) -> <lResult>
      2014-02-04 13:38 UTC+0100 Viktor Szakáts

  * include/harbour.hbx
  * src/rtl/chruni.c
    + added hb_BRAt(). Same as hb_RAt() but for raw/binary strings
      2014-06-25 19:54 UTC+0200 Viktor Szakats

  * contrib/sddsqlt3/core.c
    ! fixed missing first record of query
      2013-11-08 21:43 UTC+0100 Viktor Szakats

  ; many of above modification was borrowed directly or try to follow some
    changes in Viktor's branch - thanks.
2014-06-26 18:42:13 +02:00
Przemysław Czerpak
786ba57352 2014-05-26 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbfsapi.c
  * src/rtl/filesys.c
  * src/rtl/filebuf.c
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
    ! if available always use stat64() instead of stat() in *nixes builds.
      On 32-bit platforms stat() fails for larger files (>2GB).
      It should fix problem reported by Lorenzo.
2014-05-26 16:15:46 +02:00
Przemysław Czerpak
7349602fcb 2014-04-01 12:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filebuf.c
    ! unlock HVM stack before locking local mutex and calling hb_fs*()
      functions which also unlocks HVM. It fixes possible deadlock condition
      when hb_gcAll( .T. ) is executed.

  * include/hbapi.h
  * src/vm/garbage.c
    ! changed mark function semantic.
      Adding support for user defined mark function I created race condition
      in MT GC code. It happens because blocks marked as deleted were not
      scanned by GC mark code so their subitems where not accessible.
      To fix it we have to change mark function semantic. Now mark function
      can be executed also for blocks currently deleted. It means that GC
      block destructor should clean references to just removed items and
      subblocks. The best place to make it is clearing pointers to GC blocks
      just after hb_itemRelease() or hb_gcRefFree().
      It is save to clean the reference just before hb_itemRelease() or
      hb_gcRefFree() but only for the single block passed to these functions.
      It is not save to clear reference to more then one block and then
      execute above functions.
    + check reference count after destructor execution for all blocks
      not only arrays - warning it may exploit some wrong C code.
    - removed not longer used hb_gcRefCheck() function.

  * include/hbvm.h
  * src/vm/hvm.c
    + added new internal function hb_vmLockForce()
    ! fixed to mark GC blocks with active threads

  * src/vm/thread.c
  * include/hbthread.h
    % modified sync mutexes used by xBase++ signal class emulation
      to not use item array internally
    * updated mutex destructor to new GC mark semantic
    ! mark GT items if GT is bound with thread item
    ! fixed mutex notify/subscribe code to not change GC items
      when HVM stack is unlocked
    ! use hb_vmLockForce() to eliminate potential deadlock
    + added new C function hb_threadEnterCriticalSectionGC().
      It should be used instead of hb_threadEnterCriticalSection()
      in code which manipulates GC items inside critical section.
      It's slower but eliminates possible deadlock condition.
      Please remember that remember that both functions cannot
      be used for the same mutex. So if it's necessary to use
      hb_threadEnterCriticalSectionGC() in one place then it
      has to be used in all others when the same mutex is locked.

  * src/vm/arrays.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/rtl/hbgtcore.c
  * contrib/hbcurl/core.c
  * contrib/hbexpat/core.c
    * updated destructors to new GC mark semantic

  * contrib/hbxpp/dllx.c
    ! fixed destructor for pointer item created by DllPrepareCall()
      Now it respects reference counter.
    ; added note about real behavior of library handle destructor,
      I haven't changed existing code behavior but maybe it should
      be done.

  * contrib/xhb/hbserv.c
  * src/debug/dbgentry.c
  * src/rdd/wacore.c
    ! fixed possible deadlocks by using hb_threadEnterCriticalSectionGC()
      instead of hb_threadEnterCriticalSection().

  * contrib/hbmemio/memio.c
    ! slightly modified hb_memfsDirectory() code to avoid race condition
      without using hb_threadEnterCriticalSectionGC()

  * src/vm/fm.c
    % reduce the lock range in HB_FM_STAT builds

  * src/rtl/hbsocket.c
    ! added missing HVM stack unlocking in hb_socketSelect() function

  * src/rtl/gtxwc/gtxwc.c
    ! added few missing locks for version compiled with HB_XWC_XLIB_NEEDLOCKS

  * src/rdd/dbtotal.prg
    * allow to use symbols instead of codeblocks
    * modified Harbour extension which uses ordKey() as default group
      signature to work also without index. In such case all records
      are summarized into single one.

  ; Most of above modifications were critical for stability of MT programs.
    They should allow to activate GC in any place.
2014-04-01 12:33:17 +02:00
Przemysław Czerpak
4f4f59a64d 2014-03-08 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/hbcmplib.c
  * src/rtl/filesys.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/hbproces.c
  * src/rtl/memofile.c
  * src/vm/runner.c
  * contrib/xhb/txtline.c
    * pacified warnings

  * contrib/hbmemio/memio.c
    ! fixed C&P typo
2014-03-08 14:00:05 +01:00
Przemysław Czerpak
5f6c317492 2014-03-05 11:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    ! added additional protection against recursive debugger activation.
      It should fix problem reported by Rafa.

  * src/rtl/fssize.c
    * use explicit open attributes.

  * src/rtl/copyfile.c
    ! reset error object between different RTE calls in __copyFile()
    ! copy file attributes only on *nix platforms.
      In Cl*pper __copyFile() does not copy attributes so maybe also
      in *nixes we should make the same.

  * contrib/xhb/xhbcopyf.c
    * changed hb_fs*() API to hb_file*() API.
2014-03-05 11:59:16 +01:00
Przemysław Czerpak
4f3c6e53b4 2014-03-04 19:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbserv.c
    * pacified CLANG warning reported by Franček
2014-03-04 19:12:14 +01:00
Przemysław Czerpak
96ca3fe470 2014-01-21 20:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* Makefile
  * config/*
  * contrib/*
  * doc/*
  * extras/*
  * include/*
  * lib/*
  * package/*
  * src/*
  * tests/*
  * utils/*
    * removed empty lines left after removed '$' + 'Id' + '$' identifiers
2014-01-21 20:41:05 +01:00
Viktor Szakáts
6752936b57 use web url instead of obfuscated email 2013-10-09 20:08:24 +02:00