Commit Graph

57 Commits

Author SHA1 Message Date
Viktor Szakats
d1427779b2 2012-07-23 13:14 UTC+0200 Viktor Szakats (harbour syenar.net)
- src/lang/msgbe866.c
  - src/lang/msgbewin.c
  - src/lang/msgbg866.c
  - src/lang/msgbgiso.c
  - src/lang/msgbgmik.c
  - src/lang/msgbgwin.c
  - src/lang/msgca.c
  - src/lang/msgcs852.c
  - src/lang/msgcsiso.c
  - src/lang/msgcskam.c
  - src/lang/msgcswin.c
  - src/lang/msgde.c
  - src/lang/msgdewin.c
  - src/lang/msgel.c
  - src/lang/msgelwin.c
  - src/lang/msgeo.c
  - src/lang/msges.c
  - src/lang/msgeswin.c
  - src/lang/msgeu.c
  - src/lang/msgfr.c
  - src/lang/msggl.c
  - src/lang/msghr646.c
  - src/lang/msghr852.c
  - src/lang/msghriso.c
  - src/lang/msghrwin.c
  - src/lang/msghu852.c
  - src/lang/msghuiso.c
  - src/lang/msghuwin.c
  - src/lang/msgid.c
  - src/lang/msgis850.c
  - src/lang/msgit.c
  - src/lang/msgltwin.c
  - src/lang/msgnl.c
  - src/lang/msgpl852.c
  - src/lang/msgpliso.c
  - src/lang/msgplmaz.c
  - src/lang/msgplwin.c
  - src/lang/msgpt.c
  - src/lang/msgptiso.c
  - src/lang/msgro.c
  - src/lang/msgru866.c
  - src/lang/msgrukoi.c
  - src/lang/msgruwin.c
  - src/lang/msgsk852.c
  - src/lang/msgskiso.c
  - src/lang/msgskkam.c
  - src/lang/msgskwin.c
  - src/lang/msgsl646.c
  - src/lang/msgsl852.c
  - src/lang/msgsliso.c
  - src/lang/msgslwin.c
  - src/lang/msgsrwin.c
  - src/lang/msgsv.c
  - src/lang/msgsvwin.c
  - src/lang/msgtr857.c
  - src/lang/msgtrwin.c
  - src/lang/msgua866.c
  - src/lang/msguakoi.c
  - src/lang/msguawin.c
  * src/lang/Makefile
  * src/rtl/langcomp.prg
  * include/hblang.hbx
    - deletes legacy codepages now implemented in HB_LANGSELECT()
      compatibility layer dynamically
    + readded support for UEKOI8 and RUKOI8 CPs. Now this can
      be done cheaply
    ; Legacy languages left because of missing CPs:
        HE862, HEWIN, HUCWI, KO, SR852, SRISO, UADOS, ZHB5, ZHGB

  * include/harbour.hbx
    + added __HB_LANGSELECT() internal function (do not use it)

  * src/lang/msg_tpl.c
    + updated to UTF-8
2012-07-23 11:16:13 +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
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
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
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
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
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
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
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
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
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
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
Viktor Szakats
76e3f5afd6 2012-01-30 15:19 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
    ! use HB_WILDMATCH() with .T. option to make it behave as expected

  * include/harbour.hbx
  * include/hbcpage.hbx
    * regenerated
2012-01-30 14:21:50 +00:00
Przemyslaw Czerpak
c68616972b 2012-01-30 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
    + added HB_FUNC_EXCLUDE HB_MT
      TOFIX: it also disabled HB_MTVM() function. It should not happen.

  * harbour/include/hbcpage.hbx
    + added HB_FUNC_EXCLUDE HB_CODEPAGE_BIG5

  * harbour/include/harbour.hbx
  * harbour/include/hbusrrdd.hbx
  * harbour/include/hbscalar.hbx
  * harbour/include/hblang.hbx
  * harbour/include/hbcpage.hbx
    * regenerated automatically

  * harbour/src/rtl/valtype.c
    + added new PRG function: HB_ISHASHKEY( <xVal> ) -> <lValidHashKey>

  * harbour/src/lang/msgskiso.c
  * harbour/src/lang/msgskwin.c
  * harbour/src/lang/msgskkam.c
  * harbour/src/lang/msgsk852.c
    * modification in Slovak CPs by Jaroslav Janik - many thanks.
