Commit Graph

2285 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
3fddd75f6b 2009-11-06 00:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/strcase.c
  * harbour/src/rtl/cdpapi.c
    * moved some CP dependent functions from strcase.c to cdpapi.c
      They will be reimplemented in new CDP code.

  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added new C functions to eliminate direct access to HB_CODEPAGE
      structure by non core code

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtqtc/gtqtc.cpp
    * updated to eliminate direct access to HB_CODEPAGE structure
2009-11-05 23:16:00 +00:00
Przemyslaw Czerpak
e3050ec14b 2009-11-02 12:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added two new functions hb_cdpU16ToStr() and hb_cdpU16LEToStr()

  * harbour/doc/xhb-diff.txt
    ! fixed typo in code example reported by Guy Roussin
    ! fixed some other typos - i.e. in detached local description
2009-11-02 11:29:24 +00:00
Viktor Szakats
bf4650f563 2009-11-01 17:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_BYTE as synonym to BYTE.
2009-11-01 16:09:04 +00:00
Viktor Szakats
c7a629f13d 2009-11-01 17:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    * Changed HB_SIZE to ULONG. Added TOFIX to later change it 
      to 'long'. With its current setup it's possible to gradually 
      change 'ULONG' usages to 'HB_SIZE' when used as string/array 
      length ot index. This can be a gradual process.
2009-11-01 16:03:44 +00:00
Viktor Szakats
4c9e523175 2009-11-01 16:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_MAX[U]INT as new name for HB_[U]LONG.
    + Added HB_[U]LONG to new type list with TOFIX note.
    * Changed HB_ATTR to not rely on Windows type.
    - Deleted hb[Type] style types from planning.
2009-11-01 15:59:43 +00:00
Viktor Szakats
a6006e11d1 2009-11-01 11:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added new planned types. These are meant to replace previous 
      proposition with the format 'hb<Type>'. New ones use usual 
      'HB_<TYPE>' format. Also added HB_TRUE and HB_FALSE.
      These new names don't look alien at all in code, so hopefully 
      we can go into the transition with more courage. As a plus, 
      some of the HB_TYPE format types are already implemented and 
      used (HB_WCHAR, HB_LONG, HB_ULONG, etc).
      A new important type is HB_SIZE, which I hope will replace 
      ULONG for string and array indices.
    * Changed HB_CHAR to be declared as 'char' instead of 'BYTE'.
      (this type was added long ago, but is not yet used anywhere 
      in code)
    * Changed HB_COLOR to be declared as 'int' instead of 'BYTE'.
      (this type was added long ago, but is not yet used anywhere 
      in code, since then we've settled to 'int' to represent 
      colors. Pbly we should move to use this abstract type instead 
      of int in code.)
    ; I left hb<Type> code as of yet, but if there is no objection, 
      I'd like to remove them.
    ; Here are the new types:

      HB_TRUE
      HB_FALSE
      HB_BOOL
      HB_BYTE
      HB_CHAR
      HB_ULONG
      HB_LONG
      HB_UINT
      HB_SHORT
      HB_USHORT
      HB_LONGLONG
      HB_ULONGLONG
      HB_I8
      HB_U8
      HB_I16 ( HB_I16_MIN, HB_I16_MAX )     
      HB_U16 ( HB_U16_MAX )
      HB_I32 ( HB_I32_MIN, HB_I32_MAX )
      HB_U32 ( HB_U32_MAX )            
      HB_I64 ( HB_I64_MIN, HB_I64_MAX )
      HB_U64 ( HB_U64_MAX )            
      HB_SCHAR
      HB_UCHAR
      HB_SIZE
      HB_DOUBLE

    ; QUESTION: Do we really need 3 different flavors to denote char/byte?
                HB_BYTE - HB_UCHAR - HB_U8
                HB_CHAR - HB_SCHAR - HB_I8
                If not, we should decide which ones to keep.
                If yes, it would be nice to have some guide when to use which.
2009-11-01 10:43:15 +00:00
Przemyslaw Czerpak
041227cec3 2009-10-31 02:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    * modified hb_cdpStringInU16Length() to return size in 'HB_WCHAR'
      instead of 'char' characters
    + added hb_cdpStrnToU16n(), hb_cdpStrnToU16LEn(),
      hb_cdpStringInU16Length2()
2009-10-31 01:25:38 +00:00
Przemyslaw Czerpak
ec05ab3c34 2009-10-30 17:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbffind.c
    * small buffer size fix

  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added HB_WCAHR
    * changed USHORT to HB_WCHAR

  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/ucnext.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_6.c
    * changed USHORT to HB_WCHAR
2009-10-30 16:56:47 +00:00
Przemyslaw Czerpak
bdd496a088 2009-10-28 09:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    * use XSetWMName() instead of XStoreName() to set window title
      using UTF8 strings

  * harbour/include/hbapigt.h
    * always declare hb_gtIsGtRef() for C++ compiler
2009-10-28 08:13:41 +00:00
Przemyslaw Czerpak
abb4092d09 2009-10-27 10:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/garbage.c
    * added emulation for hb_gcAlloc() function covered by HB_LEGACY_LEVEL2
      It will be removed in the future but now it gives a time for 3-rd party
      code developers to updated existing code and switch to hb_gcAllocate()

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added hb_oleItemGetCallBack() and hb_oleItemSetCallBack()
      functions and support for user defined items bound with
      OLE GC pointer item

  * harbour/contrib/hbwin/axcore.c
    * bound callback function with OLE item so it will be automatically
      released with OLE object

  * harbour/contrib/hbwin/tests/testax.prg
     ! destroy window
     * enabled destructor

    So far MS-Windows users haven't defined expected behavior for OLE code
    so I took my own arbitrary decision and bound callback with OLE GC item.
    When last copy of this item is cleared then callback is unregistered
    and freed. It means that it can happen before AX window is closed.
    If you prefer different behavior then please clearly define what
    you need and I can try to change existing code.
    Now testax.prg should cleanly execute without any GPF traps and
    resource leaks.
