Commit Graph

531 Commits

Author SHA1 Message Date
Viktor Szakats
5a4d5519e3 2009-11-01 19:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    ! hb<Type> -> HB_<TYPE>.
2009-11-01 18:11:13 +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
f7f2caa607 2009-10-30 03:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbgete.c
  * harbour/src/common/hbffind.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/disksphb.c
  * harbour/src/rtl/net.c
    ! fixed memory leak reported by Pritpal
    * cleanup some UNICODE conversions in Windows builds (mostly resolved
      some macros when UNICODE macro is also explicitly used and cleaned
      some buffers length passed to windows functions.
    * removed unnecessary casting - if it's not necessary for some strange
      reasons never cast strings to LP[C][TW]STR calling windows functions.
      Such casting does not make any conversions but only hides potential
      bugs.

  * harbour/contrib/hbwin/axcore.c
    * pacified warning
2009-10-30 02:41:17 +00:00
Przemyslaw Czerpak
ff3649b64d 2009-10-29 15:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/dates.c
    ! fixed HB_TTOC() to not add leading space when date part is empty
2009-10-29 14:41:46 +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
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
42749a2ba3 2009-10-23 21:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbbffnc.c
    + added support for 3-rd parameter <lRaw> in hb_blowfishEncrypt() and
      hb_blowfishDecrypt() functions. It disables ANSI X.923 padding but
      encode passed string in 8bytes blocks. If last block in string is
      smaller then it's padded to 8 bytes using chr(0) and information
      about original string size is not attached to encrypted data.
      During decoding only strings which are well padded (N*8 bytes) are
      accepted and <lRaw> := .T. disables restoring original string size
      encoded in encrypted string using ANSI X.923 standard so the size
      of decrypted string is the same as original one.
2009-10-23 19:01:51 +00:00
Przemyslaw Czerpak
c269bce77d 2009-10-23 15:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed clipboard property change in 64bit builds
2009-10-23 13:09:23 +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
2adacef2e0 2009-10-23 13:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
    ! fixed recent modification to work also with system clipboards
2009-10-23 11:24:14 +00:00
Przemyslaw Czerpak
0c88fcd8e0 2009-10-23 12:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
    + added default implementation for HB_GTI_CLIPBOARDPAST - thanks to
      Enrico for information about missing functionality
2009-10-23 10:44:40 +00:00
Przemyslaw Czerpak
e2c22dd1a3 2009-10-23 12:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbbffnc.c
    * added note about padding standard - thanks to Mindaugas for information

  * harbour/contrib/rddsql/sddfb/fbirddd.c
    * pacified strict alignment warnings

  * harbour/contrib/hbmemio/memio.c
    * pacified warning
2009-10-23 10:21:40 +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
61f278a65b 2009-10-21 13:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbini.prg
    ! fixed stripping last character when the last line in ini file
      does not contain valid EOL - thanks to Mario H. Sabado for information
      about the problem
2009-10-21 11:47:22 +00:00
Przemyslaw Czerpak
0e8c6557b9 2009-10-19 22:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/dateshb.c
    ! fixed HB_TTOD() and HB_DTOT() results - they were reverted by mistake
    + added support for optional second parameter in HB_DTOT() function with
      time as numeric value in second() like representation or as character
      string with HH:MM[:S[S][.f[f[f[f]]]]] [PM|AM] representation, i.e.:
         ? HB_DATETIME()
         ? HB_DTOT( date(), seconds() )
         ? HB_DTOT( date(), time() )
    + added support for optional second parameter passed by reference in
      HB_TTOD() function. If given then this functions stores in it number
      of seconds in given day specified by timestamp value, i.e.:
         dDate := HB_TTOD( HB_DATETIME(), @nSec )
      gives similar functionality to:
         dDate := date()
         nSec := seconds()
    + added support for optional 3-rd parameter in HB_TTOD() functions
      with timestamp format. If given then this function stores time
      part in second parameter as formatted string value. For empty
      string _SET_TIMEFORMAT is used, i.e.:
         dDate := HB_TTOD( HB_DATETIME(), @cTime, "hh:mm:ss" )
2009-10-19 20:12:36 +00:00
Przemyslaw Czerpak
890b9ac2ad 2009-10-19 14:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbwince.c
    + added GetEnvironmentVariableW() - it fixes WinCE builds after recent
      ANSI to UNICODE function conversions. In WINCE such functions do not
      exist.

  * harbour/src/rtl/gtclip.c
    * pacified MinGWCE warnings

  * harbour/src/rtl/dateshb.c
    + added HB_TTOD() and HB_DTOT() functions
2009-10-19 12:54:46 +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
Viktor Szakats
3bba486c12 2009-10-15 17:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
  * src/rtl/fstemp.c
  * contrib/hbwin/win_prn2.c
    + Changed to use native instead of fixed ANSI version of win API calls.
    ; Please review me, all these are critical low level functions, 
      so any mistakes can be deadly.
    ; TODO: Remaining dynamic versions, although maybe for dynamically 
            loaded win API functions it's better to stay with ANSI 
            version for compatibility.
2009-10-15 15:17:50 +00:00
Viktor Szakats
1a71aa5b61 2009-10-15 15:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbgete.c
  * src/rtl/filesys.c
  * src/rtl/net.c
    + Changed to use native instead of fixed ANSI version of win API calls.
    ; Please review me, all these are critical low level functions, 
      so any mistakes can be deadly.

    ; 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/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 );
      contrib/hbwin/win_prn2.c:169:      DWORD dwSize = GetProfileStringA( "windows", "device", "", pPrinterName, *pdwBufferSize );
      ---

  * src/rtl/fstemp.c
    * Minor formatting.