2012-01-30 13:33:49 +00:00
Mindaugas Kavaliauskas
88a8e73167 2012-01-11 19:25 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* contrib/hbcairo/core.c
    ! fixed typo

  * contrib/hbssl/ssl.c
    ! fixed typo in SSL_GET_MODE()

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/x509.c
  * contrib/hbssl/ssl.c
    + implemented release option for X509 collectable pointer
    ; openSSL increments reference counter for X509 returned
      by SSL_get_peer_certificate(), but does not increment it
      for SSL_get_certificate(). Unnecessary freeing of X509
      pointer caused random GPF later

  * src/rtl/hbsockhb.c
    * changed .prg level hb_socketSetBlockingIO() return value 
      type from lSuccess to nSuccess, to have the same return
      value meaning precision as C level function

  * src/rtl/hbsockhb.c
  * include/harbour.hbx
    + hb_socketGetFD( hSocket ) --> nFD
2012-01-11 17:26:24 +00:00
Viktor Szakats
2c365f9b9a 2011-07-17 22:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    * updated
  * config/global.mk
    * bumped version number
2011-07-17 20:30:57 +00:00
Viktor Szakats
44306c955c 2011-07-17 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/extend.api
  * include/harbour.hbx
  * include/hbdefs.h
  * include/hbapi.h
  * include/hbvm.h
  * include/hbapigt.h
  * include/clipdefs.h
  - src/pp/pplib3.c
  * src/pp/Makefile
  * src/vm/hvm.c
  * src/rtl/hbtoken.c
  * src/rtl/inkey.c
  * src/rdd/usrrdd/usrrdd.c
  * contrib/hbmysql/hbmysql.hbx
  - contrib/hbmysql/mysqlold.c
  * contrib/hbmysql/mysql.c
  * contrib/hbmysql/hbmysql.hbp
  * contrib/hbmysql/mysql.ch
  * contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbpgsql/postgres.c
  * contrib/hbwin/hbwin.hbp
  * contrib/hbwin/hbwin.hbx
  - contrib/hbwin/legacy.prg
  - contrib/hbwin/legacycd.c
  - contrib/hbwin/legacyco.c
  - contrib/hbwin/legacycp.c
  * contrib/hbodbc/hbodbc.hbx
  - contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
  * contrib/hbodbc/hbodbc.hbp
  * contrib/hbtip/utils.c
  * contrib/hbtip/hbtip.hbx
    * deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
      job started many years ago.
    ; this also means that windows.h and os2.h will no longer be
      included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
      so if someone needs these headers to access system APIs, they
      should be manually included in each source file. Some old
      hacks have also been removed which disabled some Clipper
      compatibility macros/types in compatibility headers (clipdefs.h, *.api),
      if someone uses these alongside windows.h/os2.h inclusion, it will
      be broken, here the strategy is to move to Harbour types and
      Harbour API headers, simply Clipper headers and newer OS headers
      are not compatible.
    ; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
    ; INKEY_RAW is no more, use HB_INKEY_RAW instead.
    ; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
      Harbour alternative which has it.
    ; Some legacy PP functions are no more.
    ; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
    ; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
      ones instead.
    ; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
    ; hbmysql, hbodbc compatibilty and deprecated functions were deleted
    ; hbwin compatibility functions were deleted. If there is demand, mainly to
      help migrating xhb users, they can be readded to xhb lib by interested
      developers, now deleted code should be changed to fall back to dummies
      on non-Windows builds.
    ; some deprecated hbpgsql functions were deleted
    ; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.

    ; Anyone affected by above changes has the option to stick with 3.0.x Harbour
      versions or to update their source code according to above instructions
      (or instructions included in past ChangeLog entries)

    ; Some fallouts in Harbour build is possible after these changes