2009-10-27 09:34:35 +00:00
Przemyslaw Czerpak
80727f27b2 2009-10-27 00:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    ! use hb_gcMark() instead of hb_gcItemRef() to mark unlocked item

  * harbour/src/vm/garbage.c
    * moved hb_itemClear() from hb_gcGripDrop() to hb_gcGripRelease()
      Now items are freed in the same way as any other GC blocks and
      hb_gcGripDrop() is simple wrapper to hb_gcRefFree()

  * harbour/src/vm/hvm.c
  * harbour/src/vm/thread.c
    ! unlock item which stores thread return value to eliminate possible
      memory leaks, i.e. when thread returns its own pointer item.
    ! unlock item which stores notify messages to eliminate possible
      memory leaks, i.e. when mutex is used as notify value in its
      own message queue.

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/vm/garbage.c
    + added new GT method MARK() executed by GC to mark all internall
      GC blocks as used.
    + added hb_gtIsGtRef() internal function
    ! unlock internal GT items (pCargo, pNotifierBlock, pMutex) to
      eliminate possible memory leaks, i.e. when pGT item is stored
      in it's own cargo value or is accessed from notifier codeblock
2009-10-26 23:01:50 +00:00
Przemyslaw Czerpak
35e5052a3d 2009-10-23 13:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
  * harbour/include/hbgtinfo.ch
    * renamed HB_GTI_CLIPBOARDPAST -> HB_GTI_CLIPBOARDPASTE
2009-10-23 11:27:54 +00:00
Przemyslaw Czerpak
6b282c790b 2009-10-23 11:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/extend.c
    + added hb_parldef() function

  * harbour/src/vm/thread.c
  * harbour/src/vm/memvars.c
  * harbour/src/vm/arrayshb.c
  * harbour/src/vm/classes.c
  * harbour/src/rtl/hbtoken.c
  * harbour/src/rtl/maxrow.c
  * harbour/src/rtl/strtoexp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/hbregex.c
  * harbour/src/rtl/dateshb.c
  * harbour/src/rtl/hbi18n1.c
  * harbour/src/rtl/mlcfunc.c
  * harbour/src/rtl/itemseri.c
  * harbour/src/rtl/strc.c
  * harbour/src/rtl/gete.c
  * harbour/src/rtl/mouse53.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rdd/dbsql.c
  * harbour/src/rdd/dbdetach.c
  * harbour/src/rdd/dbcmd.c
  * harbour/src/rdd/dbcmd53.c
  * harbour/src/rdd/hbsix/sxord.c
  * harbour/src/rdd/hbsix/sxfname.c
  * harbour/contrib/hbct/bitnum.c
  * harbour/contrib/hbct/screen2.c
  * harbour/contrib/hbct/ctnet.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbct/charswap.c
  * harbour/contrib/hbct/lton.c
  * harbour/contrib/hbct/color.c
  * harbour/contrib/hbct/num1.c
  * harbour/contrib/hbct/token1.c
  * harbour/contrib/hbct/numcount.c
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbct/ctstrfil.c
  * harbour/contrib/hbct/dattime2.c
  * harbour/contrib/xhb/bkgtsks.c
  * harbour/contrib/xhb/xhbtrim.c
  * harbour/contrib/hbnf/prtscr.c
  * harbour/contrib/hbnf/fttext.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/gtwvg/wincallb.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/hbwin/win_prn1.c
  * harbour/contrib/hbwin/win_prn2.c
    % optimized HB_ISLOG() / hb_parl() usage
