Commit Graph

2866 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
e97461df65 2012-06-20 15:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbclass.ch
    + added support for
         DESTRUCTOR FUNCTION <FuncName>[()]
      in class declaration. It allows to define as object
      destructors external functions, i.e. defined in C
2012-06-20 13:17:57 +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
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
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
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
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
851b8d63d2 2012-06-10 17:19 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbapi.h
    ! minor correction to compatibility macro definition
2012-06-10 15:20:32 +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
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
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
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
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
Viktor Szakats
4e33e7e014 2012-05-17 22:54 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
    ! minor
2012-05-17 20:54:31 +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
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
ad79a430f7 2012-05-02 12:30 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbcompdf.h
  * include/hbexprop.h
  * include/hbexprb.c
  * src/common/funcid.c
  * src/common/expropt2.c
    + added compile-time optimization for HB_BCHAR()
      and HB_BCODE().

  * contrib/hbct/hbct.hbp
  * contrib/hbct/hbct.hbx
  + contrib/hbct/ctscan.ch
  + contrib/hbct/kxlat.prg
  * contrib/hbct/ctdummy.prg
  * contrib/hbct/dummy.c
    + added CT compatiblity functions: SETKXLAT(), GETKXLAT(),
      SETKXTAB(), GETKXTAB(). Former two replaces existing
      dummy implementations. Check CT documentation for syntax.
      NOTES: - KS_PAD[0-9] and KS_PAD_DECIMAL are not supported in
               Harbour, because they have no corresponding inkey.ch
               value.
             - Harbour uses HB_GTI_INKEYFILTER to implement these
               functions, and due to this, they will gracefully
               fail if the application has already set
               HB_GTI_INKEYFILTER to a custom value.
    + added:
         HBCT_GETKXLAT( <nOrgKey>[, <nNewKey> ] ) -> <lAccepted>
         HBCT_GETKXTAB( <nOrgKey> ) -> <nNewKey>
         HBCT_SETKXLAT( <hTrs> ) -> <lAccepted>
         HBCT_SETKXTAB() -> <hTrs>
      Same as above, but they use standard inkey() values.
    ; USE AT YOUR OWN RISK. NO GUARANTEES.

  * contrib/hbct/showtime.prg
  * contrib/hbct/screen2.c
    * internal fn renamed: _HB_CTDSPTIME() -> __HBCT_DSPTIME()
2012-05-02 10:32:45 +00:00
Viktor Szakats
3343571ea7 2012-04-25 16:16 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/cdpapihb.c
    + added HB_CDPISUTF8( <cCDPID> ) -> <lResult>
2012-04-25 14:17:00 +00:00
Viktor Szakats
5cf8db7936 2012-04-25 14:11 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbver.h
  * package/harbour.spec
  * package/harb_win.mft
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
  * package/winuni/mpkg_win_uni.bat
  * harbour/debian/changelog
    * trunk version bump. 3.1.0dev -> 3.2.0dev
      this is to make it easy to create conditional code 
      for new features and the few incompatibilities after 
      introducing unicode in Harbour. May be bumped further
      when FOR EACH is decided.

  * contrib/hbexpat/tests/tohash.prg
    + enabled UTF8EX for testing
2012-04-25 12:12:03 +00:00
Przemyslaw Czerpak
0ad8ff7544 2012-04-25 12:08 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
    ! fixed typo in previous commit
2012-04-25 10:08:16 +00:00
Przemyslaw Czerpak
5f6a55b505 2012-04-25 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
  * harbour/src/rtl/chruni.c
    + added HB_ULEFT(), HB_BLEFT(), HB_URIGHT(), HB_BRIGHT()
2012-04-25 09:41:47 +00:00
Viktor Szakats
83cc2881dd 2012-04-25 02:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/inkey.c
    + added HB_KEYCODE( <cChar> ) -> <nExtKey>
    ; pls review me. It helps replacing ASC() calls in unicode apps
      where it's used to convert characters (f.e. hotkeys) to keyboard
      codes.
