Commit Graph

128 Commits

Author SHA1 Message Date
Lailton Fernando Mariano
9abb685d0c 2023-01-17 12:54 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* src/rdd/dbfcdx/dbfcdx1.c
    ! disabled debug code HB_CDX_DBGCODE
2023-01-17 12:54:27 -03:00
Przemysław Czerpak
889ef46369 2022-11-25 18:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/vm/cmdarg.c
    ! changed returned type in hb_verSvnID() form int to HB_MAXINT

  * src/nortl/nortl.c
    ! fixed void* pointer incrementation
    ! pacified warnings

  * src/rdd/dbcmd.c
    * accept NIL value in hb_FieldPut() according to Aleksander recommendation
2022-11-25 18:14:56 +01:00
Przemysław Czerpak
2807eb7bb5 2022-10-17 20:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rdd/dbcmd.c
    + added two new functions:
         hb_FieldGet( <cFieldName> | <nFieldPos> )
               -> <xFieldValue> | NIL
         hb_FieldPut( <cFieldName> | <nFieldPos>, <xFieldValue> )
               -> <xFieldValue> | NIL
      They works like FieldGet() and FieldPut() but allows to use field
      name instead of field index.
2022-10-17 20:11:27 +02:00
Przemysław Czerpak
5cf00ad438 2022-10-17 19:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
    * pacified warning
2022-10-17 19:58:52 +02:00
Przemysław Czerpak
18e86e0206 2020-04-20 15:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbp
    * added default Qt5 path in Ubuntu64

  * debian/compat
    * changed compatibility level from 5 to 9

  * src/rdd/workarea.c
    ! do not use casting to functions with incompatible parameters.
      Such casting does not work with some ABIs, i.e. when pascal
      calling convention is used and called function should clean
      parameters from the stack.
      This modification should also pacify warnings generated by
      recent GCC versions.
2020-04-20 15:01:57 +02:00
Przemysław Czerpak
e2ebc916a9 2020-04-19 16:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/dattime2.c
    % minor optimization

  * src/rdd/dbsql.c
    ; added somment with syntax info

  * include/inkey.ch
  * src/rtl/hbgtcore.c
    + added support for mouse wheel left and right events to base GT code
2020-04-19 16:32:11 +02:00
Przemysław Czerpak
33f5c0eef4 2019-04-11 17:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/dbinfo.ch
  * src/rdd/dbf1.c
    + added DB_SETHEADER_EOL flag, it's used to force setting EOL marker
      when header is written. In Harbour's DBF* RDDs is set in CLOSE()
      method so just like in Clipper when DBF is closed and header has to
      be updated the EOL() marker is set.
      As side effect reducing header updates to minimal level (in such
      case DBF header is not updated after APPEND what is safe for Harbour,
      Clipper and compatible RDDs because they use file size to calculate
      number of records but some other DBF drivers may be confused)
      increase the APPEND speed and also forces EOL setting in all cases
      when CLOSE() method is called. Header updates can be reduce to minimal
      level by:
         hb_rddInfo( RDDI_SETHEADER, DB_SETHEADER_MINIMAL )

  * src/rdd/usrrdd/usrrdd.c
    ! fixed GPF in UsrRDD redirector for DROP(), EXISTS() and RENAME() methods

  * src/vm/cmdarg.c
    * use HB_MEM_STATISTICS instead of HB_MEM_USEDMAX to check if memory
      statistic module is enabled in //info message
2019-04-11 17:23:41 +02:00
Przemysław Czerpak
f960a5ccda 2017-11-22 11:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * src/rdd/workarea.c
    * generate RTE code when SELF_ADDFIELD() used in SELF_CREATEFIELDS()
      (dbCreate() backend) returns HB_FAILURE. It fixes silent dbCreate()
      exit when some wrong table structure arrays are passed to this
      function.

  * src/rdd/dbf1.c
    ! added protection against too long unicode character and fields defined
      in dbCreate() table structure array - fix problem reported by KevinC -
      thanks
    * change RTE number from EDBF_DATATYPE to EDBF_DATAWIDTH record size is
      exceed
    + added additional protection when corrupted table with unicode fields
      is open