2009-10-23 09:48:38 +00:00
Przemyslaw Czerpak
a70ce60954 2009-10-23 09:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbfnsx/dbfnsx1.c
    ! fixed bug reported by Jaroslav Janik (many thanks) - if index FOR
      expression excluded all records from non empty table then root page
      was not initialized and DBFNSX generated corruption RTE.

  * harbour/utils/hbi18n/hbi18n.prg
    * set default GT to CGI

  * harbour/src/common/hbgete.c
    ! fixed memory leak in non UNICODE Windows hb_getenv_buffer()
    ! add C stack buffers to eliminate memory allocation in UNICODE
      Windows hb_getenv_buffer() - they are used if envvar name and
      passed buffer are not too large. It fixes HB_FM_STATISTICS
      Windows builds.

  * harbour/contrib/hbwin/wapi_winuser.c
    + added WAPI_DESTROYWINDOW function

  * harbour/contrib/xhb/traceprg.prg
  * harbour/contrib/xhb/hbcompat.ch
    ! fixed typo in TraceLog() condition - was always disabled
    + added emulation for xHarbour Set( _SET_TRACE* [, <params,...> ] )
      settings

  * harbour/src/vm/hvmall.c
    ! define _GNU_SOURCE to fix compilation with HB_FM_DL_ALLOC in Linux
      builds

  * harbour/include/hbdefs.h
    * declare HB_FOFFSET as LONG instead of LONGLONG on platforms where
      LONG is 64bit integer to be compatible with C RTL file API

  * harbour/src/vm/maindllh.c
  * harbour/src/vm/maindllp.c
  * harbour/contrib/hbct/ctstr.c
    ! casting in HB_TRACE() massages

  * harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/src/vm/arrays.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/itemapi.c
    + added hb_arrayCloneTo(), hb_hashCloneTo(), hb_itemCloneTo()

  * harbour/src/vm/arrayshb.c
  * harbour/src/vm/classes.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/hashfunc.c
  * harbour/src/vm/hvm.c
    % use hb_*CloneTo() instead of hb_*Clone()

  * harbour/include/hbapi.h
  * harbour/src/vm/garbage.c
    - removed hb_gcRegisterSweep() function and support for user defined
      sweep mark functions in GC blocks
    - removed hb_gcAlloc() function
    + added new function hb_gcAllocate() which work in similar way to removed
      hb_gcAlloc() function but it accepts as second parameter HB_GC_FUNCS
      structure instead of HB_GARBAGE_FUNC_PTR and returned GC blocks are
      locked so programmer does not have to worry that they can be removed
      by GC.
    + added new internal function hb_gcAllocRaw() which works like
      hb_gcAllocate() but returned GC blocks are not locked. They can
      be used only in HVM in places well known that cannot activate
      automatic GC scan. It should not be used by 3-rd party code.

  * harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/src/vm/extend.c
  * harbour/src/vm/itemapi.c
    * modified hb_parptrGC(), hb_parvptrGC(), hb_arrayGetPtrGC(),
      hb_itemGetPtrGC() functions to use HB_GC_FUNCS structure instead
      of HB_GARBAGE_FUNC_PTR
    * modified hb_itemPutPtrGC() and indirectly related functions like
      hb_arraySetPtrGC() or hb_stor[v]ptrGC() to automatically unlock
      passed GC block just after attaching to known HVM item.

  * harbour/include/hbregex.h
  * harbour/src/rtl/hbregexc.c
    * declare GC block detractor as static function
    + added hb_regexIs() function
    * updated to work with new GC API
    * removed unnecessary in new GC API hb_gcLock() call - GC blocks
      allocated by hb_gcAllocate() are already locked and they mustn't
      be locked explicitly by programmer (until he does not exactly knows
      what he does ;))

  * harbour/src/rtl/hbregex.c
    * use hb_regexIs() instead of using regex GC destructor
    * removed unnecessary in new GC API hb_gcUnlock() call - GC blocks
      stored in HB_IT_POINTER item are automatically unlocked

  * harbour/src/rtl/hbinet.c
  * harbour/contrib/hbcurl/hbcurl.c
    * updated to work with new GC API
    % unlock items storing callback codeblocks and use GC mark functions
      to mark them as used in GC passes

  * harbour/src/pp/pplib.c
  * harbour/src/vm/runner.c
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/hvm.c
  * harbour/src/vm/arrays.c
  * harbour/src/vm/thread.c
  * harbour/src/vm/dynlibhb.c
  * harbour/src/rtl/hbzlibgz.c
  * harbour/src/rtl/hbregex.c
  * harbour/src/rtl/hbregexc.c
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/rtl/hbi18n1.c
  * harbour/src/rdd/wacore.c
  * harbour/contrib/hbsqlit3/hbsqlit3.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/hbwin/win_prn1.c
  * harbour/contrib/hbwin/win_dll.c
    * updated code which was using hb_gcAlloc() to work with new GC API.

  * harbour/contrib/hbwin/axcore.c
    * updated syntax description

   TODO: update contrib code: hbqt, hbssl, ... to work with new GC API.
         I would like to ask authors of above libraries to do it.
   TODO: defined when and how we should free AX control and user callback
         handler and update AX code to respect new definition
2009-10-23 07:25:36 +00:00
Przemyslaw Czerpak
ed9cd3fc9e 2009-10-20 13:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
  * harbour/include/hbthread.h
    * eliminated nameless unions
2009-10-20 11:48:46 +00:00
Przemyslaw Czerpak
dce9013c0f 2009-10-19 22:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    + added HB_TTOD() and HB_DTOT() functions
2009-10-19 20:14:02 +00:00
Przemyslaw Czerpak
0e1f0f34e9 2009-10-19 11:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    ! always optimized ASC() and LEN() functions (was disabled by -kc switch).
      These optimizations are not Harbour extensions - Clipper also optimize
      above functions

  * harbour/doc/cmpopt.txt
    * updated optimization description

  * harbour/doc/pp.txt
    + added information about new lexer
2009-10-19 09:54:05 +00:00
Przemyslaw Czerpak
fc6853c254 2009-10-19 10:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added new functions: hb_cdpStrnToU16LE() and hb_cdpStringInU16Length()

  * harbour/contrib/rddads/rddads.h
    ! define (if not defined) x64 macro in all 64bit builds not only for
      MinGW64
    * define (if not defined) unix macro in all HB_OS_UNIX builds not only
      for Linux. TOCHECK: CygWIN builds.
2009-10-19 08:55:27 +00:00
Przemyslaw Czerpak
8f0f023887 2009-10-18 13:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsocket.h
  * harbour/src/rtl/hbsocket.c
    * added new function b_socketResolveInetAddr()

  * harbour/ChangeLog
    * minor formatting
2009-10-18 11:47:24 +00:00
Przemyslaw Czerpak
c3e0439921 2009-10-17 01:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/Makefile
  + harbour/src/rtl/hbbffnc.c
  * harbour/include/hbextern.ch
    + added PRG functions for BlowFish encryption:
         hb_blowfishKey( <cPass> ) -> <bfKey>
         hb_blowfishEncrypt( <bfKey>, <cData> ) -> <cCryptedData>
         hb_blowfishDecrypt( <bfKey>, <cCryptedData> ) -> <cData>
      On errors above functions return NIL.
      Warning: the size of encrypted data is padded to 64bit (8 bytes)
      so it's bigger then original one.