2011-07-17 14:23:26 +00:00
Viktor Szakats
50f49dbf55 2011-06-14 11:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/strtran.c
    ! minor in webpage URL

  * src/rtl/gtwvt/gtwvt.c
    ! Patch from Heinz V. Bergen, fixing full screen and alt-enter
      GT features when GTWVT windows was not open yet, also fixing
      screen positioning/sizing regression.

  * src/rtl/inkey.c
  * include/harbour.hbx
    + added HB_KEYLAST() which allows to pass a mask
      (I'm not sure if this is ultimate solution, but there is goes
      for now. Pls remove it if there is better one)

  * package/winuni/RELNOTES
    * updated 3rd party version numbers
2011-06-14 09:52:19 +00:00
Viktor Szakats
464af38648 2011-05-21 13:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  + src/vm/pbyref.c
  * src/vm/Makefile
    + added HB_PISBYREF() (renamed because HB_PARAM* prefix would 
      be new, whereas HB_P*() is already utilized)
      [Przemek]

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhbfunc.c
    - commented HB_ISBYREF(). it's broken.
2011-05-21 11:14:46 +00:00
Viktor Szakats
5553c16493 2011-05-21 12:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbrandom.c
    * HB_RANDOMMAX() -> HB_RANDOMINTMAX()
    ; TOFIX: now broken under mingw in all places where HB_RANDOMINT()
             is potentially called with larger than HB_RANDOMINTMAX()
             value. This will be impossible f.e. in RANDOM() CT function.

  * src/rtl/hbrandom.c
  * src/rtl/hbrand.c
    + hb_random_block() changed to use ARC4 backend.

  * examples/httpsrv/modules/showcounter.prg
    % hb_ntos()
2011-05-21 10:42:24 +00:00
Przemyslaw Czerpak
7fbc9044fe 2011-05-21 12:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/valtoexp.prg
    ! fixed typo in recent modifications causing RTE in HB_VALTOEXP()

  * harbour/contrib/hbwin/win_prn2.c
    ! allocate dynamic memory for print buffer in WIN_PRINTFILERAW()
      32KB variable on process execution stack is potential source of
      random GPFs in programs using deeper recursive calls and killer
      for MT mode when smaller thread stack is allocated.
    ! fixed potential data lost in WIN_PRINTFILERAW() when not all data
      is transfered in single WritePrinter() call
    ! interrupt printing in WIN_PRINTFILERAW() if WritePrinter() returns
      error

  * harbour/include/harbour.hbx
  * harbour/src/rtl/hbrandom.c
    ! restored my old fix - it was correct and the results over RAND_MAX
      range expected
    + added new PRG function:
         HB_RANDOMMAX() -> <nRAND_MAX>
2011-05-21 10:02:49 +00:00
Viktor Szakats
14d0d4161d 2011-05-17 19:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbrandom.c
    + HB_RAND32() -> <32-bit random number>

    ; TOFIX: random numbers are broken under mingw 4.5.2, only high 16bits are random.
             in all HB_RAND*() functions
2011-05-17 17:03:32 +00:00
Viktor Szakats
66fdcc3bbb 2011-05-16 09:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/vm/runner.c
    + HB_HRBGETFUNLIST() -> <aArray>: New function posted to the
      list by Francesco Saverio Giudice
      (NOTE: I changed the name a little bit)

  * tests/gfx.prg
    ! fixed console output. Patch by Tamas Tevesz
    * changed rest of ? commands to outstd()
2011-05-16 07:34:46 +00:00
Viktor Szakats
5f731939fd 2011-05-11 16:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + HB_HCLEAR
  * contrib/hbide/hbide.hbp
    * deactivating HB_TR_ALWAYS
2011-05-11 14:25:20 +00:00
Viktor Szakats
20dd966f91 2011-05-05 16:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/libnamec.c
    + added HB_LIBPOSTFIX(). not finalized. it returns 
      the dynamic lib postfix used by Harbour convention
      (f.e. '-21', or '-21-wce-arm') by harbour core dll 
      and contrib dlls

  * src/vm/maindllp/dllpcode.c
    * reduced win specific macros

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhberr.prg
    + added XHB_ERRORLOG( [<cFileName>], [<lAppend>] ) -> { cOldName, lOldAppend }
      to replace xhb _SET_ERRORLOG extension
      (build test only)
    ! fixed != operator on string