2012-04-25 00:21:07 +00:00
Viktor Szakats
16e307a8c4 2012-04-25 00:03 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbmisc/udpds.prg
    + updated to be CP agnostic
    + changed protocol to use UTF8 through the wire
    ; NOTE: requires not yet committed HB_BLEFT()

  * include/harbour.hbx
    * minor
2012-04-24 22:05:39 +00:00
Przemyslaw Czerpak
0aeb0d3cae 2012-04-24 17:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
  * harbour/src/rtl/chruni.c
    + added HB_BSUBSTR() and HB_USUBSTR()
2012-04-24 15:34:32 +00:00
Przemyslaw Czerpak
5d2675146a 2012-04-24 16:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapilng.h
  * harbour/src/vm/hvm.c
  * harbour/src/rtl/langapi.c
  * harbour/include/harbour.hbx
    + added new PRG function:
         HB_LANGNEW( <cNewLangId>, <cNewLangCpId>,
                     <cLangId>, <cLangCpId> ) -> <lOK>
      this function dynamically creates new lang module translating
      existing one then registers it, i.e.:
         request HB_CODEPAGE_DE850
         request HB_CODEPAGE_DEISO
         request HB_LANG_DE
         HB_LANGNEW( "DEISO", "DEISO", "DE", "DE850" )
         SET( _SET_LANGUAGE, "DEISO" )

  * harbour/src/rtl/cdpapi.c
    * changed dynamic buffer for "EN" CP translations and flags
      to static one - it allows to use this CP after hb_cdpReleaseAll()
2012-04-24 14:20:40 +00:00
Przemyslaw Czerpak
bc5cfa6b3c 2012-04-24 08:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/inkey.c
    * modified HB_KEYPUT() and HB_KEYINS() to convert strings
      into key codes instead of passing them directly to keyboard
      buffer like in __KEYBOARD() function.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * modified hb_inkeySetText() (PRG __KEYBOARD() function) to translate
      passed string into unicode values
      This modification affects also HB_GTI_CLIPBOARDPASTE
2012-04-24 06:43:44 +00:00
Przemyslaw Czerpak
8d23393d83 2012-04-24 07:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbgtcore.h
    ! fixed typo in HB_GTSELF_KEYTRANS() macro.
      It should also fix problem with function keys in some GTs,
      i.e. ENTER in GTOS2 ALERT() reported by David.

  * harbour/src/rtl/filesys.c
    * use TEXT() macro
    * minor modification in fs_win_get_drive()

  * harbour/src/vm/hvm.c
    * added protection against potential memory leak if
      programmer change type of enumerated item
2012-04-24 05:18:24 +00:00
Viktor Szakats
2a5fb3036c 2012-04-20 21:22 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
    * set formatting for new functions

  * ChangeLog
    ! deleted unicode BOM. Please set your editor to not readd it.

  * contrib/hbqt/gtqtc/gtqtc.cpp
    ! quick fix for build failure.

  * contrib/hbqt/hbmk2_qt.hbs
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
  * contrib/hbqt/qtcore/hbqt.h
    * object type checking patch from Teo and Francesco. Please test.
      (with minor changes)
    + added TOFIX for missing CP conversion in certain cases.

  * contrib/hbqt/qtcore/hbqt_misc.prg
    * implemented destroy patch from Francesco. Please test.