2009-10-16 23:22:41 +00:00
Przemyslaw Czerpak
864d74c6a5 2009-10-16 20:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/Makefile
  + harbour/src/rtl/hbbfish.c
  * harbour/include/Makefile
  + harbour/include/hbbfish.h
    + added support for BlowFish encryption at C level:
      hb_blowfishInit(), hb_blowfishEncrypt(), hb_blowfishDecrypt()
      This code implements BlowFish algorithm designed by Bruce Schneier.
      The description of BlowFish algorithm can be found at:
         http://www.schneier.com/paper-blowfish-fse.html
      This code uses for initial s-boxes and p-array values PI hex digits
      taken from tables public at:
         http://www.schneier.com/blowfish.html
      which can be downloaded from:
         http://www.schneier.com/code/constants.txt
      This should be quite fast implementation (probably much faster
      then reference one) but please remember that in BlowFish algorithm
      startup initialization of encryption tables is intentionally
      designed to be expensive to strongly reduce the efficiency of
      brute force attacks so call hb_blowfishInit() once for each
      new password and then reuse initialized encryption tables in
      hb_blowfishEncrypt() and hb_blowfishDecrypt().
      I'll add .prg functions later.
      TODO: add some asymmetric key encryption.
2009-10-16 18:02:57 +00:00
Przemyslaw Czerpak
d2ffd92ee3 2009-10-15 17:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbfcdx/dbfcdx1.c
    * removed old unused macros

  * harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/complex.c
  * harbour/src/compiler/hbcomp.c
  * harbour/src/compiler/gencobj.c
  * harbour/src/compiler/hbusage.c
    + added support for -gd[.<destExt>] switch.
      When used Harbour compiler generates also .d file with dependencies
      list in the form like for make systems:
         <destFile>: <sourceFiles,...>
      optional .<destExt> parameter value can be used to replace default
      extension in <destFile>.
      Now users can generate .d files without additional overhead in the
      same pass as normal compilation by simple adding -gd[.<destExt>]
      switch to compilation command instead of executing harbour compiler
      second time with -sm switch.

  * harbour/doc/man/harbour.1
    * updated man page

  * harbour/utils/hbmk2/hbmk2.prg
    * removed -kj switch - it's not longer necessary to improve -sm
    * minor formatting
2009-10-15 15:04:02 +00:00
Przemyslaw Czerpak
bc8ff36826 2009-10-14 00:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/complex.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
    % disable grammar parser when -sm switch is used
2009-10-13 22:16:30 +00:00
Przemyslaw Czerpak
4522500293 2009-10-13 15:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcompdf.h
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/ppcomp.c
  * harbour/src/compiler/hbusage.c
  * harbour/doc/man/harbour.1
    + added support for new compiler switch -sm which can be used to
      generate dependencies list.
    * modified HB_COMPILEBUF() function to return dependencies list
      instead of .HRB file body when -sm switch is used. Files in
      single module are separated by spaces and modules are separated
      by TABs (chr(9))
      To reduce overhead I suggest to use in programs like hbmk2
      together with -sm also -kj switch - it disables some time
      consuming optimizations in compiler code.
2009-10-13 13:17:15 +00:00
Francesco Saverio Giudice
0cc5bbb822 2009-10-13 00:21 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/src/rtl/hbini.prg
     * Changed hb_IniString() function name to hb_IniReadStr()
     + Added hb_IniWriteStr() that returns a string from an Ini hash
        hb_iniWriteStr( hIni, cCommentBegin, cCommentEnd, lAutoMain )
         -> cData | NIL
        ! Fixed a previous error in logic in case of hIni with missing MAIN section
  * harbour/include/hbextern.ch
     - Removed hb_IniString() declaration
     + Added hb_IniReadStr() and hb_IniWriteStr() external declarations
  * harbour/tests/parseini.prg
     + Added samples of hb_IniReadStr() and hb_IniWriteStr() functions
2009-10-12 22:22:37 +00:00
Francesco Saverio Giudice
e53db654d2 2009-10-12 22:47 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/include/hbextern.ch
     + Added hb_IniString() external declaration
2009-10-12 20:48:50 +00:00
Przemyslaw Czerpak
a33106ec02 2009-10-11 19:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/is.c
    * moved hb_charIs*() functions to cdpapi.c file for easier updating
      in the future
    % optimized memory allocation for new codepages

  * harbour/contrib/hbct/pos1.c
    * use hb_charIs*() functions instead of accessing HB_CODEPAGE
      structure members