2009-10-15 13:56:40 +00:00
Viktor Szakats
9db20419ea 2009-10-15 10:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
    ! hb_fsIsDrv() changed on win platform to use GetLogicalDrives() API 
      instead of GetDriveTypeA(). This should fix existing TOFIX.
      Thanks for Saulius Zrelskis for the suggestion.
      I'd like to ask users to make side-by-side comparisons with 
      CA-Cl*pper to see if we're compatible.
    ! Fixed hb_fsIsDrv() on non-win platforms to always set 
      internal error to zero. CA-Cl*pper does the same.
2009-10-15 08:19:40 +00:00
Viktor Szakats
2d330ec865 2009-10-14 20:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
    + Added _SET_OSCODEPAGE support for HB_GTINFO( HB_GTI_WINTITLE ) 
      and HB_GTINFO( HB_GTI_SELECTCOPY ).
2009-10-14 18:10:33 +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
d78216683c 2009-10-12 22:28 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/src/rtl/hbini.prg
    * Splitted hb_IniRdLow() internal function into two functions:
       hb_IniFileLow( cFileSpec ) -> cData
       hb_IniStringLow( hIni, cData, lKeyCaseSens, cSplitters, lAutoMain ) -> hIni
    + Added new hb_IniString() funtion
       hb_IniString( cData, lKeyCaseSens, cSplitters, lAutoMain ) -> hIni
       that reads directly from a string.
       So hb_IniRead() read from a file, hb_IniString() read from memory string.
2009-10-12 20:34:07 +00:00
Przemyslaw Czerpak
71536976d4 2009-10-11 20:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    ! fixed bad typo in last commit
2009-10-11 18:49:55 +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
1b080a03f9 2009-10-09 16:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- source
  + src
  * src/Makefile
  * src/dynlib/mt/Makefile
  * src/dynlib/Makefile
  * INSTALL
  * Makefile
  * ChangeLog
  * harbour.spec
  * mpkg_tgz.sh
    * Renamed 'source' dir to 'src' to move closer to other FOSS 
      projects. It's also easier to type, plus it has the side 
      effect that some cmdlines will be shorter in the 
      build process.
2009-10-09 14:54:14 +00:00