2017-11-22 11:33:59 +01:00
Przemysław Czerpak
dc0403d7dc 2017-11-15 23:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    ! pacified warning after last commit - thanks to Grigory Filatov
2017-11-15 23:34:17 +01:00
Przemysław Czerpak
39041d159c 2017-11-14 20:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    ! fixed typo in index used inside DBS_ISNULL
    ! fixed blanking new record for variable length unicode fields (Q:U)
    ; above fix problems reported by KevinC - many thanks for information
      about the problems and self contain examples - such support really
      helps
    * added protection against possible GPF when corrupted Q:U fields are
      read from DBF file
2017-11-14 20:30:47 +01:00
Viktor Szakats
b6cc8296fb 2017-09-13 11:57 UTC Viktor Szakats (vszakats users.noreply.github.com)
+ src/rdd/usrrdd/rdds/arrayrdd.prg -> contrib/rddmisc/arrayrdd.prg
  + src/rdd/usrrdd/rdds/dbtcdx.prg -> contrib/rddmisc/dbtcdx.prg
  + src/rdd/usrrdd/rdds/fptcdx.prg -> contrib/rddmisc/fptcdx.prg
  + src/rdd/usrrdd/rdds/hscdx.prg -> contrib/rddmisc/hscdx.prg
  + src/rdd/usrrdd/rdds/logrdd.prg -> contrib/rddmisc/logrdd.prg
  + src/rdd/usrrdd/rdds/rlcdx.prg -> contrib/rddmisc/rlcdx.prg
  + src/rdd/usrrdd/rdds/smtcdx.prg -> contrib/rddmisc/smtcdx.prg
  + src/rdd/usrrdd/rdds/vfpcdx.prg -> contrib/rddmisc/vfpcdx.prg
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/dbtcdx.prg
  * src/rdd/usrrdd/rdds/fptcdx.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rdd/usrrdd/rdds/smtcdx.prg
  * src/rdd/usrrdd/rdds/vfpcdx.prg
    * move usrrdd sources to contrib/rddmisc to have the source tree
      in sync with 3.4 fork, where these were converted to a contrib.
      In 3.2 they will still be compiled into core with an #include
      trick.
2017-09-13 12:00:53 +00:00
Viktor Szakats
fa876ddc8a 2017-09-13 11:40 UTC Viktor Szakats (vszakats users.noreply.github.com)
* config/*/*.mk
  * config/*.mk
  * config/postinst.hb
  * ChangeLog.txt
  * src/rdd/usrrdd/rdds/*.prg
    * sync with 3.4 fork minor code changes, comments, some strings
2017-09-13 11:51:47 +00:00
Viktor Szakats
15795f6330 2017-09-12 10:19 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/gtwvg/class.prg
  * contrib/gtwvg/menubar.prg
  * contrib/gtwvg/paint.prg
  * contrib/gtwvg/tests/_activex.prg
  * contrib/gtwvg/tests/_dyndlgs.prg
  * contrib/gtwvg/tests/_modal.prg
  * contrib/gtwvg/tests/_tbrowse.prg
  * contrib/gtwvg/tests/_utils.prg
  * contrib/gtwvg/tests/_wvtcls.prg
  * contrib/gtwvg/tests/_xbp.prg
  * contrib/gtwvg/tests/demowvg.prg
  * contrib/gtwvg/tests/demowvg1.prg
  * contrib/gtwvg/tests/demoxbp.prg
  * contrib/hbhttpd/core.prg
  * contrib/hbhttpd/tests/eshop.prg
  * contrib/hbhttpd/widgets.prg
  * contrib/hbtip/thtml.prg
  * src/debug/dbgtobj.prg
  * src/rdd/hbsix/sxini.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/tbrowse.prg
  * utils/hbtest/rt_array.prg
    * sync with 3.4 fork (no change in functionality)
2017-09-12 10:19:32 +00:00
Viktor Szakats
ff3fbd8e40 core/contrib: whitespace/minor [ci skip] 2017-09-11 19:56:57 +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
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
3e3d5b1776 2017-05-09 10:57 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * src/rdd/workarea.c
    * simplified the code and eliminated wrong /* fallthrough */ comments
      inside case block reported by Viktor