2009-10-11 17:55:14 +00:00
Viktor Szakats
8e15abc1bd 2009-10-07 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/transtst.prg
  * doc/pp.txt
  * doc/en-EN/string.txt
  * doc/en-EN/terminal.txt
  * doc/en-EN/dbstrux.txt
  * include/hbpp.h
  * include/std.ch
  * include/hbclass.ch
  * include/hbsetup.ch
  * include/hbdefs.h
  * include/dbedit.ch
  * include/hbapigt.h
  * include/hbextern.ch
  * include/hbexprb.c
  * ChangeLog
  * source/pp/ppcore.c
  * source/vm/macro.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/arrays.c
  * source/vm/proc.c
  * source/vm/memvars.c
  * source/vm/arrayshb.c
  * source/vm/memvclip.c
  * source/common/hbverdsp.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/setposbs.c
  * source/rtl/round.c
  * source/rtl/oldbox.c
  * source/rtl/trim.c
  * source/rtl/tpopup.prg
  * source/rtl/einstvau.prg
  * source/rtl/setta.prg
  * source/rtl/transfrm.c
  * source/rtl/browse.prg
  * source/rtl/tget.prg
  * source/rtl/setfunc.prg
  * source/rtl/achoice.prg
  * source/rtl/strzero.c
  * source/rtl/natmsgu.c
  * source/rtl/strtran.c
  * source/rtl/errapiu.c
  * source/rtl/einstvar.prg
  * source/rtl/dbedit.prg
  * source/rtl/einstv52.prg
  * source/rtl/console.c
  * source/rtl/mousehb.c
  * source/rtl/chrasc.c
  * source/rtl/dircmd.prg
  * source/rtl/oldclear.c
  * source/rtl/hbgtcore.c
  * source/rtl/dirdrive.c
  * source/rtl/mlcfunc.c
  * source/rtl/datesx.c
  * source/rtl/accept.c
  * source/rtl/defpathu.c
  * source/rtl/tgetlist.prg
  * source/rtl/input.prg
  * source/rtl/alert.prg
  * source/rtl/tmenuitm.prg
  * source/rtl/shadowu.c
  * source/rtl/tbrowse.prg
  * source/rdd/dbfntx/dbfntx1.c
  * source/rdd/dbdelim.prg
  * source/rdd/rddordu.prg
  * source/rdd/workarea.c
  * source/rdd/dbnubs.c
  * source/rdd/rddinfo.c
  * source/rdd/dbstruxu.prg
  * source/rdd/sdf1.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbcmd.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbdrop.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/dbrename.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/cursor.c
  * contrib/xhb/xhbver.prg
  * contrib/xhb/xhbtrim.c
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_array.prg
  * examples/hbdoc/examples/core_es/dbstrux.txt
  *  examples/hbdoc2/hbdoc2.prg
    * HB_C52_STRICT -> HB_CLP_STRICT
      We use it cover strict Clipper compatibility in general, not 
      just for C5.2.
    * HB_C52_UNDOC -> HB_CLP_UNDOC
      We use it cover Clipper undocumented stuff in general, not 
      just C5.2 version specific ones.
2009-10-07 09:35:33 +00:00
Viktor Szakats
32c6a322ce 2009-10-07 07:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/ctwin.c
    + Added HB_C52_STRICT guard around artificial windows 
      size limits. Please review me.
      HB_C52_STRICT macros should be renamed to HB_CLP_STRICT 
      to reflect usage of recent years, where it's also used 
      to cover 5.3 strictness f.e..

  * source/rtl/gtwvt/gtwvt.c
    ! Minor formatting.
    ! Fixed to use WVT_MAX_COLS instead of WVT_MAX_ROWS in one 
      place.

  * source/codepage/Makefile
  + source/codepage/cpeliso.c
  + source/codepage/cptriso.c
    + Added two new codepage modules.
      Patch submitted by Istvan Bisz.

  * include/hbextcdp.ch
    + Added above codepages to codepage list.
2009-10-07 05:37:22 +00:00
Przemyslaw Czerpak
fd6e8558c0 2009-10-07 00:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/Makefile
  + harbour/source/rtl/hbascii.c
  * harbour/include/hbextern.ch
    + added new .prg functions which operates on pure ASCII strings:
      hb_asciiUpper(), hb_asciiLower(), hb_asciiIsAlpha(),
      hb_asciiIsUpper(), hb_asciiIsLower(), hb_asciiIsDigit()

  * harbour/source/rtl/objfunc.prg
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/treport.prg
  * harbour/source/rtl/tpersist.prg
  * harbour/source/rtl/memoedit.prg
  * harbour/source/rtl/menuto.prg
  * harbour/source/rtl/tgetlist.prg
  * harbour/source/rtl/tclass.prg
    ! use hb_asciiUpper() instead of Upper() to convert identifiers
      and pictures
2009-10-06 22:28:23 +00:00
Przemyslaw Czerpak
e4430be4de 2009-10-05 12:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsocket.h
  * harbour/source/rtl/hbsocket.c
    + added new function hb_socketSetNoDelay() which turn off the nagle
      algorithm for the specified socket.
      The nagle algorithm says that we should delay sending
      partial packets in the hopes of getting more data.
      Be careful using this functions. It may help to improve performance
      in some cases but in some other it may cause very serious overhead.
      Programmer should well know what it does.
    * set socket error in all hb_socket[SG]et*() functions

  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    * use hb_socketSetNoDelay() - it can be safely used in this code
      though it probably does not improve the speed because I used
      protocol which was nagle algorithm friendly. Anyhow now we
      can disable NETIO_SYNC messages without performance reduction
      due to bad interaction with nagle algorithm.
2009-10-05 10:23:50 +00:00
Przemyslaw Czerpak
836eecac3b 2009-10-02 16:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/mpkg_src.sh
    ! fixed default root path settings after moving the file from bin
      directory

  * harbour/include/hbdefs.h
    ! fixed Linux GCC 2.XX builds

  * harbour/harbour.spec
    ! added missing export in build settings
2009-10-02 14:53:49 +00:00
Przemyslaw Czerpak
0ce9b5a93c 2009-10-02 02:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrdddbf.h
  * harbour/include/hbrddnsx.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/hbbmcdx/hbbmcdx.h
    * code cleanup
