Commit Graph

1314 Commits

Author SHA1 Message Date
Viktor Szakats
50aa6934f3 2012-06-22 15:59 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/png/Makefile
  * src/3rd/png/*
    * updated to 1.5.11 (from 1.5.10) using 3rdpatch.hb
2012-06-22 14:02:52 +00:00
Przemyslaw Czerpak
340fc44e05 2012-06-20 13:02 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/valtype.c
  * harbour/include/harbour.hbx
    + added new PRG function HB_ISEVALITEM()
      It returns true if item can be evaluated by EVAL() function,
      i.e. for codeblocks and function symbols.
      In the future it can be extended to accept objects with :EVAL()
      methods.
2012-06-20 11:02:39 +00:00
Przemyslaw Czerpak
050a58456e 2012-06-19 08:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/hbffind.c
    * ulAttr -> nAttr
    + added support for softlinks in * nix systems.
      Now they are reported with "L" attribute by directory() function.
      This modification also fixes directory scanning interrupted by
      dummy softlinks.

  * harbour/contrib/xhb/dirrec.prg
    ! fixed double added extension to file mask
2012-06-19 06:15:00 +00:00
Przemyslaw Czerpak
faf0b92f31 2012-06-18 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/dbinfo.ch
  * harbour/src/rdd/dbf1.c
    + added new dbFieldInfo() actions:
         DBS_COUNTER - get/set autoincrement field counter
         DBS_STEP    - get/set autoincrement field step
    * reset autoincrement and row version fields in ZAP operation
2012-06-18 15:34:06 +00:00
Przemyslaw Czerpak
e86e0b6a33 2012-06-18 15:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/3rd/pcre/Makefile
    * disabled JIT support in default builds.
      It fixes build process for platforms which do not support MT mode
      like some old Linux distors. I also made runtime tests with some
      simple expressions and on x86 based CPUs the difference is really
      minor. PCRE compiled with JIT is a little bit faster in regex
      compilation (~5%) but slower in regex evaluation (10%).
      AFAIR completely different results then suggested by documentation.
      For tests I used rather simple expression on small data set:
         cData := hb_TSToStr( hb_datetime() )
         cExp := "[:]([a-zA-Z]|[0-9])[0-9][:]..[.]"
      But such short expressions and data are quite common in real
      programs.
      If someone wants to enable JIT in his build then he can make it
      using SUPPORT_JIT macro, i.e.:
         export HB_USER_CFLAGS=-DSUPPORT_JIT
2012-06-18 13:32:52 +00:00
Viktor Szakats
a644d9f546 2012-06-18 11:29 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/make.hb
    * deleted few old TODOs

  * src/rtl/cdpdet.prg
    ! updated to not give fatal warnings on msdos and os2
2012-06-18 09:30:45 +00:00
Viktor Szakats
ebaf33647f 2012-06-17 14:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsx.c
  * src/common/hbfsapi.c
    ! deleted explicit newlines at EOL in HB_TRACE() calls

  * INSTALL
    + added new '0. GUARANTEES AND LIABILITY' section
    ! updated instructions to create debug build

  * utils/hbmk2/hbmk2.prg
    * minor cleanups

  * utils/hbmk2/Makefile
    + enabled dynamic version of hbmk2 only for mingw builds.
      Rest of the targets may or may not work due to CRTL
      usage (fprintf()) from HB_COMPILE*() calls which causes
      GPF in currently generated shared builds, most probably
      due to double copy of statically linked CRTL code.
      mingw uses MSVCRT.DLL, so it's not prone to this.
      Solution is either to avoid file handling CRTL calls
      in compiler code, or to tweak -shared build setting to
      death to make it work for all non-mingw compilers.
      Both of these is very difficult.
      This means that dynamic module loading from scripts
      will only work in hbmk2 built with mingw.

   ; TOFIX: 'make clean' on contribs doesn't work with mingw,
            because harbour dll is deleted before hbmk2 is
            called, so it cannot be started for cleanup.
2012-06-17 12:50:22 +00:00
Viktor Szakats
79bdb0e6d9 2012-06-16 21:52 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbcurl/hbcurl.hbp
  * contrib/hbssl/hbssl.hbp
    + added experimental support to install 3rd party .dll
      dependencies for these libs into the Harbour bin dir.
      Enabled with new build option, not yet documented,
      see it in the patch.

  * src/rtl/cdpdet.prg
    + request linkage of all codepages. I chose this to ensure
      the detection code can use all CPs automatically and it
      won't be unusable if users forget to request CPs
      themselves. This has an overhead if someone uses CP
      autodetection, but it makes it foolproof.

  * utils/hbmk2/hbmk2.prg
    * minor formatting
2012-06-16 19:56:11 +00:00
Viktor Szakats
e244eedb87 2012-06-16 16:48 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbamf/hbamfobj.prg
    * made it more friendly with grep when finding undocumented functions
      by removing #translate.

  * src/vm/hvm.c
    ! added HB_STACK_TLS_PRELOAD

  * include/harbour.hbx
    ! added __ITEMSETREF(), __VMITEMID()

  * src/rtl/valtoexp.prg
    * hb_setItemRef() -> __itemSetRef(). Please tell if it's meant to
      be a user-accessible, public core API

  * utils/hbmk2/hbmk2.prg
    ! fixed to ignore HB_INSTALL_PREFIX variable in runner mode.
      This points to invalid places while running as part of GNU
      Make and prevents autodetection.
      TODO: Recheck if it now works without embedded headers.
      TODO: Obsolete HB_INSTALL_PREFIX also in hbmk2 mode.
2012-06-16 14:53:27 +00:00
Przemyslaw Czerpak
5271369df1 2012-06-16 12:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbexprb.c
    ! fixed hb_arrayToParams() used in array index context
      ( var[ hb_arrayToParams() ] ) unintentionally disabled by
      2010-11-08 23:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

  * harbour/src/vm/hvm.c
    + added __vmItemId() function.

  * harbour/src/rtl/valtoexp.prg
    + added support for array, object and hash references to hb_valToExp().
      Now this function works correctly also for items with cyclic
      references.
2012-06-16 10:42:43 +00:00
Viktor Szakats
f36a5dbd3c 2012-06-15 03:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/3rdpatch.hb
  * contrib/make.hb
    * changed to be executed by hbmk2

  - contrib/hbrun/extdyn.prg
  - contrib/hbrun/hbrun.prg
  - contrib/hbrun/hbrun.rc
  - contrib/hbrun/headers.prg
  - contrib/hbrun/p_ext.hb
  - contrib/hbrun/plugins.prg
  * contrib/hbrun/hbrun.hbp
    % changed to use hbmk2 sources and make file to build hbrun,
      implementing the build method described in previous ChangeLog
      entry. The lost feature is netio management plugin, which
      is now not loaded by default. Plus, since this is a static
      build, dynamic extensions don't work.

  * contrib/make.hb
  * src/pp/ppcore.c
    * deleted reference to hbrun in comment

  * contrib/hbnetio/utils/hbnetio/netiocon.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
    * __hbrun_plugin() -> __hbshell_plugin()

  * INSTALL
    * minor in previous change
2012-06-15 01:21:55 +00:00
Przemyslaw Czerpak
cda71d8c53 2012-06-14 00:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbset.h
  * harbour/src/vm/set.c
    % removed HB_SET_OSCODEPAGE
    % replaced HB_SET_DBCODEPAGE with hb_set_dbcp
    * generate RTE when wrong parameter type (not string or NIL) is
      passed to HB_SET_LANGUAGE, HB_SET_CODEPAGE, HB_SET_OSCODEPAGE,
      HB_SET_DBCODEPAGE

  * harbour/src/rtl/langapi.c
    * generate RTE 1303 when not existing lang module name is passed to
      hb_langSelectID() C function. It affects on all upper level
      code using this function. NULL is accepted as valid parameter.

  * harbour/src/rtl/cdpapi.c
    * generate RTE 1302 when not existing codepage name is passed to
      hb_cdpFindExt() C function. It affects on all upper level
      code using this function. NULL is accepted as valid parameter.
      If programmer does not want to generate RTE when wrong codepage
      name is passed then he should use hb_cdpFind() instead.

  * harbour/src/rtl/cdpapihb.c
    * use hb_cdpFindExt() instead if hb_cdpFind() in HB_CDPUNIID()
      function.

  * harbour/src/rtl/cdpapihb.c
  * harbour/contrib/hbexpat/internal.c
    ! use hb_parc() instead of hb_parcx() to get codepage name
      from optional parameter.

  * harbour/utils/hbmk2/Makefile
    ! fixed build process, now hbmk2 need HB_LIBS_MT_RDD

  * harbour/src/rtl/tpersist.prg
    % optimized decoding code which could be two slow with UTF8EX or
      similar CPs.
2012-06-13 22:55:29 +00:00
Viktor Szakats
169631527c 2012-06-12 04:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbhttpd/log.prg
  * contrib/hbtip/log.prg
  * contrib/hbziparc/ziparc.prg
  * src/rtl/hbdoc.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/memvarhb.prg
  * src/rtl/tlabel.prg
  * src/rtl/treport.prg
    % use HB_FNAMEEXTSETDEF() instead of manual logic.
      it also fixes RTEs in hbziparc when passed non-string
      filename to nearly any of its APIs.

  * utils/hbi18n/hbi18n.hbp
    * missed -shared enabler in .hbp

  * utils/hbmk2/Makefile
  * utils/hbmk2/hbmk2.hbp
    + enabled -shared build for hbmk2

  * utils/hbmk2/hbmk2.prg
    % consolidated .hbc finder logic
    % moved 'hbmk' structure initializations to subfunctions
    + added Harbour installation autodetection for hbmk2's
      runner mode. It's copy-paste code yet.
    + added automatic include path configuration in hbmk2's
      runner mode. It means that now #require-d extensions
      will have their include paths setup, so their header
      will be found, so they can be used now.

  ; I more and more see it a reality to integrate hbrun
    functionality into hbmk2. #require logic needs
    much of hbmk2's facilities, and hbmk2 already has
    basic runner capabilities. Contrib libs (and plugins)
    will all have to be loaded dynamically in such case,
    but since it works well, it should not be a problem.
    Finally hbmk2 can be the utility that runs scripts
    dynamically and also able to build an exe from them,
    using the exact same source code, without any external
    configuration, if the source code provides "#require"
    clues. All it needs is both dynamic and static versions 
    of extensions (=contribs or addons).
2012-06-12 02:30:41 +00:00
Przemyslaw Czerpak
8789944a3d 2012-06-11 17:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/contrib/hbct/misc1.c
    % optimized XTOC()

  * harbour/doc/xhb-diff.txt
    * added some additional description to the section
      OOP AND CLASS OBJECT/CLASS MESSAGES

  * harbour/doc/Makefile
    * added xhb-diff.txt

  * harbour/include/hbapi.h
  * harbour/src/vm/arrays.c
    + added new C function hb_arrayFromId()

  * harbour/contrib/hbqt/qtcore/hbqt_bind.cpp
    * use hb_arrayFromId() instead of local hb_arrayCreateClone()
      with hb_arrayPushBase() inside
    * do not use hbvmint.h
    ! fixed few bugs in this code. I haven't analyzed this code deeply
      and how it's used so I cannot say it's correct. I only fixed few
      completly wrong places which caused HVM stack corruption, internal
      GC item list corruption or were completly dummy calls.
2012-06-11 15:18:06 +00:00
Viktor Szakats
924db6f7ed 2012-06-11 15:31 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/vm/dynsym.c
    + added HB_ISFUNCTION( <cName> ) -> <lExists>
      uses Przemek's code from hbfship/ISFUNCTION() with minor
      adaptation for VM.
      Use it instead of __DYNSISFUN() and TYPE( <cName> ) == "UI".

  * include/harbour.hbx
    * formatted HB_IS*() functions used for type checking

  * contrib/hbfship/isfunc.c
    % converted ISFUNCTION() to wrapper for HB_ISFUNCTION()

  * contrib/hbide/ideplugins.prg
  * contrib/hbrun/hbrun.prg
  * contrib/hbxpp/xppop.prg
  * contrib/xhb/xhbcomp.prg
  * contrib/xhb/xhberr.prg
  * examples/hbdoc/hbdoc.prg
    % Using HB_ISFUNCTION() instead of __DYNSISFUN() and TYPE( <cName> ) == "UI"
2012-06-11 13:32:11 +00:00
Viktor Szakats
2934968133 2012-06-10 16:43 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbziparc/ziparc.prg
    ! fixed using old IS*() macro w/o common.ch

  * contrib/hbziparc/tests/unzipa.prg
  * contrib/hbziparc/tests/zipa.prg
    + added #require directives

  * contrib/hbgd/tests/animgif.prg
  * contrib/hbgd/tests/antialia.prg
  * contrib/hbgd/tests/barms.prg
  * contrib/hbgd/tests/bartest.prg
  * contrib/hbgd/tests/counter.prg
  * contrib/hbgd/tests/gdtest.prg
  * contrib/hbgd/tests/gdtestcl.prg
  * contrib/hbgd/tests/test_out.prg
  * contrib/hbgd/tests/testdpi.prg
  * contrib/hbgd/tests/tostring.prg
  * contrib/hbgd/tests/tpoly.prg
  * examples/httpsrv/modules/showcounter.prg
    * cleanups and fixes (replaced ISDIRECTORY() xhb function,
      fixed Windows dir detection, added simpleio.ch)

  * contrib/hbzebra/tests/testcair.prg
  * contrib/hbzebra/tests/testhpdf.prg
  * contrib/hbzebra/tests/testwin.prg
  * contrib/rddads/tests/datad.prg
  * contrib/rddads/tests/testmg.prg
    + added #require directives for testing

  * contrib/hbfoxpro/misc.prg
  * contrib/hbnf/clrsel.prg
  * contrib/hbnf/menu1.prg
  * contrib/hbnf/metaph.prg
  * src/rtl/hbi18n2.prg
  * utils/hbtest/rt_str.prg
    * formatting (to help a grep case)
2012-06-10 14:48:22 +00:00
Viktor Szakats
7e446e2d02 2012-06-10 14:11 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/cdpdet.prg
    ! *nix specific CP autodetection code missed to call
      a local conversion subfunction.

  * src/rtl/gtfunc.c
    * HB_SETDISPCP(), HB_SETTERMCP(), HB_SETKEYCP() will
      now not RTE when passed NIL as 1st paramater. This
      makes it smoother to fall-back on purposedly invalid
      values, f.e. return values of new HB_CDPOS() and 
      HB_CDPTERM() in case of failure.

  * contrib/hblzf/tests/test2.prg
    + replaced in-source hbmk2 cmdline instructions with
      #require directive

  * contrib/gtwvg/tests/wvgactivex.prg
    ! fixed reference to non-existing batch file

  * doc/en/file.txt
  * doc/gmake.txt
  * doc/windll.txt
  * examples/gtwvw/docs/gtwvw.txt
  * examples/gtwvw/docs/whatsnew.txt
  * examples/gtwvw/tests/drawimg.prg
  * examples/guestbk/guestbk.txt
  * examples/hscript/readme.txt
    - deleted references to non-existing/obsolete batch files
2012-06-10 12:13:08 +00:00
Viktor Szakats
969e4ab0d9 2012-06-10 01:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbmlzo/hbmlzo.hbc
    ! fixed commented lib reference rendering the .hbc file unusable

  * contrib/hbmlzo/tests/test.prg
    + replaced in-source hbmk2 cmdline instructions with
      #require directive

  * contrib/hbqt/hbmk2_qt.hb
  * src/rtl/hbdoc.prg
  * utils/hbmk2/examples/plug_tpl.hb
    % use '%d' in hb_strformat() instead of calling hb_ntos()

  * utils/hbmk2/hbmk2.prg
    + show different message when .hbc file is triggered by
      #require directive

  * contrib/hbmlzo/hbmlzo.ch
    * formatting
2012-06-09 23:29:56 +00:00
Viktor Szakats
256803e47a 2012-06-09 21:19 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/Makefile
  + src/rtl/cdpdet.prg
  + src/rtl/cdpdetc.c
    + moved terminal and OS detection logic from hbmk2 to RTL
      with changes necessary to fit into core. New functions are:
        hb_cdpOS() -> <cCP | NIL>
        hb_cdpTerm() -> <cCP | NIL>
      it means these functions can be used in any apps now.
      Example:
        hb_SetTermCP( hb_cdpTerm() )
        Set( _SET_OSCODEPAGE, hb_cdpOS() )

  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/Makefile
  - utils/hbmk2/hbmk2c.c
  * utils/hbmk2/hbmk2.hbp
  * utils/hbmk2/hbmk2.prg
    * using hb_cdpOS() and hb_cdpTerm() to automatically
      configure OS and terminal CP
2012-06-09 19:20:20 +00:00
Viktor Szakats
c0fff41758 2012-06-08 01:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbct/getsecrt.prg
  * contrib/hbgd/gdbar.prg
  * contrib/hbgd/gdbarcod.prg
  * contrib/hbhttpd/tests/eshop.prg
  * contrib/hbide/ideconsole.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/todbc.prg
  * contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/tests/wvtqt.prg
  * contrib/hbsqlit3/tests/hdbctest.prg
  * contrib/hbtip/tests/tiptest.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbwin/tests/olesrv1.prg
  * contrib/hbwin/tests/testax.prg
  * contrib/hbxpp/browdbx.prg
  * contrib/hbxpp/tthreadx.prg
  * contrib/xhb/cstruct.prg
  * contrib/xhb/dirrec.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/htjlist.prg
  * contrib/xhb/tcgi.prg
  * contrib/xhb/tedit.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/ttable.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/xhbcls.ch
  * contrib/xhb/xhberr.prg
  * contrib/xhb/xhbole.prg
  * contrib/xhb/xhbtedit.prg
  * doc/codebloc.txt
  * doc/en/command.txt
  * doc/en/objfunc.txt
  * include/hbpers.ch
  * include/std.ch
  * src/common/expropt1.c
  * src/compiler/hbmain.c
  * src/debug/dbghelp.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/rdd/dbfntx/dbfntx0.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rtl/browdb.prg
  * src/rtl/browse.prg
  * src/rtl/dirscan.prg
  * src/rtl/errsys.prg
  * src/rtl/hbini.prg
  * src/rtl/listbox.prg
  * src/rtl/tclass.prg
  * src/rtl/tlabel.prg
  * src/rtl/tobject.prg
  * src/rtl/treport.prg
  * utils/hbtest/rt_mt.prg
    * some formatting (almost only whitespace)

  * contrib/xhb/dirrec.prg
  * src/rtl/dirscan.prg
    ! use directry.ch constants

  * contrib/hbqt/tests/draggable.prg
    ! hbformat and manual formats/cleanups

  * src/vm/maindllp/dllext.c
    ! fixed typo in recent addition
2012-06-07 23:18:44 +00:00
Viktor Szakats
9684accf5f 2012-06-07 12:15 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/Makefile
  * include/common.ch
  + include/hbhash.ch
    + moved hash-related constants from common.ch to new hbhash.ch
    ; common.ch include hbhash.ch for compatibility, protected by
      HB_LEGACY_LEVEL4 so it will stop being included automatically.
      If you use HB_HAUTOADD_* or HB_HMERGE_* constants, make sure
      to #include "hbhash.ch".

  * contrib/hbrun/headers.prg
  * utils/hbmk2/hbmk2.prg
    + include hbhash.ch

  * src/rdd/hbsix/sxini.prg
    * use hbhash.ch instead of common.ch
2012-06-07 10:20:17 +00:00
Viktor Szakats
e43cdcc5cd 2012-06-07 00:23 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/xhb/bkgtsks.c
  * doc/en/hb_api.txt
  * doc/en/hb_apird.txt
  * include/hbapi.h
  * include/hbapicls.h
  * include/hbapierr.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbstack.h
  * include/hbtypes.h
  * include/hbvmpub.h
  * src/rdd/nulsys/nulsys.c
  * src/rdd/wafunc.c
  * src/rtl/idle.c
  * src/rtl/type.c
  * src/vm/arrays.c
  * src/vm/classes.c
  * src/vm/estack.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/macro.c
  * src/vm/maindllp/dllext.c
  * src/vm/memvars.c
    % HB_ITEM_PTR -> PHB_ITEM
    * HB_ITEM_PTR, PHB_CODEBLOCK and HB_BASEARRAY_PTR marked
      with HB_LEGACY_LEVEL4, latter two were unused
      inside Harbour SVN.

  * contrib/xhb/bkgtsks.c
  * src/vm/dynsym.c
    % two more local pointer type synonyms deleted
2012-06-06 22:26:21 +00:00
Viktor Szakats
d0234ae015 2012-06-06 19:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbapi.h
    - deleted unused old HB_BASEARRAY_PTR type. INCOMPATIBLE.
      Same as PHB_BASEARRAY, use this instead.

  * include/hbtypes.h
  * src/vm/maindllp/dllext.c
    + added hb_macroTextValue() to hbmaindllp.

  ; TODO: rename all HB_ITEM_PTR to PHB_ITEM and delete former.
          pls shout if there is any difference in usage between 
          these two.
2012-06-06 17:19:43 +00:00
Viktor Szakats
4d96da75b6 2012-06-06 10:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/pp/ppcore.c
    + accept and ignore '#require' PP directive

  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/hbmk2.prg
    + use '#require "name"' to request modules.
      (This replaces former '//#require', '//#pragma module' and
       '*#pragma module' directives.)

  * utils/hbmk2/hbmk2.prg
    + add .hbc automatically for '#require' directives (experimental)
      ; TODO: to work also in non-incremental mode and to work
              reliably in -inc mode. To not impact performance, the
              compiler could do a callback when #require is found,
              hbmk2 could find the .hbc and extend compiler options
              dynamically.
    ! fixed finding .hbc files that were detected automatically

  * contrib/hbrun/hbrun.1
    + added my name as author
2012-06-06 08:29:39 +00:00
Viktor Szakats
22c96ec47a 2012-06-06 04:07 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbrun/hbrun.prg
  * contrib/hbrun/pullext.prg
    + changed to use '//#require' syntax.
    ! filter empty dynamic modules
    + display error when trying to load dynamic modules in static
      hbrun build

  * include/hbver.ch
  * src/rtl/version.c
    + added hb_Version( HB_VERSION_SHARED ) to query whether
      the app was built in shared mode or static.
2012-06-06 02:10:45 +00:00
Viktor Szakats
7137863524 2012-06-05 02:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/debug/debugger.prg
  * src/rdd/dbstrux.prg
  * src/rdd/dbtotal.prg
  * src/rdd/dbupdat.prg
  * src/rdd/rddord.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rtl/adir.prg
  * src/rtl/alert.prg
  * src/rtl/checkbox.prg
  * src/rtl/dbedit.prg
  * src/rtl/getsys.prg
  * src/rtl/getsys53.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/listbox.prg
  * src/rtl/menuto.prg
  * src/rtl/objfunc.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/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
  * src/rtl/treport.prg
  * src/rtl/ttopbar.prg
    * converted 'DEFAULT ... TO ...' to
      a) __defaultNIL() where bug compatibility is desired
      b) IF ... == NIL ... where default value had execution cost
      c) hb_default() where above side-effect were not in play
    % deleted '#include "common.ch"'
    * minor formatting

    ; "common.ch" is now eliminated from all core core and all
      contribs except gtwvg/hbide/hbxbp/xhb/examples where it's
      used excessively and very few more places. Please
      don't readd it, but use HB_DEFAULT() and HB_IS*() functions
      instead. Only use "common.ch" if you need HB_HAUTOADD_* or
      HB_HMERGE_* constants.
2012-06-05 00:50:34 +00:00
Viktor Szakats
23d0e32411 2012-06-05 00:43 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/radiogrp.prg
    % deleted '#include "common.ch"'

  * contrib/hbtip/sessid.prg
    ! playing it safe: using simple IF/ENDIF instead of HB_DEFAULT() 
      on a multi-type variable

    ; NOTE: One more implication of HB_DEFAULT vs. DEFAULT ... TO ...
            is that the default expression is always evaluated with
            the former.
2012-06-04 22:43:50 +00:00
Viktor Szakats
5633f2b4f3 2012-06-05 00:18 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib\hbblat\tests\blatcmd.prg
  * contrib\hbblat\tests\blattest.prg
  * contrib\hbct\tests\datetime.prg
  * contrib\hbcurl\tests\ftp_uldl.prg
  * contrib\hbfimage\tests\fitest.prg
  * contrib\hbformat\hbfmtcls.prg
  * contrib\hbformat\utils\hbformat.prg
  * contrib\hbfoxpro\dll.prg
  * contrib\hbgd\gd.prg
  * contrib\hbgd\gdbarcod.prg
  * contrib\hbgd\tests\animgif.prg
  * contrib\hbgd\tests\antialia.prg
  * contrib\hbgd\tests\counter.prg
  * contrib\hbgd\tests\gdtest.prg
  * contrib\hbgd\tests\gdtestcl.prg
  * contrib\hbgd\tests\test_out.prg
  * contrib\hbgd\tests\testdpi.prg
  * contrib\hbgd\tests\tostring.prg
  * contrib\hbmagic\tests\hbmagit.prg
  * contrib\hbmisc\fcomma.prg
  * contrib\hbmxml\tests\testmxml.prg
  * contrib\hbmysql\tsqlbrw.prg
  * contrib\hbnf\menu1.prg
  * contrib\hbnf\pegs.prg
  * contrib\hbnf\popadder.prg
  * contrib\hbnf\savesets.prg
  * contrib\hbnf\tempfile.prg
  * contrib\hbpgsql\tests\cache.prg
  * contrib\hbpgsql\tests\dbf2pg.prg
  * contrib\hbpgsql\tests\simple.prg
  * contrib\hbpgsql\tests\stress.prg
  * contrib\hbqt\qtgui\hbqt_errorsys.prg
  * contrib\hbsms\tests\send.prg
  * contrib\hbsqlit3\hdbcsqlt.prg
  * contrib\hbsqlit3\tests\authoriz.prg
  * contrib\hbsqlit3\tests\backup.prg
  * contrib\hbsqlit3\tests\hdbctest.prg
  * contrib\hbsqlit3\tests\hooks.prg
  * contrib\hbtip\cgi.prg
  * contrib\hbtip\client.prg
  * contrib\hbtip\ftpcli.prg
  * contrib\hbtip\httpcli.prg
  * contrib\hbtip\sessid.prg
  * contrib\hbtip\tests\dnldftp.prg
  * contrib\hbtip\tests\gmail.prg
  * contrib\hbtip\tests\upld_ftp.prg
  * contrib\hbwin\tests\dlg.prg
  * contrib\hbwin\tests\testsvc.prg
  * contrib\hbwin\win_tcom.prg
  * contrib\hbxpp\tgetx.prg
  * contrib\hbxpp\xppop.prg
  * contrib\hbziparc\ziparc.prg
  * examples\hbbtree\tbtree.prg
  * examples\httpsrv\modules\info.prg
  * examples\httpsrv\modules\testajax.prg
  * examples\rddado\adordd.prg
  * examples\terminal\terminal.prg
  * src\rdd\usrrdd\rdds\arrayrdd.prg
  * src\rdd\usrrdd\rdds\logrdd.prg
  * src\rtl\achoice.prg
  * src\rtl\radiogrp.prg
  * src\rtl\tclass.prg
  * tests\usrrdd\exlog.prg
    * using HB_DEFAULT() instead of DEFAULT ... TO ...
    % deleted '#include "common.ch"' where possible
    ; please pay attention to places where multiple values are
      accepted and DEFAULT applied. It's possible some of these
      might have been slipped my attention and converted to
      HB_DEFAULT(), causing regression.

  * src/rdd/usrrdd/rdds/arrayrdd.prg
    ! typos in recent mods
2012-06-04 22:21:59 +00:00
Viktor Szakats
d67c95e1bb 2012-06-04 23:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib\gtwvg\wvgwing.c
    ! fixed 64-bit warning (do not use NULL for numeric parameters)

  * contrib\hbqt\gtqtc\gtqtc.cpp
  * contrib\hbqt\hbmk2_qt.hb
  * contrib\hbqt\qtcore\hbqt_bind.cpp
  * contrib\hbqt\qtcore\hbqt_pointer.cpp
  * contrib\hbqt\qtgui\hbqt_errorsys.prg
  * contrib\hbqt\tests\demoqt.prg
  * contrib\hbqt\tests\testbrow.prg
    ! killed HB_TR_ALWAYS _again_. Do not readd them.
    + added TOFIX for .qth information embedded into plugin
    % minor opt in .prg code

  * include\harbour.hbx
  * src\rtl\hbdef.c
    + added __DEFAULTNIL() which is fully compatible with DEFAULT ... TO ...

  * src\debug\dbghelp.prg
  * src\debug\dbgtarr.prg
  * src\debug\dbgthsh.prg
  * src\debug\dbgtmitm.prg
  * src\debug\dbgtobj.prg
  * src\debug\dbgtwin.prg
  * src\debug\debugger.prg
  * src\rdd\usrrdd\rdds\arrayrdd.prg
  * src\rtl\achoice.prg
  * src\rtl\radiogrp.prg
  * src\rtl\tbrowse.prg
  * src\rtl\tclass.prg
  * src\rtl\tget.prg
  * src\rtl\tlabel.prg
  * src\rtl\treport.prg
    * using HB_DEFAULT() instead of DEFAULT ... TO ...
    % deleted '#include "common.ch"' where possible
2012-06-04 21:28:37 +00:00
Viktor Szakats
afcdde78da 2012-06-04 17:51 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/Makefile
  + src/rtl/hbdef.c
    + added HB_DEFAULT( @<xVariable>, <xDefaultValue> )
      it can replace DEFAULT ... TO ... command. In addition
      it will set the value to the default one even when the 
      variable has any other type, not only NIL.
2012-06-04 15:51:52 +00:00
Viktor Szakats
608da306e9 2012-06-04 17:21 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/debug/dbgbrwsr.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtinp.prg
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/rdd/dbstruxu.prg
  * src/rdd/dbtotal.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/hbsix/sxini.prg
  * src/rdd/hbsix/sxtrig.prg
  * src/rdd/rddord.prg
  * src/rdd/rddordu.prg
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rtl/achoice.prg
  * src/rtl/adir.prg
  * src/rtl/alert.prg
  * src/rtl/checkbox.prg
  * src/rtl/color53.prg
  * src/rtl/dbedit.prg
  * src/rtl/einstv52.prg
  * src/rtl/einstvar.prg
  * src/rtl/errsys.prg
  * src/rtl/fieldbl.prg
  * src/rtl/getsys.prg
  * src/rtl/getsys53.prg
  * src/rtl/gui.prg
  * src/rtl/hbdoc.prg
  * src/rtl/hbfilehi.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/libname.prg
  * src/rtl/listbox.prg
  * src/rtl/memoedit.prg
  * src/rtl/memvarbl.prg
  * src/rtl/memvarhb.prg
  * src/rtl/menusys.prg
  * src/rtl/menuto.prg
  * src/rtl/objfunc.prg
  * src/rtl/profiler.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/readvar.prg
  * src/rtl/scrollbr.prg
  * src/rtl/setfunc.prg
  * src/rtl/tbcolumn.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tbrowsys.prg
  * src/rtl/tclass.prg
  * src/rtl/teditor.prg
  * src/rtl/tget.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tobject.prg
  * src/rtl/tpersist.prg
  * src/rtl/tpopup.prg
  * src/rtl/ttopbar.prg
  * src/rtl/typefile.prg
  * tests/hbdoctst.prg
  * utils/hbmk2/hbmk2.prg
    * IS*() macros converted to HB_IS*() function calls.
      (using full uppercase to make them stand out)
    % deleted '#include "common.ch"' where possible
2012-06-04 15:25:14 +00:00
Viktor Szakats
0cd6638432 2012-06-04 15:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/zlib/Makefile
  * src/3rd/zlib/*
    * updated to 1.2.7 from 1.2.6. Using 3rdpatch.hb and .dif reapplied manually.

  * src/rtl/hbzlibgz.c
    + HB_GZOPEN() updated to use new in zlib 1.2.7 wide gzopen()
      on Windows. It means now it supports unicode filenames.

  * contrib/hbmzip/3rd/minizip/zip.c
    * updated manually from zlib 1.2.7 (two warnings fixed)
2012-06-04 13:27:24 +00:00
Viktor Szakats
dc0fd83c43 2012-06-04 14:25 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/png/Makefile
  * src/3rd/png/*
    * updated to 1.5.10 from 1.5.9 (using 3rdpatch.hb)
2012-06-04 12:26:48 +00:00
Viktor Szakats
fc6191bd5c 2012-05-22 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbdoc.prg
  * src/rtl/hbini.prg
  * src/rtl/hbi18n2.prg
    ! fixed potential bugs with UTF8 HVM CP
    % using hb_FileExists() instead of File() in .ini handling code
    ; build tested only, review me & test
2012-05-22 16:49:43 +00:00
Przemyslaw Czerpak
3bac3a62de 2012-05-22 16:50 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/arrays.c
    * allow to call hb_arrayId() with NULL parameter
  * harbour/include/hbapiitm.h
  * harbour/src/vm/itemapi.c
    + added internal HVM function hb_itemPutPtrRawGC() - it's
      necessary for blocks allocated with hb_gcAllocRaw().
  * harbour/src/vm/thread.c
    ! use hb_itemPutPtrRawGC() instead of hb_itemPutPtrGC()
      It fixes internal errors (i.e. reported in build process)
      after my previous commit.
2012-05-22 14:51:12 +00:00
Przemyslaw Czerpak
9e06fd8959 2012-05-21 15:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/garbage.c
    + allow to call hb_itemPutPtrGC() with the same GC block more
      then once.
2012-05-21 13:43:10 +00:00
Przemyslaw Czerpak
e7d65ce8cd 2012-05-18 16:49 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcom.ch
  * harbour/src/rtl/hbcom.c
    + added two new errors: HB_COM_ERR_ACCESS, HB_COM_ERR_NOCOM
2012-05-18 14:49:44 +00:00
Przemyslaw Czerpak
e01bcbd238 2012-05-17 23:08 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbgtinfo.ch
    + added new HB_GTI_FONTATTRIBUTE value: HB_GTI_FONTA_CTRLCHARS
      When used it forces using CTRL characters (from chr(0) to chr(31))
      directly without translation to CP437 unicode values.
      In windows some fonts need it to correctly display them.

  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
    + added support for
         hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_CTRLCHARS )

  * harbour/src/rtl/hbgtcore.c
    ! do not replace CTRL chars with '?' in HB_GTSELF_GETUC() method
2012-05-17 21:08:28 +00:00
Przemyslaw Czerpak
81bfc5d110 2012-05-17 18:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/cdpapi.c
    % use HB_CDP_ISUTF8( cdp ) macro instead of cdp == &s_utf8_codepage
      It should eliminate unnecessary translations and speedup some
      operations.
2012-05-17 16:33:53 +00:00
Przemyslaw Czerpak
10b6fb7489 2012-05-17 18:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/estack.c
  * harbour/src/vm/hvm.c
    % split hb_stackLocalVariable( int * ) macro and function into
      two different actions:
         hb_stackLocalVariable( int )     // access/assign local var
         hb_stackLocalVariableAt( int * ) // create reference to local var
2012-05-17 16:12:48 +00:00
Przemyslaw Czerpak
a44e171cc2 2012-05-16 19:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/classes.c
    % small optimization in __CLSGetProperties() function

  * harbour/src/rtl/tpersist.prg
    ! force linkin ARRAY() function when HBPersistent class is used
    ! use hb_ValToExp() instead of local ValToText() function which
      didn't work correctly for memos and some other types
    ! fixed infinite loop in HBPersistent:LoadFromText() used with
      empty text. The problem was also exploited by :LoadFromFile()
      method if file does not exists or it's empty()
    ! fixed deserialization of strings containing "=" char inside
    ! fixed deserialization of strings containing "::"
    ! added support for decoding nested objects - the code was not
      finished and this part was not implemented at all
    + added support for serialized text using ":=" assign operator
      instead of "="
    * use ":=" instead of "=" as assign operator in new serialized
      text
    + ignore lines starting with "//" and added support for files
      which do not start with OBJECT directive
    * ignore pointer and codeblock items stored in instance variables
      during serialization
    ; now HBPersistent class in Harbour should read serialized files
      created in xHarbour with few exceptions:
         - Harbour does not allow to serialize codeblocks
           See "CODEBLOCK SERIALIZATION / DESERIALIZATION" in
           doc/xhb-diff.txt for the reasons.
           If Harbour application restores xHarbour HBPersistent files
           with serialized codeblocks then RTE
               Undefined function: HB_RESTOREBLOCK
           is generated.
         - xHarbour serialize pointer items as numeric items
           saved in hexadecimal notation. Then restore them as numbers.
         - HBPersistent does not support hash arrays - they are
           serialized by default serialization code used by both
           compilers to generate expressions.
           In Harbour it's done by hb_valToExp() function and
           in xHarbour it's ValToPrg() is used.
           ValToPrg() does not create valid macrocompiler expressions
           for arrays and objects so HBPersistent files created
           by xHarbour are broken and cannot be correctly deserialized.
           It happens if objects has hash arrays in instance variables
           and these hash arrays contain normal arrays or object
           If Harbour application restores such xHarbour HBPersistent
           file then RTE "Syntax error: &" is generated.
    ; xHarbour encapsulates deserialization code inside TRY/CATCH/END
      statement saving errors to trace.log file. Harbour generates RTE.
      If programmer needs similar behavior then he should
      call :LoadFromText() and :LoadFromFile() methods inside
      BEGIN SEQUENCE [ / RECOVER ... ] / END SEQUENCE
      statement.
    ; xHarbour reinitialize all or properties instance variables to
      default state inside :LoadFromText() and :LoadFromFile() methods.
      The 3-rd parameter in above method <lPropertiesOnly> allows to
      chose which install variables should be reinitialized:
      all (default) or properties only.
      Harbour does not have such functionality.
      If programmer needs it then he should reinitialize them himself.
      It can be easy done be simple function.
      Alternatively we can implement this functionality but in such
      case I'd suggest to define three actions for such switch:
         none (default), all, properties only.
    ; Harbour does not support 2-nd parameter <lIgnoreBadIVars> which
      exist in xHarbour versions of HBPersistent:LoadFromText() and
      HBPersistent:LoadFromFile():
      If necessary we can implement it though it's usable only if we
      want to ignore some wrong lines and process others.
    ; Warning: Neither Harbour nor xHarbour supports arrays and objects
               with cyclic references in HBPersistent code - infinite
               loop appears in such case.
    ; I've never used HBPersistent and the state of the previous
      HBPersistent code in Harbour suggests that no one used it for
      some serious jobs so I'm open for any opinions and suggestions
      about it from xHarbour users.

  * harbour/src/compiler/harbour.y
    * generate line numbers before extended codeblocks - it gives
      more debugger friendly code.

  * harbour/src/compiler/harbour.yyh
  * harbour/src/compiler/harbour.yyc
    * regenerated (with bison 2.4.1)
2012-05-16 17:23:20 +00:00
Viktor Szakats
f71c4e0a25 2012-05-16 18:38 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbgtcore.c
  * src/rtl/rat.c
  * src/codepage/cp_utf8.c
    % deleted unnecessary assignment generating warnings with 
      some compilers
2012-05-16 16:39:24 +00:00
Viktor Szakats
11eecc403b 2012-05-16 18:28 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/vm/set.c
    ! added missing '#include "hbvm.h"' for hb_vmIsReady()
2012-05-16 16:28:42 +00:00
Viktor Szakats
a802e03e10 2012-05-15 13:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fix to prev. test and review pls. BTW, the solution is 
      on google, so you can redo it too:
         https://issues.apache.org/jira/browse/STDCXX-358
2012-05-15 11:23:01 +00:00
Viktor Szakats
d2a1b36d05 2012-05-15 13:05 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fixed unsetenv() usage for older Darwin versions (f.e. Tiger)
      (please test)
2012-05-15 11:06:50 +00:00
Viktor Szakats
9d1552d1cc 2012-05-09 16:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbdate.c
    ! hb_dateStrPut() fixed to never put non-digits in the
      result. F.e. in this case: ? 0d19700101 + 1100000000
2012-05-09 14:15:50 +00:00
Przemyslaw Czerpak
6f27c78569 2012-05-08 12:28 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/expropt2.c
    * small code simplification

  * harbour/src/rtl/hbregex.c
    % eliminated call to pcre_config() on each regex compilation

  * harbour/utils/hbmk2/hbmk2.prg
    ! fixed -head=full for code using non UTF8 characters.
      It was broken because in UNIX builds UTF8 is always enabled
      as HVM CP in HBMK2 and this setting was inherited by PCRE
      with PCRE_UTF8 flag. If this flag is used PCRE validates
      all strings and refuse to make any operations if they are
      not valid UTF8 string so it was not working at all for
      source code using different encoding.
    ! fixed regex used in -head=full to respect shortcuts in #include
      directive, i.e.:
         #incl "file.ch"
    ! fixed regex used in -head=full to recognize #include directives
      separated by ';', i.e.:
         #include "file1.ch" ; #include "file2.ch" ; #include "file3.ch"
    ; TOFIX: UTF8 mode on output should not be enabled unconditionally in
             all UNIX builds. There are many *nix installations where UTF8
             is not system CP, i.e. older Linux distributions. In fact
             it's user attribute so each user can use different encoding
             local to his connection and/or terminal settings. Probably
             it's good idea to use code like:
                  lUTF8 := "UTF-8" $ GetEnv( "LANG" ) .OR. ;
                           "UTF-8" $ GetEnv( "LC_CTYPE" )
2012-05-08 10:28:46 +00:00
Viktor Szakats
ddd8ef46bc 2012-05-04 20:07 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    ! fixed RTE when logging sign command
    ! fixed `` operator to strip CRs and convert LFs to space
      in stdout output.

  * src/rdd/dbcmd.c
    ! clarified DBCREATE() 4th parameter in comment
2012-05-04 18:09:22 +00:00
Viktor Szakats
1be0971119 2012-05-04 01:51 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/cdpapihb.c
    + HB_CDPCHARMAX( [<cCP>] ) -> <nMaxCharCode>
      (ATM 0xFFFF for unicode or 0xFF for non-unicode (default) CPs)
2012-05-03 23:53:24 +00:00
Viktor Szakats
1721eee814 2012-05-04 01:12 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbstrsh.c
    + HB_STRSHRINK() updated to work on custom character indexes (UTF8)
2012-05-03 23:12:49 +00:00