2012-04-20 19:24:18 +00:00
Przemyslaw Czerpak
93d3a46d84 2012-04-20 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbdefs.h
    * moved HB_WCHAR definition from hbapicdp.h to hbdefs.h

  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for custom sorting redirected from HVM
    + added support for custom character indexes in strings
    + added support for custom character flags (upper, lower, alpha, digit)
    + added support for custom upper/lower conversions
    + added support for CPs using unicode character values instead of
      ASCII ones
    + added new CP functions which respects custom CP settings:
        hb_cdpUpperWC(), hb_cdpTextLen(), hb_cdpTextPos(),
        hb_cdpTextPosEx(), hb_cdpTextGetU16(), hb_cdpTextPutU16(),
        hb_cdpCharEq(), hb_cdpCharCaseEq()
    + added new conversion functions:
        hb_cdpGetUC(), hb_cdpGetWC(), hb_cdpGetU16Ctrl()
    + added macros to detect codepage parameters:
         HB_CDP_ISBINSORT() - codepage uses simple binary sorting
         HB_CDP_ISCUSTOM()  - codepage uses custom string decoding
         HB_CDP_ISCHARIDX() - codepage use character indexes instead
                              of bytes ones
         HB_CDP_ISCHARUNI() - CHR(), ASC() and similar functions operates
                              on Unicode values instead of bytes
         HB_CDP_ISUTF8()    - codepage uses UTF-8 encoding

  * harbour/include/inkey.ch
    - removed HB_INKEY_EXTENDED - it was not used in Harbour
    + added new flag HB_INKEY_EXT - it allows to used different
      event encoding system with automatic translation to
      standard Clipper values. It will be used in the future
      as base for low level GTs code. Now it's possible to
      selectively switch to the new system. New codes are
      unique and do not interacts with Clipper.
    + added HB_INKEY_ALL macro - it's similar to INKEY_ALL but
      enables also GTEVENT keys.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * changed character values in internal screen buffer to unicode.
      Warning: this modification interacts with SAVESCREE()/RESTSCREEN()
               data. Now all GTs uses extended definition. If somene
               has code which needs VGA like screen buffers returned
               by SAVESCREE() then it can be forced by
                  hb_gtInfo( HB_GTI_COMPATBUFFER, .t. )
               Anyhow it will for to use only one CP in output.
    + added new GT methods which operated on HB_WCHAR values
    * modified existing methods using HB_WCHAR/HB_USHORT parameters
      to operate on HB_WCHAR values
    + added codepage conversion code directly to core code so it can
      be eliminated from low level GT drivers which do not need some
      special operations on it.
    + added support for extended inkey codes, they allow to encoded
      unicode values, mouse events with flags, keyboard events with
      modifier flags (shift,alt,ctrl,...), etc.
      Now in low level GT code only unicode key values are used but
      I plan to updated all GTs and switch to new code - it should
      resolve many small problems inheriting with Clipper inkey codes.

  * harbour/include/hbapifs.h
    * moved hb_fsNameConvU16() definition from hbapicdp.h to hbapifs.h

  * harbour/include/hbxvm.h
    - removed comment copied by mistake from GT header file

  * harbour/include/hbwinuni.h
    * changed HB_CHARDUP() and HB_CHARDUPN() macros - now they
      operate on functions which can be used without active HVM.
      In such case ANSI CP is used as source encoding.
    + added new macros: HB_OSSTRDUP() and HB_OSSTRDUP2().
      They make conversions from OS encoding to HVM one.
      They can be used without active HVM and in such case ANSI CP
      is used as destination encoding.

  * harbour/include/hbapi.h
  * harbour/src/vm/cmdarg.c
    + added new function hb_cmdargProgName()
      It returns application name with path or NULL if not set,
      caller must free returned value with hb_xfree() if not NULL.
      The string is in HVM encoding so it does not need any additional
      encodings.
    * modified hb_cmdargString() to return strings in HVM encoding.
    % some small code optimizations
    ; NOTE: parameters passed to MS-WINDOWS GUI programs which use
            WinMain() instead of main() as startup entry are translated
            to ANSICP before they can be accessed by application.
            This can be eliminated though not for console programs
            using where C compiler makes such translation to main()
            parameters.
            in all systems parameters are passed to application
            startup and init functions before programmer can set OS CP.
            This can be resolved by adding:
               INIT PROC CLIPINIT()
                  SET( _SET_CODEPAGE, <userCP> )
                  SET( _SET_OSCODEPAGE, <systemCP> )
               RETURN
            to linked code. INIT procedures called CLIPINIT() are
            executed before any other ones.

  * harbour/include/hbapi.h
  * harbour/src/vm/set.c
    + added new functions for CP converisons which can be used with
      and without active HVM:
         hb_osStrEncode(), hb_osStrEncodeN(),
         hb_osStrDecode(), hb_osStrDecode2(),
         hb_osStrU16Encode(), hb_osStrU16EncodeN(),
         hb_osStrU16Decode(), hb_osStrU16Decode2(),

  * harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmIsReady() - it's similar to hb_vmActive()
      but it also checks if current thread has active HVM stack.
    * moved hb_cdpReleaseAll() to the end of HVM cleanup code so
      CP conversions are longer active.

  * harbour/include/hbcomp.h
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/hbusage.c
  * harbour/src/common/expropt2.c
    + added new compiler switch:
         -ku  - strings in user encoding
      Now it informs compiler that strings use custom encoding so some
      optimizations which are byte oriented cannot be used.
      It's possible that in the future we will change above definition
      to sth like: "strings in UTF8 encoding" but now I would like to
      keep more general.

  * harbour/src/vm/macro.c
    * inform macrocompiler about custom CPs using own character indexes
      to disable byte oriented optimizations.

  * harbour/include/hbapigt.h
  * harbour/src/rtl/gtapi.c
  * harbour/src/rtl/inkeyapi.c
    + added HB_B_*_W macros with unicode box character definitions
    + added HB_MBUTTON_* macros
    + added new GT functions: hb_gtHostCP() and hb_gtBoxCP() which
      allows to extract CPs used in translations by GTs.
    + added new function hb_inkeyKeyString() - it converts inkey value
      to corresponding string
    + added new function hb_inkeyKeyStd() - it converts new extended
      key value to standard Clipper one.

  * harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    * moved OS codepage translations fully to hb_fsFind*() functions.
      It fixes few problems which existed before, i.e. double CP
      conversions in MS-Windows builds and simplifies upper level code.

  * harbour/src/pp/hbpp.c
  * harbour/src/rtl/direct.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rtl/file.c
  * harbour/contrib/hbct/files.c
    * eliminated not longer necessary CP conversions in code calling
      hb_fsFind*() functions.

  * harbour/src/common/hbgete.c
    * moved OS codepage translations to hb_getenv(), hb_getenv_buffer()
      and hb_setenv() functions. It fixes few problems which existed
      before, i.e. double CP conversions in MS-Windows builds and
      simplifies upper level code.

  * harbour/src/rtl/net.c
  * harbour/src/rtl/gete.c
    * eliminated not longer necessary CP conversions in code calling
      hb_getenv()/hb_setenv() functions.
    ; NOTE: additional parameters in HB_GETENV() and HB_SETENV() which
            disabled CP conversions are not longer supported.
            They were strictly platform dependent and ignored in chosen
            cases (i.e. in MS-Windows UNICODE builds we always have to
            convert strings transferred between HVM and OS. If someone
            needs old functionality for other platform then he should
            temporary disable _SET_OSCODEPAGE.

  * harbour/src/common/hbver.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
    * eliminated HB_TCHAR_*() macros

  * harbour/src/common/strwild.c
    + added supprot for custom CPs using own character indexes in:
         hb_strMatchWild(),
         hb_strMatchWildExact(),
         hb_strMatchCaseWildExact()

  * harbour/src/nortl/nortl.c
    + added new dummy function replacement for binaries which are not
      linked with HVM.

  * harbour/src/rtl/filesys.c
    ! fixed double CP conversions in MS-Windows builds of hb_fsCurDirBuff()
    * use hb_vmIsReady() instead of hb_stackId() in file name conversions.
    * use hb_cmdargProgName() in hb_fsBaseDirBuff()

  * harbour/src/rtl/philes.c
    * use hb_cmdargProgName() in HB_PROGNAME() function.

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtsln/gtsln.h
  * harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/hbqt/gtqtc/gtqtc.cpp
  * harbour/contrib/hbqt/gtqtc/gtqtc.h
    * updated to work with new unicode GT API
      please make tests with different GTs - I'm not able to test
      all of them, i.e. I do not have any OS2 machine.

  * harbour/src/rtl/box.c
  * harbour/src/rtl/oldbox.c
  * harbour/src/rtl/scroll.c
  * harbour/src/rtl/console.c
    * updated to work with new unicode GT API and
      CPs using custom character indexes

  * harbour/src/rtl/at.c
  * harbour/src/rtl/ati.c
  * harbour/src/rtl/rat.c
  * harbour/src/rtl/len.c
  * harbour/src/rtl/transfrm.c
  * harbour/src/rtl/left.c
  * harbour/src/rtl/right.c
  * harbour/src/rtl/substr.c
  * harbour/src/rtl/stuff.c
  * harbour/src/rtl/padc.c
  * harbour/src/rtl/padl.c
  * harbour/src/rtl/padr.c
    * updated to work with CPs using custom character indexes

  * harbour/src/rtl/chrasc.c
    + added support for HB_CDP_ISCHARUNI() CPs.

  * harbour/src/rtl/mlcfunc.c
    * rewritten from scratch to work with CPs using custom character
      indexes

  * harbour/src/rtl/accept.c
    * updated to work with unicode inkey values and
      CPs using custom character indexes

  * harbour/src/rtl/strmatch.c
    % small optimization

  * harbour/src/rtl/Makefile
  + harbour/src/rtl/chruni.c
    + added new PRG functions which allows to make byte/binary and
      unicode/character operations on strings:
         HB_UCHAR( <nCode> ) -> <cText>
            return string with U+nCode character in HVM CP encoding
         HB_BCHAR( <nCode> ) -> <cText>
            return 1 byte string with <nCode> value
         HB_UCODE( <cText> ) -> <nCode>
            return unicode value of 1-st character (not byte) in given string
         HB_BCODE( <cText> ) -> <nCode>
            return value of 1-st byte in given string
         HB_ULEN( <cText> ) -> <nChars>
            return string length in characters
         HB_BLEN( <cText> ) -> <nBytes>
            return string length in bytes
         HB_UPEEK( <cText>, <n> ) -> <nCode>
            return unicode value of <n>-th character in given string
         HB_BPEEK( <cText>, <n> ) -> <nCode>
            return value of <n>-th byte in given string
         HB_UPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th character in given string to unicode <nVal> one and
            return modified text
         HB_BPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th byte in given string to <nVal> and return modified
            text

  * harbour/src/rtl/hbdoc.prg
  * harbour/src/rtl/memvarhb.prg
    * use HB_BCHAR() for binary string definitions

  * harbour/src/rtl/hbi18n2.prg
    * use hb_utf8CHR( 0xFEFF ) instead of hardcoded binary sting and
      HB_BLEN() instead of LEN()

  * harbour/src/rtl/inkey.c
    + added new functions:
         HB_KEYCHAR( <nKey> ) -> <cChar>
         HB_KEYSTD( <nExtKey> ) -> <nClipKey>
    ! use HB_INKEY_ALL instead of INKEY_ALL in LASTKEY()

  * harbour/src/rtl/achoice.prg
  * harbour/src/rtl/browse.prg
  * harbour/src/rtl/menuto.prg
  * harbour/src/rtl/tgetlist.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tlabel.prg
  * harbour/src/rtl/tpopup.prg
  * harbour/src/rtl/radiobtn.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/wait.prg
    * updated to work with unicode inkey() values

  * harbour/src/rtl/listbox.prg
    * use box.ch macros instead of explicit CHR(...) definitions

  * harbour/src/rtl/ttopbar.prg
    * updated to work with different type of CPs

  * harbour/src/rtl/scrollbr.prg
    * formatting

  * harbour/src/rtl/mouse53.c
    * use HB_MBUTTON_* macros instead of local ones

  * harbour/src/codepage/cp_utf8.c
  + harbour/src/codepage/uc16def.c
  + harbour/src/codepage/utf8sort.c
    * replaced UTF8ASC with new CP: UTF8EX
      This CP uses character indexes instead of bytes one
      and operates on unicode characters flags.
      Tables for upper/lower conversions and upper/lower/alpha/digit
      flags were generated automatically from
         http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
      It also uses custom collation rules. It's very simple one
      level sorting based on UTF8 C collation.
      If someone needs some advanced sorting rules, then it's enough
      to create copy of this cp with user custom version of UTF8_cmp()
      and UTF8_cmpi() functions, i.e. they can be redirected to some
      external library like ICU (icu-project.org).

  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
    * added support for new unicode GT API

  * harbour/contrib/xhb/xhbfunc.c
    * redirected HB_CMDARGARGV() to HB_PROGNAME()

  * harbour/contrib/hbnf/origin.c
    * redirected FT_ORIGIN() to HB_PROGNAME()

  * harbour/contrib/hbnf/getenvrn.c
    ! windows version of FT_GETE() fully rewritten - it should
      fix well known problems reported to the devel list. Please test.
    % small optimization for other systems

  * harbour/contrib/hbfship/exec.c
    * use hb_cmdargProgName() in EXECNAME()

  + harbour/tests/uc16_gen.prg
    + added code which generates tables with unicode character flags
      from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
      harbour/src/codepage/uc16def.c was generated by this code.

  * harbour/tests/inkeytst.prg
  * harbour/tests/wvtext.prg
  * harbour/tests/gtkeys.prg
    * use HB_INKEY_ALL

  * harbour/include/harbour.hbx
  * harbour/include/hbcpage.hbx
  * harbour/include/hblang.hbx
    * regenerated

   ; It was quite big peace of modifications and for sure not everything
     is well tested so please make test and report problems you will find.
   ; This is basic version which introduce to HVM CPs with custom encodings.
     Some contrib code has to be updated to work correctly with it.
     I hope that developers interesting in will make necessary updates.
     I haven't touched GTWVW code at all - sorry but it needs very serious
     work to make it production ready and fix all existing problems.
   ; Special thanks to OTC - this firm sponsored adding basic UTF8 support
     to HVM.
2012-04-20 15:55:44 +00:00
Viktor Szakats
1e4b18564f 2012-04-19 12:15 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbapicdp.h
  * src/rtl/hbregex.c
  * src/rtl/cdpapi.c
    + will now automatically enable UTF8 in PCRE searches, if
      the HVM CP is set to UTF8.
2012-04-19 10:15:59 +00:00
Viktor Szakats
6429a6ce93 2012-04-19 02:30 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * contrib/hbnetio/utils/hbnetio/netiosrv.prg
  * contrib/hbrun/hbrun.prg
    ! fixes to prev
2012-04-19 00:32:09 +00:00
Viktor Szakats
fbebb0cafe 2012-04-18 01:50 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbwin/win_prn1.c
    ! TRUE -> 1 (was HB_TRUE till yesterday)

  * include/harbour.hbx
    * formatted some remaining names
2012-04-17 23:51:23 +00:00
Viktor Szakats
720b6d6a1d 2012-04-09 00:04 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
  * bin/hb3rdpat.hbs
    ! fixed minor formatting problems mainly using custom automatic script

  * include/harbour.hbx
  * contrib/hbsms/hbsms.hbx
    + applied std casing to function names. it enhances
      readability, plus makes possible to use .hbx file for
      automatic formatting purposes.

  * utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
    + preserve casing of function names in .hbx files
    ! fixed non-fatal typo in regex expressions
2012-04-08 22:06:31 +00:00
Przemyslaw Czerpak
629db6e812 2012-04-05 16:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    ! fixed potential freeing uninitialized handlers on some platforms
    * hide private members 

  * harbour/src/codepage/Makefile
  * harbour/include/hbcpage.hbx
  + harbour/src/codepage/cp950.c
  + harbour/src/codepage/cp_950.c
    + added new Harbour codepage "CP950". It's similar to BIG5 and
      used by MS-Windows. Please test and inform me if you can replace
      BIG5 in your applications with CP950 without any problems.

  * harbour/contrib/hbnf/hbnf.hbx
    + added FT_IDLE()
2012-04-05 14:13:51 +00:00
Viktor Szakats
e4b80e1e05 2012-04-04 20:01 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hb_io.h
  * src/main/harbour.1
  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtpca/gtpca.c
  * utils/hbmk2/hbmk2.1
  * utils/hbtest/hbtest.1
  * contrib/hbqt/hbmk2_qt.hbs
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideprojmanager.prg
  * tests/sbartest.prg
  * tests/videotst.prg
  * tests/testhtml.prg
  * tests/vidtest.prg
  * tests/setkeys.prg
  * tests/mousetst.prg
  * TODO
  * NEWS
  * examples/guestbk/cgi.ch
  * examples/hscript/cgi.ch
    * "harbour project" name usage cleanup (except in license texts)
    * minor cleanups (f.e. updated project description and mailing list name in hbide)
2012-04-04 18:03:58 +00:00
Przemyslaw Czerpak
83a189ab01 2012-04-03 18:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    ! typos in previous commit

  * harbour/src/rtl/hbproces.c
    ! include hbwinuni.h
2012-04-03 16:59:21 +00:00
Przemyslaw Czerpak
e4736a3fb0 2012-04-03 18:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new C functions:
      hb_cdpDupn(), hb_cdpStrDupU16(), hb_cdpnStrDupU16()

  * harbour/include/hbwinuni.h
    + added new macros: HB_CHARDUP() and HB_CHARDUPN()
      Warning: this macros uses HVM functions so cannot be used in
               code which is executed without active HVM i.e. in
               pure harbour compiler code (common library)

  * harbour/src/rtl/filesys.c
    * use hb_cdpStrDupU16()

  * harbour/src/rtl/hbproces.c
    ! fixed double OS codepage conversion in hb_fsProcessRun()
    * use HB_CHARDUP*() macros to respect _SET_CODEPAGE and _SET_OSCODEPAGE
      in Windows builds
2012-04-03 16:43:24 +00:00
Przemyslaw Czerpak
8146e914b2 2012-03-30 17:21 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    * added explicit casting to HB_FSNAMECONV() macro to force compile
      time warnings when wrongly used also in UNICODE builds
2012-03-30 15:21:49 +00:00
Przemyslaw Czerpak
aae6eda0c0 2012-03-30 15:53 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    ! fixed typos in HB_FSNAMECONV() definition

  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
  * harbour/src/rtl/hbcom.c
  * harbour/contrib/hbmzip/mzip.c
    ! fixed casting in recent modifications (missing const)

  * harbour/src/rtl/gtcrs/hb-charmap.def
    * formatting
2012-03-30 13:53:42 +00:00
Przemyslaw Czerpak
bfe075abbc 2012-03-20 19:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcdpreg.h
    + added few macros for extended CP definition

  * harbour/src/codepage/cp_big5.c
  * harbour/src/codepage/cp_utf8.c
  * harbour/src/codepage/cp_u16le.c
    * updated macros for CP definition

  * harbour/tests/big5_gen.prg
    % added small improvement in code hashing character
      translation tables so they are a little bit smaller

  * harbour/src/codepage/big5.c
    * regenerated
2012-03-20 18:26:41 +00:00
Przemyslaw Czerpak
0b8e7986c3 2012-03-20 18:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapicdp.h
    + added missing declaration of hb_fsNameConvU16()
2012-03-20 17:44:49 +00:00
Przemyslaw Czerpak
1038fb15fb 2012-03-20 18:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    + added HB_FSNAMECONV() macro - it's automatically redirected to
      hb_fsNameConv() or hb_fsNameConvU16() functions depending on
      UNICODE windows macro

  * harbour/include/hbapifs.h
  * harbour/src/rtl/filesys.c
    + added hb_fsNameConvU16() C function - it makes similar operatin to
      hb_fsNameConv() but returns UTF16 string.
    + added hb_fsPipeUnblock() C function - currently it works only
      in POSIX systems
    * HB_FSNAMECONV() instead of HB_TCHAR_*() macros

  * harbour/src/rtl/hbcom.c
    * HB_FSNAMECONV() instead of HB_TCHAR_*() macros
    % encapsulate port open and close operations inside
      hb_vmUnlock()/hb_vmLock() - on some systems this can
      be slow operations, i.e. close() is delayed until
      byte in output buffer are not transmitted.

  * harbour/src/rtl/hbproces.c
    % prefer read then write in pipe operations
    ! in POSIX systems set unblocking mode for PIPE handles in
      hb_fsProcessRun() function - it fixes potential deadlock

  * harbour/src/common/strwild.c
    * formatting

  * harbour/src/rtl/dircmd.prg
    % use space( n ) instead of repl( chr( 0 ), n ) for allocating
      dirty buffer

  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtsln/kbsln.c
    * ignore broken UTF8 characters in input
2012-03-20 17:40:34 +00:00
Przemyslaw Czerpak
9723beb5c0 2012-03-13 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/package/harbour.spec
    ! added missing attribute for harbour.ld.conf file
    ! added optional hbhttpds library

  * harbour/contrib/hbct/envparam.c
  * harbour/contrib/hbct/dummy.c
  * harbour/contrib/hbct/hbct.hbp
  * harbour/contrib/hbct/hbct.hbx
    + added ENVPARM() - now it's implemented for all platforms but
      it should be tested on different *nixes - some of them may not
      support 'char * environ' public variable

  * harbour/contrib/xhb/hbserv.c
    * added missing dummy functions in DOS builds

  * harbour/utils/hbmk2/hbmk2.prg
    ! do not set binding to hb_forceLinkMainWin() when -nohblib and -gui
      switches are used together


  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new C functions hb_cdpnDupUpper(), hb_cdpnDupLower(),
      hb_cdpnDup2Upper() and hb_cdpnDup2Lower().
      They should be used instead of hb_strUpper() and hb_strLower()
      functions because they can work well with CPs where upper and
      lower characters uses different number of bytes, i.e. UTF8 has
      such characters.

  * harbour/src/rtl/strcase.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/hbsix/sxsem.c
    * replaced obsolete hb_strUpper() and hb_strLower() functions with
      new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.

  * harbour/src/rdd/hbsix/sxutil.c
    * replaced obsolete hb_charUpper() function with hb_cdpnDupUpper()

  * harbour/contrib/sddpg/sddpg.c
  * harbour/contrib/sddsqlt3/sddsqlt3.c
  * harbour/contrib/sddmy/sddmy.c
  * harbour/contrib/sddfb/sddfb.c
  * harbour/contrib/sddodbc/sddodbc.c
  * harbour/contrib/sddoci/sddoci.c
    ! fixed memory leaks
    * replaced obsolete hb_strUpper() and hb_strLower() functions with
      new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.
    ; TODO: these conversions are redundant - I'll remove them in next
            commit.
2012-03-13 11:55:43 +00:00