2009-10-02 00:19:28 +00:00
Przemyslaw Czerpak
a22cc6a4c6 2009-10-01 13:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrdddbf.h
  * harbour/source/rdd/dbf1.c
    ! resolve pending relations before clearing WA filter
2009-10-01 11:22:17 +00:00
Przemyslaw Czerpak
f575a646e2 2009-09-29 14:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/cdpapi.c
    * allow to use "UTF8" CP in HB_TRANSLATE() function

  * harbour/include/hbapicdp.h
  * harbour/source/rtl/itemseri.c
    + added support for optional CP translation in serialization and
      deserialization operations
    + added two new public C functions: hb_itemSerializeCP() and
      hb_itemDeserializeCP()
    + added new optional paramters <cCdpIN> and <cCdpOUT> to HB_SERIALIZE()
      function:
         HB_SERIALIZE( <xValue>, [<lNumSize>], [<cCdpIN>], [<cCdpOUT>] )
               -> <cSerialized>
      By default VM CP is used.
    + added new optional paramters <cCdpIN> and <cCdpOUT> to HB_DESERIALIZE()
      function:
         HB_DESERIALIZE( <cSerialized>, [<cCdpIN>], [<cCdpOUT>] ) -> <xValue>
      By default VM CP is used.

  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * formatting
2009-09-29 12:12:04 +00:00
Przemyslaw Czerpak
7f5400d2ba 2009-09-24 13:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    * modified some internal structure definitions (used nameless unions)
      to pacify possible warnings on structure initialization.
2009-09-24 11:26:33 +00:00
Przemyslaw Czerpak
7d8dad6605 2009-09-24 11:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcompdf.h
  * harbour/source/pp/pplib.c
  * harbour/source/pp/ppcore.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/ppcomp.c
    + added support for disabling all automatically set platform dependent
      macros by '-undef:.ARCH.' switch.
      .ARCH. is meta flag to select all architecture dependent macros:
      __PLATFORM__*, __ARCH??BIT__, __*_ENDIAN__
      It should simplify cross build harbour compiler settings in
      core make system and hbmk2 or hb* scripts.

  * harbour/config/dos/watcom.mk
  * harbour/config/os2/watcom.mk
  * harbour/config/win/pocc.mk
  * harbour/config/win/bcc.mk
  * harbour/config/win/watcom.mk
  * harbour/config/linux/watcom.mk
    * disable C compiler warnings when HB_BUILD_WARN=no. Some compilers
      enable warnings by default.
      It pacifies warnings when external libraries are compiled.
2009-09-24 09:23:34 +00:00
Przemyslaw Czerpak
1c7c124232 2009-09-23 17:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
    * minor formatting

  * harbour/source/rdd/dbfnsx/dbfnsx1.c
    ! fixed false corruption RT error generated due to missing reset
      on cached current key offset - thanks to Jaroslav Janik for
      information and self contain example
2009-09-23 15:52:09 +00:00
Przemyslaw Czerpak
04de1a8cce 2009-09-22 12:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrddcdx.h
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    + added support for national sorting using accented and multibyte
      characters.
      Warning CDX indexes created so far for such CDPs are not sorted using
      the same conditions as current SVN code so new applications should
      reindex.
      Harbour codepages with accented characters:
         cs852, csiso, cskam, cswin,
         sk852, skiso, skkam, skwin
         sv850, sviso, svwin
         fr850, friso, frwin
         el737, elwin,
      Harbour codepages with multibyte characters:
         cs852, csiso, cskam, cswin,
         sk852, skiso, skkam, skwin
      Now string keys in CDX indexes using above codepages are sorted
      in the same way as HVM sorts strings. Please only remember that
      CDX internal format was designed for byte weight sorting so such
      CPs may reduce internal compression level increasing the size of
      final indexes.
      After this modification all native index types (NTX, NSX and CDX)
      fully respects national sorting defined in Harbour CPs.
2009-09-22 10:58:10 +00:00
Viktor Szakats
786dc0ec9b 2009-09-22 09:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbwince.h
  * source/common/hbwince.c
    + Added WIDE version of dummy winapi implementations for WinCE.

  * source/common/hbffind.c
  * source/common/hbfsapi.c
  * source/rtl/diskspac.c
  * source/rtl/disksphb.c
  * source/rtl/filesys.c
  * source/vm/dynlibhb.c
  * contrib/hbmzip/hbmzip.c
  * contrib/xhb/filestat.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
    + Changed forced ANSI version of winapi calls to native version.
    ! Fixed potential GPF in WIN_LOADBITMAPFILE().
    % Cleaned types/variables in hb_PrintFileRaw().
    % Minor type cleanup and formatting in filestat.c.
    ; TODO: There are still some forced ANSI calls in Harbour code:
            (plus some dynamically called ones)
      ---
      source/common/hbver.c:264:      if( GetVersionExA( &osVer ) )
      source/common/hbver.c:306:                  if( GetVersionExA( ( OSVERSIONINFOA * ) &osVerEx ) )
      source/common/hbgete.c:75:      DWORD size = GetEnvironmentVariableA( szName, NULL, 0 );
      source/common/hbgete.c:80:         GetEnvironmentVariableA( szName, pszBuffer, size );
      source/common/hbgete.c:114:   bRetVal = GetEnvironmentVariableA( szName, szBuffer, nSize ) != 0;
      source/common/hbgete.c:157:   return SetEnvironmentVariableA( szName, szValue ) != 0;
      source/rtl/filesys.c:2687:   fResult = GetCurrentDirectoryA( ulSize, pszBuffer );
      source/rtl/filesys.c:2876:      type = GetDriveTypeA( buffer );
      source/rtl/fstemp.c:153:         if( ! GetTempPathA( ( DWORD ) ( HB_PATH_MAX - 1 ), pszName ) )
      source/rtl/fstemp.c:270:         if( ! GetTempPathA( ( DWORD ) HB_PATH_MAX, szTempDir ) )
      source/rtl/fstemp.c:278:      fResult = GetTempFileNameA( szTempDir, pszPrefix ? pszPrefix : "hb", 0, pszBuffer );
      source/rtl/net.c:157:   GetComputerNameA( pszValue, &ulLen );
      source/rtl/net.c:186:   GetUserNameA( pszValue, &ulLen );
      contrib/hbwin/win_prn2.c:169:      DWORD dwSize = GetProfileStringA( "windows", "device", "", pPrinterName, *pdwBufferSize );
      ---

  ; Review me.