2017-05-09 10:57:43 +02:00
Przemysław Czerpak
d1a58966c8 2017-05-09 09:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/charswap.c
  * contrib/hbct/token1.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbssl/ssl_sock.c
  * contrib/rddads/ads1.c
  * include/hbexprb.c
  * src/common/hbprintf.c
  * src/compiler/cmdcheck.c
  * src/compiler/complex.c
  * src/compiler/gencc.c
  * src/compiler/hbmain.c
  * src/compiler/hbopt.c
  * src/pp/ppcore.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/workarea.c
  * src/rtl/dates.c
  * src/rtl/gtclip.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbgtcore.c
  * src/rtl/itemseri.c
  * src/rtl/strtoexp.c
  * src/vm/classes.c
  * src/vm/task.c
    * added and verified (following Viktor's patch)
      /* fallthrough */ comment for GCC >= 7.
    ; I haven't found any errors in existing code.
      /cc @vszakats

  * src/rdd/dbf1.c
    * minor improvement in dbf1.c
2017-05-09 09:12:35 +02:00
Przemysław Czerpak
76c62a447a 2017-04-15 21:35 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbcompdf.h
  * include/hbexprb.c
  * src/common/expropt1.c
    * redefined all HB_ET_MACRO_* macros as bitfields

  * src/compiler/complex.c
    * small modification for future extensions in macro usage

  * src/compiler/hbcomp.c
    ! replaced old temporrary hack with internal error.

  * src/compiler/hbmain.c
    * code reformating

  * src/compiler/harbour.y
    * separated DECLARE tokens

  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
    * regenerated

  * src/rdd/dbffpt/dbffpt1.c
    ! fixed possible bad interaction (modified default memo type) due to
      uninitialized item returned by hb_stackAllocItem(). Such items may
      contain any simple value.

  * src/vm/memvars.c
    * minor variable name cleanup

  * utils/hbtest/rt_math.prg
    * repeat tests for macro messages and macro <op>=, pre/post ++/--
      operations with and without pass by reference (-ks) optimization
2017-04-15 21:35:32 +02:00
Przemysław Czerpak
9e8e013eb9 2017-03-29 19:50 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/hbgenerr.c
    * changed "with object" in last error message to upper cases

  * src/rdd/dbf1.c
    + added assigned value to error object ARGS array when data type or
      data width error is generated inside PUTVALUE() method

  * utils/hbtest/hbtest.prg
  * utils/hbtest/rt_array.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_math.prg
  * utils/hbtest/rt_misc.prg
    + added support for alternative results to HBTEST code.
      It's enabled by default and can be turned off by -noalt hbtest
      parameter.
    + added alternative results for tests which return different then
      Cl*pper results but they are expected and not Harbour bugs.
2017-03-29 19:50:33 +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
a52a2e57a4 2016-12-15 12:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/harbour.def
  * src/rtl/dateshb.c
    + added new PRG functions which convert time difference to hours,
      minutes, seconds and milliseconds. Except milliseconds the results
      are floating point numbers with fractional part representing the
      rest of conversion:
         hb_NToHour( <nTimeDiff> )  => <nHours>
         hb_NToMin ( <nTimeDiff> )  => <nMinutes>
         hb_NToSec ( <nTimeDiff> )  => <nSeconds>
         hb_NToMSec( <nTimeDiff> )  => <nMilliseconds>
    + added new PRG functions which convert timestamp value to hours,
      minutes, seconds and milliseconds. Except milliseconds the results
      are floating point numbers with fractional part representing the
      rest of conversion:
         hb_TToHour( <tTimeStamp> ) => <nHours>
         hb_TToMin ( <tTimeStamp> ) => <nMinutes>
         hb_TToSec ( <tTimeStamp> ) => <nSeconds>
         hb_TToMSec( <tTimeStamp> ) => <nMilliseconds>

  * src/rtl/gtsln/gtsln.c
    ! fixed cleanup string sent to terminal to remove test UTF-8 character

  * src/rtl/gtsln/kbsln.c
    + added workaround for some broken Linux kernel which wrongly sets
      tty device as ready for reading

  * src/rtl/hbsocket.c
    * added comment

  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    ! added missing tag root page restoring cleared after discarding buffers
      due to concurrent access to multitag indexes.
      Many thanks for Karsten Stucker for self contain example.

  * src/rdd/dbfntx/dbfntx1.c
    * discard buffers when next free page is changed even without touching
      version number - minor protection for potentially broken 3-rd party
      NTX code or very old [x]Harbour NTX RDDs which do not increment
      version number on update.
2016-12-15 12:51:24 +01:00
Przemysław Czerpak
0b8990ede5 2016-11-16 16:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
  * contrib/hbssl/evppkey.c
    + added new C function
         void hb_EVP_PKEY_ret( EVP_PKEY * pkey );

  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/pem.c
    + added new PRG functions:
         PEM_READ_PRIVATEKEY()
         PEM_READ_PUBKEY()

  * contrib/hbssl/ssl_sock.c
    ! added missing HB_SOCKET_ERR_TIMEOUT setting in hb_ssl_socketRead()
    ! fixed cleared to early SSL error code in hb_ssl_socketWrite()

  * contrib/hbssl/tests/inetssl.prg
    ! interrupt test program if server thread stops
    * load server certificates before listen socket is created

  * src/rdd/dbfnsx/dbfnsx1.c
    ! code cleanup to pacify warnings in new GCC versions

  * src/rtl/filesys.c
    ! check if child's fork() was executed successfully

  * src/rtl/hbproces.c
    ! use hb_fsCloseRaw() instead of close() in hb_fsProcessExec() to avoid
      lost handles when close() operation is interrupted by signal.
    ! repeat waitpid() calls interrupted by signal
2016-11-16 16:10:37 +01:00
Przemysław Czerpak
72016f2bc3 2016-09-22 15:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * include/hbvmpub.h
    * removed casting C style casting from commonly used macros

  * contrib/gtqtc/gtqtc1.cpp
    * use C++ casting instead of C casting

  * contrib/rddads/ads1.c
  * contrib/rddads/adsx.c
  * contrib/rddsql/sqlmix.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/workarea.c
    * cleaned HB_IT_* usage

  * contrib/rddads/ads1.c
    ! fixed typo in low level code of ordDescend() / DBOI_ISDESC,
      now ordDescend() should work with ADS* RDDs just like with
      native RDDs

  * contrib/hbfoxpro/relfunc.c
    ! fixed typo in Between() function - thanks to Petr Chorney

  * src/rtl/gtwvt/gtwvt.c
    ! added workaround for keyboard drivers which sets CTRL key modifier
      flag when only ALTGR is pressed - thanks to Maurizio la Cecilia
2016-09-22 15:47:08 +02:00
Przemysław Czerpak
bc5832c719 2016-06-29 23:02 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/delim1.c
  * src/rdd/sdf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/dbcmd.c
  * src/rdd/dbcmd53.c
    * next SELF_INFO() and SELF_RDDINFO() cleanups

  * src/rtl/gtwvt/gtwvt.c
    ! fixed reverted LEFT and RIGHT ALT modifiers in my last commit
2016-06-29 23:02:51 +02:00
Przemysław Czerpak
a7e0e45857 2016-06-23 00:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapiitm.h
  * src/vm/itemapi.c
    + added new C function:
         PHB_ITEM hb_itemPutNil( PHB_ITEM pItem );

  * src/rdd/dbf1.c
    ! fixed yet another RDDI_SETHEADER clearing in internal DBF RDD code
    * clear few passed variables before internal SELF_INFO() and
      SELF_RDDINFO() read calls - they were safe in current code but
      potentially may badly interact with 3-rd party DBF RDD wrappers.
2016-06-23 00:54:16 +02:00
Przemysław Czerpak
7bc80aaf1d 2016-06-22 23:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/dbinfo.ch
    * updated few comments

  * src/rdd/dbf1.c
  * src/rdd/delim1.c
    ! fixed dbInfo( DBI_SETHEADER ) and hb_rddInfo( RDDI_SETHEADER )
      to not changer previous settings
    ! set DB_SETHEADER_APPENDSYNC as default update header mode
2016-06-22 23:58:12 +02:00
Przemysław Czerpak
037ccea634 2016-04-05 16:27 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
    * minor optimization

  * src/rdd/dbcmd.c
  * src/rdd/wacore.c
  * src/rdd/wafunc.c
    ! added protection against exceeding the limit of workarea numbers.
      Current maximum is 65534, WA 65535 is reserved for internal RDD
      WA destructor.
    ! fixed possible memory leak in hb_rddInsertAreaNode()

  * src/vm/set.c
    ! fixed typo in device detection code
    + added NUL to list of known device names in DOS, OS2 and MS-Win builds
    + recognize \\<server>\<device>, \\.\PIPE\*, \\.\<device> as
      device names in DOS, OS2 and MS-Win builds.
2016-04-05 16:27:49 +02:00
Przemysław Czerpak
3b77191f9f 2016-03-25 17:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbclass.ch
    ! use more restrictive PP rules to avoid possible wrong
      interactions with code using 'var' and 'data' identifiers
    * force class name to be valid identifier
    * commented unused rules

  * include/std.ch
    ! fixed CODEPAGE clause in COPY TO and APPEND FROM commands
    + added VIA and CODEPAGE clauses to JOIN command

  * src/rdd/dbcmd.c
    * updated comments with some function syntax
2016-03-25 17:05:31 +01:00
Przemysław Czerpak
0d57fdacfa 2016-03-18 17:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/rdd/dbcmd.c
    + added new function:
         hb_dbGetFilter() -> <bCode> | NIL
      it returns codeblock used as work area filter or NIL

  * src/debug/dbgwa.prg
    * use hb_dbGetFilter() to check if WA filter was set without
      filter text representation

  ; above modifications created by Rolf - thanks

  * src/rdd/dbcmd.c
    ! clear filter if dbGetFilter( , "" ) is called instead of setting
      dummy one - thanks to Rolf
2016-03-18 17:42:58 +01:00
Przemysław Czerpak
7966062349 2016-03-16 14:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbclass.ch
    * disabled DECLARE to not generate ignored by compiler noise in .ppo
      files

  * src/rdd/dbcmd.c
    ! allow to use dbSetFilter() with string only parameter without
      codeblock - Cl*pper compatibility fix.
      Cl*pper allows to set text filter without codeblock. In local
      RDDs it effectively does nothing and only dbFilter() returns it
      but RDDs with automatic filter optimization like CL53/DBFCDX /
      COMIX/ClipMore or RDDs working with remote data base servers
      may use only text version of filter and ignore or use with
      lower priority the codeblock so Harbour has to work like
      Cl*pper here.

  * src/rdd/workarea.c
    * typo in comment

  * contrib/rddads/ads1.c
    * do not validate empty text filters
2016-03-16 14:17:12 +01:00
Przemysław Czerpak
078899e74c 2016-02-18 17:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/fileio.ch
    + added HB_VF_IONAME to hb_vcConfigure() actions

  * contrib/hbbz2io/bz2io.c
  * contrib/hbcomio/comio.c
  * contrib/hbgzio/gzio.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netio.h
  * contrib/hbnetio/netiocli.c
  * contrib/hbpipeio/pipeio.c
  * contrib/hbtcpio/tcpio.c
  * src/rtl/filebuf.c
    + implemented HB_VF_IONAME

  * contrib/hbnetio/netiosrv.c
    ! added protection against possible buffer overflow

  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    * restored CL5.[23] compatible tag selection - I had to broke
      it when I was adding SIX3 compatibility functions
2016-02-18 17:02:48 +01:00
Przemysław Czerpak
24633c2478 2016-02-16 22:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapirdd.h
  * src/rdd/wacore.c
  * src/rdd/workarea.c
    + added new C function which allows to register RDD redirector
      which depends on used table name:
         typedef LPRDDNODE ( * HB_RDDACCEPT )
               ( LPRDDNODE pRddNode, const char * szFileName );
         void hb_rddSetFileRedirector( HB_RDDACCEPT funcAccept,
                                       HB_BOOL fEnable );
    + added new C functions which allows to find RDD respecting
      active redirectors:
         const char * hb_rddFindDrv( const char * szDriver,
                                     const char * szFileName );
         LPRDDNODE hb_rddFindFileNode( LPRDDNODE pRddNode,
                                       const char * szFileName );
    * cleaned some HB_TRACE messages

  * src/rdd/dbcmd.c
  * src/rdd/wafunc.c
    + use functions which respect redirectors to find RDD
2016-02-16 22:30:22 +01:00
Przemysław Czerpak
6cfeaa7407 2016-02-01 14:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/sdf1.c
    ! fixed EOL decoding in DOS, OS2 and MS-Windows builds
2016-02-01 14:55:51 +01:00
Przemysław Czerpak
dc0e4e093c 2016-01-24 13:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/delim1.c
    ! added missing casting - it fixes problem reported by Franček Prijatelj
2016-01-24 13:06:23 +01:00
Przemysław Czerpak
fdd75b00bf 2016-01-22 16:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rtl/gtxwc/gtxwc.c
    ! cleaned C++ casting
2016-01-22 16:55:41 +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
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
Viktor Szakats
fb47ce5e02 2016-01-08 12:38 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* src/rdd/delim1.c
  * src/rdd/sdf1.c
    * scope variables
    * fix indenting
2016-01-08 12:39:23 +01:00
Przemysław Czerpak
8f62b2b985 2016-01-08 12:28 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrdddel.h
  * src/rdd/delim1.c
    + added to DELIM RDD support for defined by user default filename
      extenssion. It can be changed by:
         hb_rddInfo( RDDI_TABLEEXT, ".csv", "DELIM" )
    + added to DELIM RDD support for exporting initial record with field
      names. It can be enabled by:
         hb_rddInfo( RDDI_SETHEADER, 1, "DELIM" )
      and disabled by:
         hb_rddInfo( RDDI_SETHEADER, 0, "DELIM" )
      Importing from CSV files with such header is not supported yet but
      I plan to add it so in the future RDDI_SETHEADER=1 will also effect
      import (APPEND FROM).
2016-01-08 12:28:02 +01:00
Przemysław Czerpak
aae691a434 2016-01-04 21:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbznet.c
  * src/rtl/hbzsock.c
    ! cleanup

  * include/hbrdddel.h
  * include/hbrddsdf.h
  * src/rdd/delim1.c
  * src/rdd/sdf1.c
    + added support for any standard EOL combination to DELIM and SDF RDDs,
      Now LF, CRLF, CR and LFCR EOLs are supported and automatically
      recognized during import if one of such EOLs is also set in HVM by
      _SET_EOL.
    % use 8192 bytes read ahead buffer to speed up import from DELIM and
      SDF RDDs
    + modified file IO operations to work with stream only (no support for
      file seek) Harbour File IO drivers
    % optimized some File IO operations
    * strip all EOF (^Z) characters from imported data. It's not strictly
      Cl*pper compatible because Cl*pper interrupts import on first ^Z
      character anyhow it was always the source of problems when .txt
      files are concatenated by tools like 'cat' in *nixes so I decided
      to change it.
    + added support RECORD clause command in commands like:
         APPEND FROM "data.txt" RECORD (nRec) DELIMITED
         APPEND FROM "data.txt" RECORD (nRec) SDF
      It's Harbour extension - Cl*pper does not support it.
    + generate RTE when some unsupported in transfer RDDs methods are
      called
2016-01-04 21:25:29 +01:00
Przemysław Czerpak
b058c205e6 2015-12-23 17:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/vm/hvm.c
    + added new PRG function:
         __RecoverErrorBlock() -> <bError> | NIL
      It extracts previous error block pushed on HVM stack
      by BEGIN SEQUENCE WITH ...

  * src/rdd/dbf1.c
    ! fixed detecting VFP tables broken in my previous
      modification - thanks to Mario H. Sabado for information
      about the problem.
2015-12-23 17:53:42 +01:00
Przemysław Czerpak
d074db1033 2015-12-15 23:48 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* config/dos/watcom.mk
  * config/win/watcom.mk
  * config/linux/watcom.mk
    ! enabled -bd OpenWatcom switch for code compiled as part of dynamic
      libraries
    * use CauseWay as default DOS extender for dynamic DOS builds

  * config/dyn.mk
  * config/lib.mk
  * src/Makefile
    ! fixed list of libraries used to create Harbour DLL in DOS builds

  * config/bin.mk
  * src/vm/Makefile
    * create hbmainstd library for OpenWatcom DOS shared builds

  * src/vm/maindllh.c
    + added DLL entry function for CauseWay DLLs in OpenWatcom builds

  * src/vm/main.c
    * include maindllh.c in OpenWatcom DOS shared builds

  * utils/hbmk2/hbmk2.prg
    + added support for dynamic binaries in DOS OpenWatcom builds.
      Support for CauseWay DLLs is still broken in current OpenWatcom
      builds so it will have to wait for the fix to be usable.

  * src/vm/dynlibhb.c
    + added support for dynamic libraries to OpenWatcom DOS builds.
      Now it's enabled only in harbour.dll due to problems with
      CW and current OW.

  * src/3rd/zlib/zconf.h
  * src/3rd/zlib/zlib.dif
    * use OS2 patch for exporting ZLIB symbols also in DOS builds

  * src/rdd/dbf1.c
    * pacified warning
2015-12-15 23:48:52 +01:00
Przemysław Czerpak
ea09561adf 2015-12-09 14:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/dbinfo.ch
  * include/hbrdddbf.h
  * src/rdd/dbf1.c
    + added new RDD switch RDDI_SETHEADER
      It allows to define how DBF header is updated in tables which
      will be opened later, i.e.:
         // maximize performance reducing number of DBF header updating
         // header is updated only when table is closed if before new
         // record was added
         hb_rddInfo( RDDI_SETHEADER, DB_SETHEADER_MINIMAL )
      or:
         // update header in the same moment as Clipper and xBase++
         // and store only last two digit from the year for compatibility
         // with old dBase and FoxPro versions
         hb_rddInfo( RDDI_SETHEADER, ;
                     hb_bitOr( DB_SETHEADER_CLIPPER, DB_SETHEADER_YYEAR ) )
         // DB_SETHEADER_CLIPPER
      By default Harbour uses DB_SETHEADER_APPENDSYNC.
      For more information look at comments for DB_SETHEADER_* switches
      in dbinfo.ch
    + added new table switch DBI_SETHEADER
      It has the same meaning as RDDI_SETHEADER but changes the header
      updated mode of already open table by dbInfo() function.

  * src/rtl/filebuf.c
    ! added missing redirection for Configure() method.

  * src/rtl/hbproces.c
    ! fixed sysconf() emulation for OpenWatcom 1.9 and earlier to work with
      _SC_PAGESIZE
2015-12-09 14:22:57 +01:00
Przemysław Czerpak
43006ae7e9 2015-12-01 22:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    * update DBF header only after modification in COMMIT and CLOSE methods.
      It's Cl*pper and xBase++ compatible behavior anyhow it also means that
      number of records in DBF header is not modified just after APPEND
      so it cannot be used to synchronization in concurrent file access.

  * src/rtl/hbproces.c
    ! safe and restore hb_fsError() when unused pipe handles are closed
      in hb_fsProcessOpen()
    ! add extension (.com or .exe) in hb_fsProcessOpen()/hb_fsProcessRun()
      when executed command is given with PATH part and without extension.
      It's documented that DosExecPgm() needs full filename in such case.
      It fixes problem with contrib/make.hb which calls hbmk2 with directory
      part but without extension.
    ! enabled pipes instead of temporary files for stdio redirection in OS2
      builds of hb_fsProcessRun() - now it should work correctly.

  * src/rtl/hbprocfn.c
    + update FError() in hb_Proces*() functions
2015-12-01 22:46:39 +01:00
Przemysław Czerpak
706a75cece 2015-11-25 15:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/rtl/dateshb.c
    + added two new PRG functions:
         hb_SecToT( <nSeconds> ) -> <tTime>
         hb_MSecToT( <nMilliseconds> ) -> <tTime>

  * include/hbset.h
  * src/vm/set.c
    + added new C function:
         int hb_setUpdateEpoch( int iYear );
      if necessary it converts year respecting _SET_EPOCH settings

  * src/rtl/dates.c
    * use hb_setUpdateEpoch() instead of local code

  * src/rdd/dbf1.c
    ! respect _SET_EPOCH decoding DBF update time from DBF HEADER
      (LUpdate() function).
      It's not Cl*pper compatible anyhow looks that most of tools
      stores only last two digits from the year (just like in the
      DBF documentation) and -1900 trick is not used so it helps
      to decode correct update date.
    * store 'year % 100' instead of 'year - 1900' in DBF header
      when DBF table with VFP signature is used (DB_DBF_VFP).
2015-11-25 15:06:44 +01:00
Przemysław Czerpak
7275392fb6 2015-11-24 09:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapirdd.h
  * src/rdd/wacore.c
    * changed 4-th parameter of hb_rddRequestArea() from HB_BOOL fWait to
      HB_ULONG ulMilliSec
      [INCOMPATIBLE]

  * src/rdd/dbdetach.c
    + accept optionally as 4-th parameter of hb_dbRequest() numeric value
      with timeout in seconds. The previous version using xBase++ compatible
      parameters (logical value <lWait> in 4-th parameter) is still working.

  ; above modifications are based on request and patch sent to harbour-devel
    list by Rolf (many thanks), ref:
    https://groups.google.com/forum/?hl=pl#!topic/harbour-devel/Pu2b1M5VXjU
2015-11-24 09:03:56 +01:00
Przemysław Czerpak
80b10a3a72 2015-11-23 23:24 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    + reserve space for DBC name in newly created DBF files with VFP DBF
      signature, Thanks to Nikos Christophi, Jeff Stone and other who
      reported this problem.
    + added RTE when size of DBF header is exceed by "_NullFlags" field

  * src/vm/thread.c
    ! typo in comment
2015-11-23 23:24:30 +01:00