2011-05-05 14:53:44 +00:00
Viktor Szakats
3313096d1d 2011-04-30 16:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/inkey.c
  * contrib/xhb/hbcompat.ch
    + added HB_KEYNEXT( [<nEventMask>] ) -> <nKey>
      (same as now disabled dirty xhb extension for NEXTKEY())
2011-04-30 15:00:50 +00:00
Viktor Szakats
7b3c518a60 2011-04-21 10:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * include/hbapi.h
  * src/common/hbver.c
  * src/rtl/version.c
    + hb_verHostCPU() to return CPU architecture the host OS
      is running under. (long time TODO)
      It may or may not give precise answer depending on 
      target OS. For win, it works as exptected.
    + HB_OSCPU() -> <cCPU> same for .prg level apps.

  * contrib/hbmxml/3rd/minixml/mxml_str.c
    ! Ultimate isdigit() fix. [Tamas Tevesz]
2011-04-21 08:36:15 +00:00
Viktor Szakats
54463d9f13 2011-04-19 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/version.c
    * Renamed recently added function HB_OSBITWIDTH() to HB_OSIS64BIT()
2011-04-19 15:55:35 +00:00
Viktor Szakats
76ede8f870 2011-04-18 16:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + added HB_PREAD
2011-04-18 14:29:04 +00:00
Viktor Szakats
76ea49c864 2011-04-15 22:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/harbour.hbx
  * src/common/hbver.c
  * src/rtl/version.c
    + added hb_verHostBitWidth( void ) -> int which retrieves bit width of host OS
    + added HB_OSBITWIDTH() -> <nBits>
    ; It will currently work on win platform, falling back to target arch bits
      for others. Pls extend it for *nixes. For MS-DOS, 32 will be returned with
      both currently supported compilers.