2009-09-22 07:49:14 +00:00
Przemyslaw Czerpak
55ba5b017b 2009-09-18 01:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/include/hbdefs.h
  * harbour/source/vm/dynlibhb.c
  * harbour/config/bsd/libs.mk
    ! updated to work with FreeBSD
2009-09-17 23:44:10 +00:00
Viktor Szakats
e8750758bc 2009-09-17 10:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    ! Added __BEOS__ check when detecting HB_OS_BEOS.
2009-09-17 08:50:40 +00:00
Przemyslaw Czerpak
89930d14da 2009-09-16 02:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvmpub.h
  * harbour/include/hbdefs.h
    * added #if/#endif comments and minor formatting

  * harbour/include/hbsetup.h
    ! disable malloc attribute for GCC < 3.xx

  * harbour/include/hbinit.h
    ! removed unnecessary __HAIKU__ condition

  * harbour/include/hbdate.h
    ! enable MT safe localtime_r() function in HAIKU/BEOS builds

  * harbour/source/common/hbgete.c
    ! enable setenv()/unsetenv() in HAIKU/BEOS builds

  * harbour/source/common/hbprintf.c
    ! removed wrongly added condition which disabled [u]intmax_t for GCC < 3

  * harbour/source/rtl/gtcrs/gtcrs.h
    ! do not redefine existing MAX_SIGNO

  * harbour/source/rtl/hbsocket.c
    ! enabled MT safe socket functions in HAIKU/BEOS builds

  * harbour/config/beos/libs.mk
    ! do not set explicitly GCC internal library paths.
      They are configured in GCC config and should not be overloaded
      in normal builds.

   TOFIX: error code are not properly decoded in HAIKU/BEOS builds.
          It can be seen in hbtest results. It's possible that it's
          HAIKU/BEOS problem not Harbour one.
2009-09-16 00:41:09 +00:00
Przemyslaw Czerpak
1638204a1c 2009-09-15 16:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/rtl/filebuf.c
    + added hb_fileRename()

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + implemented Rename method in NETIO

  * harbour/include/hbapirdd.h
  * harbour/source/rdd/workarea.c
    + added new non workarea method: RENAME()

  * harbour/source/rdd/Makefile
  * harbour/include/hbextern.ch
  * harbour/source/rdd/dbcmd.c
  + harbour/source/rdd/dbrename.c
    + added new .prg function:
         dbRename( <cTable> [,<cIndex>], <cNewName>, ;
                   [<cRDD>], [<nConnect>] ) -> <lOK>
    + added hb_dbRename() - synonym of dbRename()

  * harbour/source/rdd/dbf1.c
    + added support for dbRename() in DBF* RDDs

  * harbour/include/hbrdddbf.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
  * harbour/include/hbusrrdd.ch
  * harbour/source/rdd/usrrdd/usrrdd.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddsql/sqlbase.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/hbbmcdx/hbbmcdx.h
    + updated to compile with new RDD method: RENAME
      TODO: add support for this method to ADS* RDDs
2009-09-15 14:53:23 +00:00
Viktor Szakats
c9e8928d2e 2009-09-15 04:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  - config/haiku
  + config/beos
  * config/global.mk
    * Changed Haiku's internal name in Harbour to BeOS.
      HB_OS_HAIKU -> HB_OS_BEOS
      'haiku' -> 'beos'
    * Changed __HAIKU__ guards to HB_OS_BEOS (two occurrences).
      Hope this is right.

  * external/libpng/Makefile
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpunix.c
  * contrib/hbsqlit3/Makefile
  * config/detect.mk
    + Applied 2nd Haiku patch by Tamas Tevesz.
    ; Please review hbtpathy patch.
    ; I've changed one HB_OS_HAIKU reference to __HAIKU__ since
      it looks to be a Haiku specific thing (thus HB_OS_BEOS doesn't
      seem appropriate).
2009-09-15 02:21:41 +00:00
Viktor Szakats
47af69b7d9 2009-09-15 00:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbinit.h
  * source/common/hbprintf.c
  * source/rtl/hbsocket.c
  + config/haiku
  + config/haiku/libs.mk
  + config/haiku/gcc.mk
  + config/haiku/global.mk
  * config/global.mk
  * config/detect.mk
    + Applied patch adding Haiku OS port to Harbour.
      By Tamas Tevesz.

  * INSTALL
    + Added haiku to supported OS list (in 'experimental' status)
2009-09-14 22:06:18 +00:00
Przemyslaw Czerpak
7c254a3168 2009-09-11 20:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
    + added hb_xgrabz() and hb_xmemdup() macros

  * harbour/include/hbapicdp.h
  * harbour/source/rtl/cdpapi.c
    + added new functions which can be used in translations changing the
      size of trnaslated strings:
         hb_cdpDup(), hb_cdpnDup(), hb_cdpnDup2(), hb_cdpnDup3(),
         hb_cdpnDupLen(), hb_cdpnDup2Len()
      Now hb_cdp[n]Translate() functions are depreciated.
    + added pseduto codepage "UTF8" which can be used in trnaslations only
    + added new function hb_cdpFindExt() which allows to chose pseudo CPs

  * harbour/include/hbapi.h
  * harbour/include/hbset.h
  * harbour/source/vm/set.c
  * harbour/source/nortl/nortl.c
    - removed old functions: hb_osEncode() and hb_osDecode() with low level
      code which was using static char to char translation table
    + add new functions hb_osEncodeCP() and hb_osDecodeCP() which can make
      translations changing the size of translated strings.
      Warning all parameters have to be initialized.
      Passing NULL in second parameter means that the 1-st is dynamically
      allocated and can be used as buffer and reallocated if necessary.
      if 2-nd parameter is not NULL then the 1-st one is used as const value.
      The size of allocated buffer can be passed by reference in 3-rd
      parameter and this value is updated on reallocation.
      If buffer is two small then new bigger one is allocated and old one
      freed.

  * harbour/source/vm/set.c
    + added support for UTF8 translations in _SET_OSCODEPAGE

  * harbour/source/vm/cmdarg.c
  * harbour/source/common/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/net.c
  * harbour/source/rtl/hbproces.c
  * harbour/source/rtl/hbrunfun.c
  * harbour/source/rtl/run.c
  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbwin/wapi_shellapi.c
  * harbour/contrib/hbwin/wapi_winbase.c
    * use new hb_osEncodeCP()/hb_osDecodeCP() functions

  * harbour/source/rtl/hbi18n1.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtpca/gtpca.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/hbgtcore.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()
    + added support for UTF8 translations set by hb_setDispCP() and
      hb_setTermCP() functions

  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()
    + added support for CP translations which can change the size of
      translated strings
    ! disabled memo field translations for fields marked as binary
    + added support for UTF8 translations.
      Using UTF8 as CP disables any national sorting in indexes.
      Warning: please remember that normal character fields in tables have
               fixed size and translation to UTF8 may increase the string
               and cut results.

  * harbour/source/rdd/dbf1.c
    ! fixed GPF in dbCreate() with empty struct table
2009-09-11 18:38:10 +00:00
Viktor Szakats
0573ff8ab9 2009-09-11 19:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbfimage/Makefile
    ! Reverted prev. It does all sort of strange things.
    ; TODO: So the only way is the proper fix: Cleaning Harbour 
            source from BOOL, BYTE, LONG, ULONG and all other 
            'legacy' types.
2009-09-11 17:35:07 +00:00
Viktor Szakats
1ce6b3c4fe 2009-09-11 17:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    * Using #define instead of typedef for legacy core types.
      This is needed to allow for ugly hack to disable these.

  * contrib/hbfimage/fi_wrp.c
    ! Added terrible hack to make them build on non-win platforms.
    ; dos/djgpp and probably os2/gcc would work, but there I wasn't
      interested enough to add extra logic to handle each special
      case.
    ; non-linux/darwin *nixes should be tested.

  * contrib/hbfimage/Makefile
    + Enabled for linux and darwin.
2009-09-11 15:57:41 +00:00
Viktor Szakats
8a6466e7fd 2009-09-10 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* Makefile
  - source/hbpcre
  - source/hbzlib
  * external/Makefile
  + external/pcre
  + external/zlib
  * external/pcre/Makefile
  * external/zlib/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * include/hbsetup.h
  * include/hbzlib.h
  * include/hbregex.h
  * source/rtl/hbzlibgz.c
  * source/rtl/Makefile
  * source/rtl/hbregexc.c
  * source/rtl/hbregex.c
  * source/rtl/hbzlib.c
  * source/Makefile
  * contrib/xhb/Makefile
  * contrib/hbmzip/Makefile
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * config/lib.mk
  * config/bin.mk
  * config/detect.mk
  * config/darwin/libs.mk
  * config/linux/libs.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/dyn.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/bsd/libs.mk
  * config/hpux/libs.mk
  * config/sunos/libs.mk
    * Changed the way embedded zlib and pcre are handled:
      - They now reside in /external dir.
      - They are now excluded from Harbour dynlib. This means they
        will now be linked statically on non-*nix systems and
        dynamically on *nix systems. On *nix it's probably easy to
        switch to link statically. On non-*nix this is quite
        complicated to do.
      - If these libs are provided by the system, those will be used.
      - On non-*nix systems the locally hosted versions will be used,
        unless user overrides them using HB_INC_PCRE or HB_INC_ZLIB.
      - There is currently no officially supported way to force usage
        of locally hosted libs.
      - If PCRE lib is forcibly disabled or not found, build system
        will fall back to POSIX regex on *nix systems and Borland regex
        with bcc compiler. Otherwise it will stop the build with an error.
      - If zlib is forcibly disabled or not found, an error will be
        generated at build-time (in hbrtl). hbmzip is simply skipped
        in this case.
      - hbmk2 will use local builds of these libs if they are present
        in lib dir.
    ; TOFIX: hbmk script.
    ; TOFIX: dos builds. cmdline lenghts are most probably too big for them.
    ; NOTE: Bumps are expected.
    ; NOTE: I've yet to test/verify it.

  - external/libhpdf/ori_src
  - external/libhpdf/ori_dst
    - Deleted. (added in prev commit by oversight)
2009-09-10 14:08:51 +00:00