2011-04-15 20:04:02 +00:00
Viktor Szakats
2b2549b74a 2011-04-15 10:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + added HB_MUTEXEVAL

  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/*.po
    + Added note to -l option: 'Do not add core Harbour libraries, they are automatically added as needed.'

  * utils/hbmk2/hbmk2.hbp
    ! Deleted bad hack linking in hbcplr, hbpp, hbcommon on non-mingw
      win compilers.
2011-04-15 08:21:50 +00:00
Viktor Szakats
709be07f83 2011-02-15 09:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbmk2_qt.hbs
    * Whitespace.

  * include/harbour.hbx
  * src/rtl/hbdoc.prg
  * tests/stripdoc.hbs
    * Added __HBDOC_FILTEROUT( <cFile> ) -> <cFile> internal
      function to strip all NG doc content from a file and
      return the stripped file.

  * contrib/hbide/idedocwriter.prg
    + Use core __HBDOC_TOSOURCE() to generate NG doc source.
      (just build tested)
    ; TOFIX: idedocwriter.prg and ideharbourhelp.prg
             still makes direct reference to NG doc physical
             format. Pls change these to use __HBDOC_* functions.
2011-02-15 08:21:47 +00:00
Viktor Szakats
eb538893c4 2011-02-07 17:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + Added HB_SOCKETGETHOSTNAME().

  * contrib/hbcurl/hbcurls.hbp
  * contrib/hbssl/hbssls.hbp
    * Changed to not build dlls against static lib dependencies.

  * contrib/hbssl/hbssl.hbp
    ! Fixed regression (in 2011-02-03 01:44 UTC+0100 Viktor Szakats)
      causing implibs to not be generated for openssl.
2011-02-07 16:21:29 +00:00
Viktor Szakats
4d140dc2d6 2011-02-03 22:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    * Renames in new path/fn handling functions.
      * HB_FNAMEDIRGET()     -> HB_FNAMEDIR()
      * HB_FNAMENAMEGET()    -> HB_FNAMENAME()
      * HB_FNAMENAMEEXTGET() -> HB_FNAMENAMEEXT()
      * HB_FNAMEEXTGET()     -> HB_FNAMEEXT()
      * HB_FNAMEEXTDEF()     -> HB_FNAMEEXTSETDEF()

  ; Patch from Tamas:

  * src/rtl/hbcom.c
    + adds minix serial device names to hbcom

  * utils/hbmk2/hbmk2.prg
    ! Fixed RTE regression in previous recent minix patch.

  * config/dos/djgpp.mk
    ! Applied previous C++ gcc flag patch also to djgpp.
2011-02-03 21:44:01 +00:00
Viktor Szakats
530f92449e 2011-02-03 13:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    * HB_PATHMAKEABSOLUTE() swapped two input parameters. Now: ( <PathAbs>, <PathRel> )
    * HB_PATHMAKEABSOLUTE() renamed to HB_PATHJOIN()
    * HB_PATHMAKERELATIVE() 3rd (<lForceRelative>) parameter default changed to .T.
    * HB_PATHMAKERELATIVE() renamed to HB_PATHRELATIVIZE()
    * HB_DIRADDPATHSEP() renamed to HB_DIRSEPADD()
    * HB_DIRDELPATHSEP() renamed to HB_DIRSEPDEL()
    ; HB_PATHNORMALIZE() name finalized

  * contrib/hbide/idemisc.prg
    - Deleted unused hbmk2_PathMakeRelative()
2011-02-03 12:58:47 +00:00
Viktor Szakats
a0e44fe17f 2011-01-31 22:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    ! HB_DIRADDPATHSEP() fixed to not add pathsep to plain dirspec.
    ! HB_DIRDELPATHSEP() fixed to not remove double pathspec from UNC root.
    ! Fixed to work if HB_OSDRIVESEPARATOR()'s length is not 1:
      HB_PATHMAKERELATIVE(), HB_DIRUNBUILD(), HB_DIRDELPATHSEP().
      (QUESTION: is this a valid possibility, or is this over-design?)
    + Added TODO to HB_CWD() to also be able to change dir.
      This will require adding Harbour versions of DIRCHANGE() and
      DISKCHANGE(), or moving the implementation to C level.
      (possibly the latter)
    - Deleted HB_FNAMEDIREXTSET(). Doesn't satisfy a general need.
2011-01-31 21:29:51 +00:00
Viktor Szakats
c7a2b185d6 2011-01-31 15:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/dirdrive.c
    + Added HB_DIRCREATE(), which is same as MAKEDIR() C5.3 function,
      but it's always available, not just when HB_COMPAT_C53 is enabled.
    + Added HB_DIRDELETE(), which is same as DIRREMOVE() C5.3 function,
      but it's always available, not just when HB_COMPAT_C53 is enabled.

   * contrib/hbnetio/tests/netiotst.prg
   * contrib/hbnetio/tests/netiot03.prg
   * contrib/hbfimage/tests/fitest.prg
   * contrib/hbide/idesaveload.prg
   * utils/hbmk2/hbmk2.prg
   * utils/hbrun/hbrun.prg
   * tests/wcecon.prg
   * tests/flink.prg
   * bin/hb3rdpat.hbs
   * examples/hbdoc2/gentpl.prg
     * Replaced MakeDir() with universally available hb_DirCreate().
     ; TODO: same in config/postinst.hbs (delayed to avoid a million
             false bug reports)

  * src/rtl/Makefile
  + src/rtl/hbfilehi.prg
    + Added generic file/dir/path handling functions.
      They are taken from hbmk2 code, added parameter checking,
      did two minor change to DirBuild() to be generic,
      renamed to have HB_ prefix.
      Please note the parameter list and any details are
      subject to change yet, IOW these APIs are not yet finalized:

         hb_cwd() -> <cPath>
         hb_PathNormalize( <cPath> ) -> <cPath>
         hb_PathMakeAbsolute( <cPathRel>, <cPathAbs> ) -> <cPath>
         hb_PathMakeRelative( <cPathBase>, <cPathTarget>, <lForceRelative> ) -> <cPath>
         hb_DirAddPathSep( <cDir> ) -> <cDir>
         hb_DirDelPathSep( <cDir> ) -> <cDir>
         hb_DirBuild( <cDir> ) -> <lSuccess>
         hb_DirUnbuild( <cDir> ) -> <lSuccess>
         hb_FNameDirGet( <cFileName> ) -> <cDir>
         hb_FNameNameGet( <cFileName> ) -> <cName>
         hb_FNameNameExtGet( <cFileName> ) -> <cNameExt>
         hb_FNameExtGet( <cFileName> ) -> <cExt>
         hb_FNameExtDef( <cFileName>, <cDefExt> ) -> <cFileName>
         hb_FNameExtSet( <cFileName>, <cExt> ) -> <cFileName>
         hb_FNameDirExtSet( <cFileName>, <cDirNew>, <cExtNew> ) -> <cFileName>

    ; TODO: Review, clean interface.
    ; TODO: Use these functions in .hbs files, utils, hbide.

  * include/harbour.hbx
    * Updated.

  * utils/hbmk2/hbmk2.prg
    * One internal function renamed.
2011-01-31 14:49:20 +00:00
Viktor Szakats
514c3a2d00 2010-12-02 14:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * include/hbsocket.h
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/hbsockhb.c
    + Added hb_socketSetExclusiveAddr() on .c level.
    + Added hb_socketSetExclusiveAddr() on .prg level.
    * hb_socketSetReuseAddr() cleaned from SO_EXCLUSIVEADDRUSE (Windows-only)
      logic.
    * Changed HB_INETSERVER(), HB_INETDGRAMBIND() to call
      hb_socketSetExclusiveAddr()(). We may delete these if they
      cause problems on some Windows platforms, though we must
      absolutely use this option (for security reasons) in every
      server component, if Windows host supports it.
    ; TODO: Call hb_socketSetExclusiveAddr() from hbnetio server,
            hbhttpd server.

  * include/hbcpage.hbx
  * src/codepage/Makefile
  + src/codepage/cpcs852c.c
  * src/codepage/cpsk852c.c
  - src/codepage/cpcskam.c
  + src/codepage/cpcskamc.c
  - src/codepage/cpskkam.c
  + src/codepage/cpskkamc.c
    ! Fixed SK852C to be fully Clipper compatible. (generated with cpinfo)
    ! Added Clipper compatible CS852C CP. (generated with cpinfo)
    * SK/CS Kamenicky CP moved to Clipper compatibility status.
      Updated to be Clipper compatible. (generated with cpinfo)
      INCOMPATIBLE. Pls update CP names if you used these.
      Thanks to Jaroslav Janik for the help.
      Please test all these.
2010-12-02 13:44:51 +00:00
Przemyslaw Czerpak
7c8c239f5c 2010-11-26 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbf1.c
  * harbour/src/rdd/sdf1.c
  * harbour/src/rdd/delim1.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddbmcdx/bmdbfcdx.c
  * harbour/contrib/rddsql/sqlbase.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/sddmy/sddmy.c
  * harbour/contrib/sddfb/sddfb.c
  * harbour/contrib/sddpg/sddpg.c
  * harbour/contrib/sddoci/sddoci.c
  * harbour/contrib/sddodbc/sddodbc.c
  * harbour/contrib/sddsqlt3/sddsqlt3.c
  * harbour/include/harbour.hbx
  * harbour/contrib/rddads/rddads.hbx
    * declare *_GETFUNCTABLE() functions as static - they do not have to
      be public C functions
    * simplified if possible RDD registration code and modified
      supper RDD request method so it's not stripped by compiler
      when hb_errInternal() function is declared with NORETURN
      attribute
2010-11-26 11:56:29 +00:00
Mindaugas Kavaliauskas
a3a7ff67c9 2010-11-18 20:15 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/include/harbour.hbx
    ! one more try to make correct .hbx file
2010-11-18 18:16:09 +00:00
Mindaugas Kavaliauskas
aaf3d87c72 2010-11-18 20:05 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/include/hbcpage.hbx
    ! HB_CODEPAGE_LT755 -> HB_CODEPAGE_LT775

  * harbour/include/harbour.hbx
    + added hb_lpp*()
2010-11-18 18:05:42 +00:00