Commit Graph

312 Commits

Author SHA1 Message Date
Viktor Szakats
83bbb7b34d 2010-02-17 03:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/fstemp.c
    ! Using hb_fsTempDir() in HB_FTEMPCREATEEX() instead of
      old solution. This should fix it for some non-*nix
      platforms where *nix specific TEMPDIR envvar was used
      to determine temp directory.

  * contrib/hbwin/Makefile
  * include/Makefile
  * src/rtl/Makefile
  - contrib/hbwin/hbdyn.ch
  + include/hbdyn.ch
  - contrib/hbwin/hbdyn.c
  + src/rtl/hbdyn.c
  - contrib/hbwin/win_dllc.c
  + src/rtl/hbdynhb.c
  - contrib/hbwin/tests/testdll.c
  + tests/testdyn.c
  - contrib/hbwin/tests/testdll.prg
  + tests/testdyn.prg
  - contrib/hbwin/tests/testdll1.prg
  + tests/testdyn1.prg
  - contrib/hbwin/hbdyn.h
  * include/hbapi.h
    * Moved dynamic library call related functions to
      core (RTL).
    * Windows specific test code (currently all) guarded
      for platform.
    * Changed default calling convention to cdecl.
      Tests adaptd accordingly.
    * Terminology change: 'dll' -> 'dynamic library'
    ; HB_DYNCALL() is now part of core Harbour, and it's 
      platform independent. It's platform (ABI) dependent though,
      and currently x64 and x86/stdcall/syscall/cdecl 
      is supported and these were tested (except OS/2 syscall).

  * contrib/hbwin/hbwin.h
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/legacycd.c
    * Low level hbwin_getprocaddress() function moved
      to legacy file and made static.

  * contrib/xpp/Makefile
  * contrib/xpp/dllx.c
  * contrib/xpp/xpp.hbc
    + Enabled DLL*() functions for all platforms.
    - Deleted dependence on hbwin library.

  * contrib/xpp/tests/testdll.prg
    * Windows specific parts (currently the whole test) guarded
      for platform.

  * contrib/hbct/Makefile
  - contrib/hbct/diskhb.prg
  * contrib/hbct/disk.c
  * contrib/xhb/Makefile
  + contrib/xhb/diskhb.prg
    * GETVOLINFO() moved from hbct to xhb.

  * ChangeLog
    * Marked some TODO/TOFIX items as DONE.
2010-02-17 02:09:17 +00:00
Przemyslaw Czerpak
b0f4f1f4a1 2010-02-15 10:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new C function hb_vmFindFuncSym() which looks for function with
      given name registered in HVM by dynamically loaded library. It looks
      for public function and if public function cannot be located it tries
      to find first static function which has requested name.

  * harbour/include/hbapi.h
  * harbour/src/vm/dynlibhb.c
    + added new C functions to manage dynamic libraries:
         PHB_ITEM hb_libLoad( PHB_ITEM pLibName, PHB_ITEM pArgs );
         HB_BOOL hb_libFree( PHB_ITEM pDynLib );
         void * hb_libHandle( PHB_ITEM pDynLib );
         void * hb_libSymAddr( PHB_ITEM pDynLib, const char * pszSymbol );

  * harbour/include/hbextern.ch
  * harbour/src/vm/dynlibhb.c
    - removed HB_LIBDO() PRG function. If someone used it then please
      use DO() instead
    + added new PRG function:
         HB_LIBGETFUNSYM( <pLibHandle>, <cFuncName> ) -> <sFuncSym> | NIL
      It works in similar way to HB_HRBGETFUNSYM() but it looks for
      PRG function in given library. It tries to find public function
      and if such function does not exists it looks for first static one.
      <pLibHandle> is library handle returned by HB_LIBLOAD()
      <cFuncName> is PRG function name.
      <sFuncSym> is symbol of located function
      If function can be found HB_LIBGETFUNSYM() returns NIL.
      Warning: this function returns only symbols for functions registered
               in HVM when library was loaded. It will not return symbols
               for functions written in C and not explicitly registered
               using own symbol table.
2010-02-15 09:05:58 +00:00
Przemyslaw Czerpak
65388ee4af 2010-02-10 12:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/Makefile
  * harbour/src/pp/hbpp.c
    ! fixed compilation with HB_DYNLIB macro

  - harbour/src/vm/maindll.c
    - removed unused dummy file

  * harbour/src/vm/Makefile
  * harbour/include/hbapi.h
  + harbour/src/vm/procaddr.c
    + added hb_vmProcAddress() function

  * harbour/include/hbdefs.h
    + added HB_EXPORT_ATTR and HB_IMPORT_ATTR macros - they are always
      defined regardless of HB_DYNLIB macro state

  * harbour/src/vm/maindllh/Makefile
    * disabled HB_DYNLIB

  * harbour/src/vm/maindllp/Makefile
  + harbour/src/vm/maindllp/dllpcode.c
    + added new import library for PCODE DLLs. It contains wrappers for
      hb_vmProcessSymbols() and hb_vmExecute() implemented in a way
      which creates minimal speed overhead.
    + added error reporting (MessageBox()) when redirected functions
      cannot be found.
    + added hb_dllGetProcAddress() C function

  * harbour/include/hbtypes.h
  - harbour/src/vm/maindllp.c
  + harbour/src/vm/maindllp/dllext.c
    * moved old wrappers to some of extended and array API functions
      into separate file
    * updated to use hb_dllGetProcAddress()
    - removed functions which should not be used by user code
    % cleaned, optimized and added error reporting to function wrappers.

    I do not know who chose exported functions but it looks like a
    quite random set which should be extended for real functionality.
    If someone is interested then he can do that. I updated this file
    only for backward compatibility.

   Above modifications allows to use PCODE DLLs with any application
   also static ones using Harbour compiled without exported symbols.
   It's enough to link it with this function:
      HB_EXPORT_ATTR PHB_FUNC dll_hb_vmProcAddress( const char * szFuncName )
      {
         return hb_vmProcAddress( szFuncName );
      }
   The official form of including above function to final binaries is not
   defined yet.
2010-02-10 11:34:42 +00:00
Viktor Szakats
e5abaa5fb4 2010-02-09 02:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
  * src/vm/garbage.c
  * src/vm/classes.c
  * src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
  * src/rdd/dbcmd.c
  * include/hbapicdp.h
  * include/hbapiitm.h
  * include/hbextern.ch
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbapi.h
    - Deleted code guarded with (previously disabled) HB_LEGACY_LEVEL2

  * include/rdd.api
  * include/clipdefs.h
    + Permanently enabled HB_LEGACY_LEVEL2 related changes.

  * contrib/xhb/bkgtsks.c
    - Deleted HB_OS_WIN_USED. It wasn't used.

  * include/hbapi.h
  * src/vm/cmdarg.c
    * hb_winmainArgGet() changed to not use Windows types.
      This function is declared in hbapi.h and this header
      shouldn't depend on windows.h.

  * include/hbwince.h
  * include/hbsetup.h
    * HB_OS_HAS_DRIVE_LETTER is now configured in central
      place (hbsetup.h) for WinCE platform also.

  * include/hbwince.h
  * include/hbdefs.h
    * Windows (CE and not-CE) specific declarations moved from
      hbwince.h to hbdefs.h.

  * include/hbdefs.h
    % hbwince.h inclusion now better guarded to not include it
      for non WinCE platforms.
    + HB_OS_WIN_USED macro will now autodetected by checking
      whether windows.h was included before this header.
      This is required for hbwince.h. I don't like it, since
      hbapi.h still depends on windows.h for WinCE platform, 
      which still ties us to unnecessary windows.h inclusion 
      rules. Rather, hbwince.h should be included directly
      by .c files when needed and when HB_OS_WIN_CE is defined.
      After all this our little Windows API implementation 
      for compilers which need it.

  * include/hbdefs.h
  * include/hbwmain.c
    + hb_winmainArgInit() declaration moved to hbwmain.c, the
      only place where this is used.
    * Deleted HB_EXPORT from hb_winmainArgInit. Pls speak up if
      this is wrong. It's possible to move this back to hbdefs.h,
      but parameter types should be changed to ANSI ones.

  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvggui.h
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgwing.c
    - Deleted HB_OS_WIN_USED. Now it should work without it.
      windows.h was already included in non-official method, so
      it's now okay also.
2010-02-09 01:13:25 +00:00
Viktor Szakats
b1cd0953df 2010-02-08 22:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/pp/hbpp.c
  * src/vm/macro.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * src/vm/maindllp.c
  * src/vm/fm.c
  * src/vm/thread.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/extend.c
  * src/vm/classes.c
  * src/debug/dbgentry.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbhash.c
  * src/nortl/nortl.c
  * src/macro/macrolex.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/errapi.c
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/filebuf.c
  * src/rtl/hbproces.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/workarea.c
  * src/rdd/wacore.c
  * src/rdd/sdf1.c
  * src/rdd/dbcmdx.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/wafunc.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxfname.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hbsix/sxutil.c
  * src/rdd/hbsix/sxcrypt.c
  * src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/compi18n.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/complex.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/hbident.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbpp.h
  * include/hbrdddbf.h
  * include/hbvmpub.h
  * include/hbrddnsx.h
  * include/hbstack.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbinit.h
  * include/hbtypes.h
  * include/hbrddsdf.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbrddntx.h
  * include/hbvm.h
  * include/hbapidbg.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbrdddel.h
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbrddcdx.h
  * include/hbapicls.h
  * include/hbapierr.h
  * include/hbrddfpt.h
  * include/hbhash.h
  * include/hbregex.h
  * include/hbexprb.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token2.c
  * contrib/hbct/dbftools.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/files.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/screen1.c
  * contrib/hbct/token1.c
  * contrib/hbct/ctc.c
  * contrib/hbct/ct.h
  * contrib/hbct/atnum.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/xhb/bkgtsks.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/fparse.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/hbnxs.h
  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/xpp/dbcmdx.c
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ftattr.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/rddsql/sddfb/fbirddd.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/rddads/adsmgmnt.c
  * contrib/hbmisc/spd.c
  * contrib/hbtip/utils.c
  * contrib/hbtip/encmthd.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
    * ULONG -> HB_ULONG, HB_SIZE
      (except for external (OS) API specific usage)
    * Formatting.

    ; NOTE: I converted ULONG to HB_SIZE where I felt it appropriate,
            but didn't touch compiler, codeblock handling, low-level
            RDD (Set/GetVarLen method) and high-level contrib RDDs, so
            this needs to be cleaned.
            Also there may be cases where I didn't change the whole
            call chain to HB_SIZE.

    ; NOTE: It would be probably worthy to add new types for these purposes:
           - line number (HB_USHORT)
           - record number (HB_ULONG)
           - RDD connection (HB_ULONG)
           - parameter count / stack position / class member positions / etc (HB_USHORT, sometimes HB_ULONG)
           - pcode (HB_BYTE and char)
           - flags / modes (HB_USHORT / HB_ULONG)
           - timers (HB_ULONG, HB_MAXINT)
           - GT API character (HB_USHORT)

    ; REQUESTS:
          - Pls don't over-align variable declarations. It makes
            modification much much slower. Sometimes declarations are
            aligned even if there was only one or two of them in a block.
          - Pls always add variable names in declarations, otherwise the purpose
            of the function is very slow to decipher when looking at it.
          - Keep up the nice formatting according to Harbour standards,
            it makes modifications much much easier.

    ; TODO:
          - Verify with grep script
          - Verify with HB_USER_CFLAGS=-DHB_LEGACY_TYPES_OFF
          - Make HB_LEGACY_TYPES_OFF default for Harbour builds.
          - Tie HB_LEGACY_TYPES_OFF to HB_LEGACY_LEVEL3
          - Replace current windows.h inclusion hack with regular method
          - Delete hacks dealing with former type chaos:
               HB_CLIPPER_INT_ITEMS, HB_DONT_DEFINE_BASIC_TYPES, HB_DONT_DEFINE_BOOL, HB_DONT_DEFINE_BYTE, HB_DONT_DEFINE_LONG
          - Retest hbfimage on *nix, delete hacks
          - Normalize HB_BYTE vs. HB_UCHAR usage
          - Type cleanups, f.e. HB_SIZE vs. HB_ULONG
          - Add new special types (see above)
          - Switch HB_SIZE to signed (big project), and delete HB_ISIZ afterwards.
2010-02-08 21:52:47 +00:00
Viktor Szakats
32f59a1f70 2010-02-08 19:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/codebloc.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/classes.c
  * src/common/hbffind.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/workarea.c
  * src/rdd/sdf1.c
  * src/rdd/dbcmdx.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxord.c
  * src/compiler/hbmain.c
  * src/compiler/hbpcode.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * tests/bldtest/bldtest.c
  * include/hbstack.h
  * include/hbapifs.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbsxfunc.h
  * include/hbrddcdx.h
  * include/hbexprb.c
  * contrib/hbct/maxline.c
  * contrib/hbct/numcount.c
  * contrib/hbct/addascii.c
  * contrib/xhb/xhbenum.c
  * contrib/xhb/xhbqself.c
  * contrib/xhb/xhbwith.c
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/xhbmsgs.c
  * contrib/hbmzip/hbmzip.c
  * contrib/xpp/dbcmdx.c
  * contrib/hbnetio/netiocli.c
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
  * contrib/rddads/ads1.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
    * LONG -> HB_LONG, long (for dates and extend / item API contexts)
      (except for external (OS) API specific usage)

  * src/vm/maindll.c
    * LONG -> void *
    + Added 'const' to char * parameter.

  * contrib/hbct/numline.c
  * contrib/hbct/ctpad.c
    * LONG -> HB_LONG, HB_ISIZ
    * Formatting.

  * contrib/xhb/hbxml.h
    * LONG -> HB_ISIZ

  * contrib/xhb/freadlin.c
    * LONG, int -> HB_ISIZ
2010-02-08 18:54:32 +00:00
Viktor Szakats
6d2c565fc1 2010-02-07 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/pp/hbpp.c
  * src/vm/macro.c
  * src/vm/evalhb.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/codebloc.c
  * src/vm/dynsym.c
  * src/vm/garbage.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/maindllp.c
  * src/vm/arrays.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/proc.c
  * src/vm/thread.c
  * src/vm/memvars.c
  * src/vm/vm.c
  * src/vm/eval.c
  * src/vm/dynlibhb.c
  * src/vm/classes.c
  * src/common/hbffind.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/nortl/nortl.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/fscopy.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/philesx.c
  * src/rtl/do.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/xhelp.c
  * src/rtl/transfrm.c
  * src/rtl/fserr.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/errapi.c
  * src/rtl/copyfile.c
  * src/rtl/errintlo.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/spfiles.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/philes.c
  * src/rtl/hbgtcore.c
  * src/rtl/itemseri.c
  * src/rtl/gtsln/mousesln.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/disksphb.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/trace.c
  * src/rtl/gt_tpl/gt_tpl.c
  * src/rtl/filebuf.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/workarea.c
  * src/rdd/wacore.c
  * src/rdd/sdf1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/dbcmd53.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/wafunc.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hbsix/sxcompr.c
  * src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdead.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbpp.h
  * include/hbrdddbf.h
  * include/hbvmpub.h
  * include/hbrddnsx.h
  * include/hbstack.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbinit.h
  * include/hbtypes.h
  * include/hbrddsdf.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbrddntx.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbrdddel.h
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbdbsort.h
  * include/hbapigt.h
  * include/hbrddcdx.h
  * include/hbapicls.h
  * include/hbapierr.h
  * include/hbrddfpt.h
  * include/hbexprb.c
  * contrib/hbct/bitnum.c
  * contrib/hbct/screen2.c
  * contrib/hbct/strdiff.c
  * contrib/hbct/token2.c
  * contrib/hbct/charonly.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/ctmath.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/charsort.c
  * contrib/hbct/charmix.c
  * contrib/hbct/charevod.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/strswap.c
  * contrib/hbct/trig.c
  * contrib/hbct/charswap.c
  * contrib/hbct/charop.c
  * contrib/hbct/charone.c
  * contrib/hbct/num1.c
  * contrib/hbct/pos1.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/screen1.c
  * contrib/hbct/token1.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/ctc.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/relation.c
  * contrib/hbct/atnum.c
  * contrib/hbct/count.c
  * contrib/hbct/ctcrypt.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/finan.c
  * contrib/hbct/range.c
  * contrib/hbct/addascii.c
  * contrib/hbct/ctmath2.c
  * contrib/hbct/tab.c
  * contrib/hbct/replace.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/pos2.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/wordtoch.c
  * contrib/hbct/ctpad.c
  * contrib/hbct/print.c
  * contrib/hbct/justify.c
  * contrib/hbct/remove.c
    * USHORT -> HB_USHORT (except where BYTE was used in OS-specific context)
2010-02-08 13:52:23 +00:00
Viktor Szakats
d320459c18 2010-02-07 02:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * src/vm/macro.c
  * src/vm/runner.c
  * src/vm/codebloc.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/maindllp.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/memvars.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbarch.c
  * src/common/hbmem.c
  * src/nortl/nortl.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/gtapi.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/hbgtcore.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/gtsln.h
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gt_tpl/gt_tpl.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/hbdbsort.c
  * src/rdd/workarea.c
  * src/rdd/sdf1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxcompr.c
  * src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * src/compiler/harbour.yyh
  * tests/bldtest/bldtest.c
  * tests/tstgtapi.c
  * include/hbpp.h
  * include/hbrdddbf.h
  * include/hbvmpub.h
  * include/hbrddnsx.h
  * include/hbgtcore.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbtypes.h
  * include/hbrddsdf.h
  * include/hbapi.h
  * include/hbrddntx.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbrdddel.h
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbdbf.h
  * include/hbdbsort.h
  * include/hbapigt.h
  * include/hbrddcdx.h
  * include/hbrddfpt.h
  * include/hbexprb.c
  * contrib/gtalleg/gtalleg.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/screen1.c
  * contrib/hbct/ctcrypt.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/xhbis.c
  * contrib/xhb/fparse.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/cstructc.c
  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/hbqt/gtqtc/gtqtc.h
  * contrib/xpp/philesx.c
  * contrib/hbnf/ftshadow.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/rddsql/sddfb/fbirddd.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgwing.c
  * contrib/rddads/adsx.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * contrib/hbbtree/hb_btree.c
    * BYTE -> HB_BYTE except where BYTE was used in OS-specific context.
    * Some formatting.
    ; I didn't realign structure definitions in hbrdd*.h yet.

  * contrib/hbwin/win_regc.c
    * Minor type cleanup.

  * src/rtl/gt_tpl/gt_tpl.c
    * BYTE -> int for color.

  * examples/hbapollo/apollo.c
    % Deleted MAX_STR_LEN.
2010-02-08 01:18:46 +00:00
Viktor Szakats
c58eb0dba1 2010-02-07 17:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hvm.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbf1.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/hbsix/sxcompr.c
  * src/compiler/hbfix.c
  * src/compiler/hbopt.c
  * tests/bldtest/bldtest.c
  * include/hbrddnsx.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbapi.h
  * include/hbrddntx.h
  * include/hbrddcdx.h
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
    * SHORT -> HB_SHORT.
      (in some places 'short' is used, these should be synced, noticed 
      it in RDD)
2010-02-07 16:10:56 +00:00
Viktor Szakats
f9336a957b 2010-02-07 16:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/cdpapi.c
    ! Fixed type when manually correcting 'unsigned char' to UCHAR
      to sync with declaration.

  * contrib/gtwvg/gtwvg.c
    ! Fixed wrong casts (HB_LONG instead of long)

  * src/pp/ppcore.c
  * src/vm/macro.c
  * src/vm/hashes.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/task.c
  * src/vm/thread.c
  * src/vm/extend.c
  * src/common/hbwince.c
  * src/common/expropt1.c
  * src/common/hbstr.c
  * src/common/expropt2.c
  * src/common/hbdate.c
  * src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macro.yyh
  * src/macro/macrolex.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/hbstrfmt.c
  * src/rtl/hbcrc.c
  * src/rtl/minmax.c
  * src/rtl/hbrandom.c
  * src/rtl/hbsocket.c
  * src/rtl/hbbit.c
  * src/rtl/hbgtcore.c
  * src/rtl/cputime.c
  * src/rtl/idle.c
  * src/rtl/itemseri.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/hbznet.c
  * src/rtl/hbhex.c
  * src/rtl/seconds.c
  * src/rtl/abs.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbbyte.c
  * src/rtl/val.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/sdf1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/compiler/hbmain.c
  * src/compiler/complex.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * src/compiler/harbour.yyh
  * include/hbvmpub.h
  * include/hbgtcore.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbznet.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexprop.h
  * include/hbsocket.h
  * include/hbchksum.h
  * include/hbexprb.c
  * include/hbdate.h
  * contrib/hbct/bitnum.c
  * contrib/hbct/dbftools.c
  * contrib/hbct/files.c
  * contrib/hbct/disk.c
  * contrib/xhb/xhbfunc.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcore.c
  * contrib/rddads/ads1.c
  * contrib/hbwin/olecore.c
    * HB_LONG  -> HB_MAXINT
    * HB_ULONG -> HB_MAXUINT
2010-02-07 15:37:24 +00:00
Viktor Szakats
e2e2c4587e 2010-02-07 14:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * src/common/hbstr.c
  * src/common/hbdate.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/compiler/gencc.c
  * tests/bldtest/bldtest.c
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbapi.h
  * include/hbapiitm.h
  * contrib/hbwin/olecore.c
  * contrib/hbbmcdx/bmdbfcdx.c
    * LONGLONG  -> HB_LONGLONG
    * ULONGLONG -> HB_ULONGLONG
2010-02-07 13:53:35 +00:00
Viktor Szakats
affed5a944 2010-02-07 10:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/vm/memvars.c
    * ULONG -> HB_SIZE where applicable
    * int -> HB_ISIZ where it was used for size

  * src/vm/macro.c
    ! LONG -> long for date/time.

  * include/hbchksum.h
  * src/rtl/hbadler.c
  * src/rtl/hbcrc.c
  * src/rtl/hbi18n1.c
  * contrib/hbmzip/hbmzip.c
    * ULONG -> HB_U32 for crc32 and adler32
    * ULONG -> HB_U16 for crc16
      (the crc table was also changed to HB_U16, pls speak up if this
      may cause less-optimal performance than previous state.)
    * int -> HB_ISIZ where it was used for size (in adler loop)

  * include/hbapi.h
    * HB_VMHANDLE is now mapped to 'unsigned long' instead of ULONG

  * contrib/hbwin/win_bmp.c
    - Deleted no more necessary cast.
2010-02-07 09:57:50 +00:00
Viktor Szakats
78e66614b8 2010-02-06 14:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/garbage.c
  * src/vm/fm.c
  * src/vm/vm.c
  * include/hbapi.h
    * ULONG -> HB_SIZE in memory allocation functions.
2010-02-06 13:01:10 +00:00
Przemyslaw Czerpak
e3e3f092ec 2010-02-04 19:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/rtl/filebuf.c
  * harbour/contrib/hbmemio/memio.c
  * harbour/contrib/hbnetio/netiocli.c
    + added new method:
         void Flush( PHB_FILE pFile, HB_BOOL fDirty );
      to replaceable RDD IO structure (HB_FILE)
    + added new function:
         void hb_fileFlush( PHB_FILE pFile, HB_BOOL fDirty );

  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
    * use hb_fileFlush()

  * harbour/src/vm/hvm.c
  * harbour/include/hbxvm.h
    ! fixed hb_xvm{Local,Static,Module}Name() to use 'const char *'
      instead of 'char *' - modifications by Xavi (jarabal)

  * harbour/include/hbapi.h
  * harbour/include/hbxvm.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcompdf.h
  * harbour/src/vm/hvm.c
  * harbour/src/vm/macro.c
  * harbour/src/vm/memvars.c
    * replaced some 'BYTE' types with 'unsigned char' or 'int' types
    * cleanup some other casting and types to reduce conversions
      between function calls

  * harbour/src/common/expropt1.c
    ; updated comments

  * harbour/include/hbpp.h
  * harbour/include/hbexprop.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
    * eliminated HB_EXPR_PCODE?() macros
    ! fixed potential GPF trap during compilation of _GET_() functions
      which can be exploited by strange code using some special expressions
      as get variable.
      TODO: eliminate hb_compExprClone() used in hb_compExprSetGetBlock(),
            our optimization module does not care about shared expressions
            so it can be source of serious problems in the future if someone
            use this functions for non optimized expression which will be
            reduced later.
    * emulate clipper behavior for codeblock optimizations and do
      not optimize all codeblocks if -kc switch is used and codeblocks
      is inside non optimized part of code like (Clipper has such
      places)
    % simplified and optimized some functions like hb_compExprReduceList()
2010-02-04 18:15:07 +00:00
Przemyslaw Czerpak
8f9973afd5 2010-01-18 14:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/common/hbver.c
    + added BOOL hb_iswin9x( void ) C function

  * harbour/src/rtl/version.c
    + added HB_OSISWIN9X() PRG function

  * harbour/src/rtl/gttone.c
    % simplified the code using hb_iswin9x() function

    TODO: Check if WinCE support WinNT file IO functions and if yes then
          replace in src/rtl/filesys.c 'if( hb_iswinnt() )' with 
          'if( !hb_iswin9x() )'

  * harbour/contrib/hbwin/win_tprn.prg
  * harbour/contrib/hbwin/win_prn1.c
    + added ::AskProperties in WIN_PRN class
      If it is assigned .t. prior to calling ::Create(), a DocumentProperties
      dialog is displayed. By Budyanto Dj. borrowed from xHarbour.
      NOTE: this modification does not contain win9x hack present in
            xHarbour. Please make tests and update this code if necessary
2010-01-18 13:57:04 +00:00
Viktor Szakats
9b462b15d0 2010-01-15 17:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/cmdarg.c
  * contrib/hbct/disk.c
    % Using HB_SIZEOFARRAY() instead of repeating declaration size.

  * src/vm/maindllp.c
  * src/vm/extend.c
  * include/hbtypes.h
  * include/hbapi.h
    + 'parinfa' retval ULONG -> HB_SIZE

  * src/vm/arrayshb.c
  * src/rtl/substr.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/strtran.c
  * src/rtl/padl.c
  * src/rtl/lang.c
  * src/rtl/right.c
  * src/rtl/left.c
  * src/rtl/space.c
  * src/rtl/hbstrsh.c
  * src/rtl/rat.c
  * contrib/hbct/charsprd.c
  * contrib/xhb/xhbarr.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/stack.c
  * contrib/hbmisc/stringsx.c
    + 'long' -> HB_ISIZ

  * src/common/hbwince.c
  * include/hbwince.h
  * contrib/xhb/xhbat.c
  * contrib/xhb/cstructc.c
    + 'unsigned long' -> HB_SIZE

  * src/rtl/fstemp.c
  * src/rtl/net.c
    ! L'x' -> TEXT( 'x' ).
      'L' was used also in non-UNICODE mode, which doesn't seem right.

  * src/rtl/diskspac.c
  * contrib/hbct/disk.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/win_prn3.c
    * TCHAR literals enclosed inside TEXT() macro.

  * contrib/hbwin/win_prn1.c
    ! WIN_GETPRINTERFONTNAME(): Fixed buffer overrun in UNICODE
      mode for font names longer than 64 bytes.
      [TOMERGE 2.0]

  * ChangeLog
    + Added two missed changed to this entry:
      2010-01-15 12:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
        * include/hbdefs.h
          + Added HB_ISIZ temporary type to mark string/array/hash 
            index/length variable already using signed 'long' type.
            This will have to converted to HB_SIZE, one HB_SIZE
            gets also mapped to 'long'.
          * HB_FATTR mapped to HB_U32 (was: unsigned long)
2010-01-15 16:39:54 +00:00
Viktor Szakats
003fd7c41e 2010-01-14 18:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/strclear.c
    + HB_STRCLEAR() return value will now precisely inform about
      successful clear operation. Thanks to Mindaugas.

  * src/vm/hashfunc.c
  * src/vm/macro.c
  * src/vm/strapi.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/vm/maindll.c
  * src/vm/dynsym.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/garbage.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * src/vm/mainstd.c
  * src/vm/maindllp.c
  * src/vm/arrays.c
  * src/vm/task.c
  * src/vm/fm.c
  * src/vm/proc.c
  * src/vm/thread.c
  * src/vm/memvars.c
  * src/vm/arrayshb.c
  * src/vm/eval.c
  * src/vm/extend.c
  * src/vm/dynlibhb.c
  * src/vm/set.c
  * src/vm/classes.c
  * src/debug/dbgentry.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbprintf.c
  * src/common/hbfsapi.c
  * src/common/hbstr.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbdate.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/fscopy.c
  * src/rtl/run.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/math.c
  * src/rtl/empty.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/trim.c
  * src/rtl/filehb.c
  * src/rtl/hbtoken.c
  * src/rtl/fstemp.c
  * src/rtl/gtchrmap.c
  * src/rtl/strmatch.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/padr.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/fserr.c
  * src/rtl/minmax.c
  * src/rtl/hbfeof.c
  * src/rtl/dates.c
  * src/rtl/padc.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/errapi.c
  * src/rtl/version.c
  * src/rtl/hbregexc.c
  * src/rtl/hbrandom.c
  * src/rtl/strtran.c
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/copyfile.c
  * src/rtl/errintlo.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/padl.c
  * src/rtl/hbregex.c
  * src/rtl/hbbit.c
  * src/rtl/isprint.c
  * src/rtl/saverest.c
  * src/rtl/diskspac.c
  * src/rtl/console.c
  * src/rtl/spfiles.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/philes.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/dirdrive.c
  * src/rtl/hbi18n1.c
  * src/rtl/gtclip.c
  * src/rtl/mlcfunc.c
  * src/rtl/gtapiu.c
  * src/rtl/accept.c
  * src/rtl/idle.c
  * src/rtl/itemseri.c
  * src/rtl/hbrunfun.c
  * src/rtl/setcolor.c
  * src/rtl/setkey.c
  * src/rtl/gtsln/mousesln.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/gtsln.h
  * src/rtl/disksphb.c
  * src/rtl/strc.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtgui/gtgui.c
  * src/rtl/hbhex.c
  * src/rtl/trace.c
  * src/rtl/gt_tpl/gt_tpl.c
  * src/rtl/inkeyapi.c
  * src/rtl/filebuf.c
  * src/rtl/gete.c
  * src/rtl/setcurs.c
  * src/rtl/hbproces.c
  * src/rtl/langapi.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/mouse53.c
  * src/rtl/fssize.c
  * src/rtl/hbbyte.c
  * src/rtl/mouseapi.c
  * src/rtl/memofile.c
  * src/rtl/valtostr.c
  * src/rtl/file.c
  * src/rtl/val.c
  * src/rtl/rat.c
  * src/rdd/hbsix/sxcompr.c
  * include/hbvmpub.h
  * include/hbset.h
  * include/hbapicdp.h
  * include/hbstack.h
  * include/hbapilng.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbxvm.h
  * include/hbmacro.h
  * include/hbtypes.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbznet.h
  * include/hbvm.h
  * include/hbapidbg.h
  * include/hbcomp.h
  * include/hbsxfunc.h
  * include/hbcompdf.h
  * include/hbmather.h
  * include/hbapistr.h
  * include/hbwmain.c
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbsocket.h
  * include/hbapigt.h
  * include/hbapicls.h
  * include/hbhash.h
  * include/hbregex.h
  * include/hbexprb.c
  * include/hbdate.h
  * contrib/gtalleg/gtalleg.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbserv.h
  * contrib/xhb/bkgtsks.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/xhbis.c
  * contrib/xhb/fparse.c
  * contrib/xhb/xhb.h
  * contrib/xhb/xhbsave.c
  * contrib/xhb/xhbmsgs.c
  * contrib/xhb/freadlin.c
  * contrib/xhb/txtline.c
  * contrib/xhb/dbgfxc.c
  * contrib/xhb/xhberrc.c
  * contrib/xhb/filestat.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/hbnxs.h
  * contrib/xhb/hbserv.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/xhbfunc.c
  * contrib/hbmzip/hbmzip.c
  * contrib/gtqtc/gtqtc.cpp
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvggui.h
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbmisc/hb_f.c
  * contrib/hbmisc/dates2.c
  * contrib/hbwin/hbwapi.h
  * contrib/hbbtree/tests/ctest.c
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
    ; If possible please try to verify me, at least your own are of interest
      or expertise. Look for HB_BOOL/HB_TRUE/HB_FALSE usage in WINAPI calls,
      if you see such thing, it's wrong. Also some, HB_BOOL WINAPI BOOL
      implicit conversions may need to be cleaned.
    ; I didn't touch PP, RDD, SDD and compiler parts yet.
    ; In few places it's possible that some in-line comments are disaligned
      after this operation.
2010-01-14 17:59:30 +00:00
Viktor Szakats
c5847e7452 2010-01-14 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hashfunc.c
  * src/vm/macro.c
  * src/vm/strapi.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * src/vm/maindllp.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/arrayshb.c
  * src/vm/extend.c
  * src/vm/set.c
  * src/rtl/strtran.c
  * include/hbxvm.h
  * include/hbtypes.h
  * include/hbapi.h
  * include/hbapistr.h
    * ULONG -> HB_SIZE
2010-01-14 11:28:27 +00:00
Viktor Szakats
528989c718 2010-01-14 11:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/set.c
  * src/debug/dbgentry.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbwince.c
  * src/common/hbstr.c
  * src/common/hbmem.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * src/rtl/lennum.c
  * src/rtl/strxor.c
  * src/rtl/strcase.c
  * src/rtl/hbzlibgz.c
  * src/rtl/trim.c
  * src/rtl/base64c.c
  * src/rtl/binnum.c
  * src/rtl/hbtoken.c
  * src/rtl/ampm.c
  * src/rtl/descend.c
  * src/rtl/strpeek.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/hbstrfmt.c
  * src/rtl/hbntos.c
  * src/rtl/hbadler.c
  * src/rtl/at.c
  * src/rtl/fserr.c
  * src/rtl/hbcrc.c
  * src/rtl/hbmd5.c
  * src/rtl/hbascii.c
  * src/rtl/padc.c
  * src/rtl/strzero.c
  * src/rtl/hbregexc.c
  * src/rtl/strtran.c
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/strtoexp.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/padl.c
  * src/rtl/hbregex.c
  * src/rtl/saverest.c
  * src/rtl/right.c
  * src/rtl/hbbffnc.c
  * src/rtl/cdpapi.c
  * src/rtl/hbi18n1.c
  * src/rtl/gtclip.c
  * src/rtl/mlcfunc.c
  * src/rtl/left.c
  * src/rtl/xsavescr.c
  * src/rtl/hardcr.c
  * src/rtl/setkey.c
  * src/rtl/hbzlib.c
  * src/rtl/strc.c
  * src/rtl/stuff.c
  * src/rtl/hbhex.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/inkeyapi.c
  * src/rtl/inkey.c
  * src/rtl/mtran.c
  * src/rtl/gete.c
  * src/rtl/mouse53.c
  * src/rtl/colorind.c
  * src/rtl/ati.c
  * src/rtl/soundex.c
  * src/rtl/memofile.c
  * src/rtl/valtostr.c
  * src/rtl/rat.c
  * include/hbapicdp.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbapi.h
  * include/hbchksum.h
  * include/hbapigt.h
  * include/hbhash.h
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/xstrdel.c
  * contrib/xhb/xhbsave.c
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbmsgs.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/txtline.c
  * contrib/xhb/xhbtrim.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/xhbfunc.c
    * ULONG -> HB_SIZE

  * src/rtl/langapi.c
  * include/hbapilng.h
    * ULONG -> int
    + Marked hb_langDGetErrorDesc() with HB_LEGACY_LEVEL3.

  * src/common/hbprintf.c
    ! ULONG -> int

  * src/debug/dbgentry.c
    * Formatting.
2010-01-14 10:37:49 +00:00
Przemyslaw Czerpak
4475e8b0af 2010-01-13 09:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/hashes.c
    + added new function hb_hashGetCItemPtr() which accepts ASCIIZ string
      as index.

  * harbour/contrib/hbnetio/netiosrv.c
    + added support for using HASH arrays as RPC filter.
      Such hash array should be indexed by function/procedure name set of
      codeblocks or function references or even objects which understand
      EVAL method.
      Please remember that function names passed from client side are case
      sensitive so if you do not need it then please disable case matching
      in the hash array, i.e. using HB_HSETCASEMATCH( hValue, .F. ).
    * renamed NETIO_RPCFUNC() to NETIO_RPCFILTER() it's better name now
      because we added support for using hash arrays as RPC filters:
         NETIO_RPCFILTER( <pConnectionSocket>,
                          <sFuncSym> | <hValue> | NIL ) -> NIL

  * harbour/contrib/hbnetio/netiomt.prg
    + added support for setting RPC filter in NETIO_MTSERVER() using its
      4-th parameter:
         NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>],
                         [<lRPC> | <sFuncSym> | <hValue>],
                         [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pListenSocket>

  * harbour/contrib/hbclipsm/environ.c
    ! fixed GPF in FILEDRIVE() function on platforms which do not support
      drive letters or when path does not contain drive.
    % small optimization in FILEPATH(), FILEBASE(), FILEEXT(), FILEDRIVE()
2010-01-13 08:38:05 +00:00
Przemyslaw Czerpak
1b181e9773 2009-12-29 14:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/common/hbprintf.c
    + added new function 'int hb_printf_params( const char * format )' which
      returns number of parameters necessary for format string

  * harbour/src/common/hbtrace.c
    * added protection against recursive calls when number of parameters
      used by HB_TRACE message us bigger then 16 and fm.c module was compiled
      with HB_TR_DEBUG macro
    % use the same number of characters for unicode and byte string buffers
    % use common memory area (union) for unicode and byte messages to reduce
      C stack usage
    Please test these modifications in real MS-Windows systems.
2009-12-29 13:34:19 +00:00
Viktor Szakats
3f05b7156c 2009-12-28 20:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
  * include/hbapi.h
    + Added hb_xtraced(). Please check it might be wrong.

  * src/common/hbtrace.c
    - Deleted hack to disable winout to avoid recursive calls.
    + Added TOFIX to avoid recursive calls with some clever 
      detection on error case (hb_xtracd() && no_of_formatt_strings > 16)
      I didn't implement it, pls do so if interested.
    ! Fixed MultiByteToWideChar sizeof() to HB_SIZEOFARRAY().
2009-12-28 19:49:43 +00:00
Przemyslaw Czerpak
6b2f6bd054 2009-12-26 14:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
  * harbour/include/hbmath.h
  + harbour/include/hbmather.h
  * harbour/include/hbsetup.h
  * harbour/include/hbapi.h
    * moved math error handler definitions and settings separate header file
    * moved hb_random_num() declaration from hbmath.h to hbapi.h

    After above modification hbmath file should be use only by code which
    wants to use math functions declared usually in math.h

  + harbour/include/hbfloat.h
    + added header file with test macros for floating point numbers
      this file should be included before any other files

  * harbour/src/vm/hvmall.c
  * harbour/src/vm/itemapi.c
  * harbour/src/common/hbprintf.c
  * harbour/src/rtl/math.c
    * use new macros from hbfloat.h

  * harbour/src/rtl/math.c
    + include "hbmather.h"

  * harbour/src/rtl/hbrandom.c
  * harbour/src/rdd/dbf1.c
  * harbour/contrib/xhb/hboutdbg.c
    - removed not longer necessary include "hbmath.h"

  * harbour/contrib/hbct/ctmath.h
    - do not include <float.h> and <limits.h>

  * harbour/contrib/hbct/ct.h
    - do not include "hbmath.h" and "ctmath.h"

  * harbour/contrib/hbct/ctmath.c
  * harbour/contrib/hbct/exponent.c
  * harbour/contrib/hbct/ctc.c
    + include "ctmath.h"

  * harbour/contrib/hbct/trig.c
  * harbour/contrib/hbct/finan.c
  * harbour/contrib/hbct/ctmath2.c
    + include "ctmath.h"
    + include "hbmather.h"

  * harbour/contrib/hbct/num1.c
    + include "ctmath.h"
    + include <float.h>

  * harbour/include/hbinit.h
  * harbour/src/rtl/hbsocket.c
    * added patches from Tamas - thanks

  * harbour/bin/hb-func.sh
  * harbour/harbour.spec
    + create /etc/ld.so.conf.d/harbour.conf with Harbour shared lib directory
      if /etc/ld.so.conf.d directory exists and user has sufficient write
      permission or install package is created.
      This modification allows to install Harbour anywhere and in modern
      distros using /etc/ld.so.conf.d/ harbour shared libraries will be
      always available for all programs

   [TOMERGE 2.0]
2009-12-26 13:13:02 +00:00
Przemyslaw Czerpak
a30828ee08 2009-12-21 23:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/garbage.c
    - removed function hb_gcRefDec()
    * functions hb_gcRefInc() and hb_gcRefFree() moved to public API
      After recent modifications in GC which introduced user defined
      mark functions it's reasonable to make these function public to
      extend functionality and give GC full interface to user defined
      blocks.
2009-12-21 22:29:58 +00:00
Przemyslaw Czerpak
bdfb6a9e93 2009-12-21 08:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
    * moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h

  * harbour/include/hbapi.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmSetDefaultGT()

  * harbour/bin/hb-func.sh
  * harbour/utils/hbmk2/hbmk2.prg
    * use hb_vmSetDefaultGT() to set default GT
    * removed extern declarations for functions defined in hbapi.h

  * harbour/src/vm/dynlibhb.c
    + added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds

  * harbour/config/global.mk
    * use 8.3 names for harbour dynamic libraries in all DOS builds

  * harbour/config/dos/djgpp.mk
    + added support for dynamic libraries (DXE) in DJGPP builds.
      DXE is sth similar to DLL in Windows and can be used with
      DJGPP 2.04. I had to make some modifications in DXE header
      files to make it working so it will not work in default DJGPP
      installation. I'll document these modifications in the future.

  * harbour/config/dos/watcom.mk
    * enable creating of harbour dynamic libraries only when HB_BUILD_DLL
      is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
      DLLs support is not functional yet.

  * harbour/config/dyn.mk
    * added an option to create harbour dynamic libraries from static
      ones instead of .o|.obj files. It's necessary for DXE3GEN which
      internally calls LD which has some limited on maximum size of passed
      parameters.
      TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
2009-12-21 07:22:14 +00:00
Viktor Szakats
880ef34931 2009-12-12 16:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    * Using HB_SIZEOFARRAY().

  * include/hbapi.h
    * Typo in comment.

  * ChangeLog
    + Added missing item to prev.

  * contrib/hbwin/tests/testmapi.prg
    ! Fixed missing SVN props.
    ! Added missing SVN ID.
    * Formatting.
    ; TOFIX: This example expects arrays and logical value from command line, 
             so it won't work.
2009-12-12 15:48:11 +00:00
Viktor Szakats
8b8bf4d810 2009-11-28 20:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmisc/spd.c
    * __XHARBOUR__ protected DATETIME part converted to commented code.
    ; TODO: Xavi, pls update this code to build with Harbour, now
            we have DATETIME support as well.

  * utils/hbformat/hbformat.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * tests/usrrdd/exlog.prg
  * contrib/gtwvg/wvgutils.c
  * examples/httpsrv/cgifunc.prg
  * examples/httpsrv/session.prg
    - Deleted __XHARBOUR__ protected parts.

  * examples/rddado/adordd.prg
  * examples/httpsrv/uhttpd.prg
    * TRY/CATCH converted to BEGIN SEQUENCE, dropping all __XHARBOUR__
      portected parts.

  * include/hbapi.h
    * TRUE/FALSE -> HB_TRUE/HB_FALSE.
2009-11-28 19:03:00 +00:00
Przemyslaw Czerpak
e1ba8c6f23 2009-11-26 03:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbvm.h
  * harbour/include/hbvmpub.h
  * harbour/include/hbstack.h
  * harbour/src/vm/hvm.c
  * harbour/src/vm/estack.c
  * harbour/src/vm/fm.c
  * harbour/src/vm/garbage.c
    + added new function hb_xclean() executed by GC just before resuming
      suspended threads - it can be used by memory manager to clean
      internal structures and release unused memory to OS.
    % release unused memory to OS in hb_xclean() when DLMALLOC is used
    % release unused memory in all mspaces to OS in hb_xclean() when
      HB_FM_DLMT_ALLOC is used
    % release unused memory in mspace when last thread detach it
    % balance used mspaces between threads in hb_xclean() when
      HB_FM_DLMT_ALLOC is used
2009-11-26 02:46:11 +00:00
Viktor Szakats
f6515c6b1d 2009-11-23 00:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/arrays.c
  * src/debug/dbgentry.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhberrc.c
  * contrib/xhb/cstructc.c
    * Changed to use native Harbour API function names instead of
      xhb compatibility ones:
         hb_itemForwardValue() -> hb_itemMove()
         hb_itemPutCStatic()   -> hb_itemPutCConst()

  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/rddsql/sqlbase.c
  * contrib/rddads/adsfunc.c
  * contrib/hbwin/wce_simc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
    % hb_itemNew() + hb_arrayNew() combination replaced
      with single hb_itemArrayNew() call.

  * include/hbapi.h
  * include/hbapiitm.h
    * Marked some legacy/compatibility functions with HB_LEGACY_LEVEL2.
      This means they will be deleted in next major release version:
        LEGACY/DEPRECATED        RECOMMENDED EQUIVALENT
        ----------------------   -----------------------
        hb_retcAdopt()           hb_retc_buffer()
        hb_retclenAdopt()        hb_retclen_buffer()
        hb_retcStatic()          hb_retc_const()
        hb_storclenAdopt()       hb_storclen_buffer()
        hb_itemPutCRawStatic()   hb_itemPutCLConst()
        hb_itemForwardValue()    hb_itemMove()
        hb_itemPutCStatic()      hb_itemPutCConst()
        hb_arraySetCPtr()        hb_arraySetCLPtr()

  * contrib/hbwin/win_tprn.prg
    * Minor formatting.

  * contrib/hbwin/win_osc.c
    * Using HB_BOOL.
    * Varible type notation fixed.
2009-11-22 23:46:57 +00:00
Viktor Szakats
eb786fe2b4 2009-11-18 16:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
    * Changed HB_ERRCODE to be 'insigned int' (was USHORT).
    ; You'll need to rebuild all sources.

  * utils/hbmk2/hbmk2.prg
    % Turned off line numbers (for hbmk2 itself).

  * INSTALL
    * Minor formatting.
2009-11-18 15:09:18 +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
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
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
b14c719757 2009-08-23 17:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/gmake.txt
  * doc/man/hbmk.1
  * doc/whatsnew.txt
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * include/hbapi.h
  * include/hbver.ch
  * utils/hbmk2/hbmk2.prg
  * contrib/hbhpdf/Makefile
  * source/vm/cmdarg.c
  * source/main/harbour.c
  * source/rtl/version.c
  * config/global.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/rules.mk
  * examples/superlib/superlib.hbc
  * examples/superlib/superlib.hbp
  * examples/hbmsql/hbmsql.hbc
  * examples/hbmsql/hbmsql.hbp
  * examples/hbsqlit2/hbsqlit2.hbp
  * examples/hbsqlit2/hbsqlit2.hbc
  * examples/gfspell/gfspell.hbp
  * examples/gfspell/gfspell.hbc
  * examples/hbapollo/hbapollo.hbp
  * examples/hbapollo/hbapollo.hbc
    * HB_ARCH_AUTO -> HB_PLAT_AUTO
    * HB_HOST_ARCH -> HB_HOST_PLAT
    * 'architecture' -> 'platform' in text.
    * HB_VERSION_BUILD_ARCH -> HB_VERSION_BUILD_PLAT
      (INCOMPATIBLE, if you happen to use this from previous dev/beta version)
    * hb_verHB_ARCH() -> hb_verHB_PLAT()
    * ${hb_arch} -> ${hb_plat}

  * INSTALL
    * Minor update.
2009-08-23 15:06:11 +00:00
Viktor Szakats
ecb56859df 2009-07-30 06:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbdate.c
    ! Fixed for some systems where tm->tm_gmtoff isn't available.
      (like sunos). Thanks to Tamas Tevesz for report and pointer.

  * contrib/rddads/adsfunc.c
    + ADSCREATESAVEPOINT()
      ADSROLLBACKSAVEPOINT()
      Added support for 3rd optional parameter on Harbour level.

  * include/hbapi.h
  * source/vm/extend.c
    + hb_parnidef(), hb_parnldef() to give a faster and shorter
      alternative to HB_ISNUM( x ) ? hb_parn[i|l]( x ) : <value>
      construct, which quite often occure in C interface code.
      We may also add a hb_parl() version which returns TRUE,
      this covers most real-life usages.

  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    % Deleted local hb_parnidef() wrapper.
2009-07-30 04:36:35 +00:00
Viktor Szakats
a67b63175a 2009-07-23 12:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmisc/dates2.c
    * Renamed DAYSINMONTH() to HBMISC_DAYSINMONTH(),
      to avoid collision with hbct function with the same
      name, but different functionality.
    - Deleted functions below from hbmisc library:
      EOM(), BOM(), WOM(), DOY(), WOY(), EOY(), BOY()
      They have superior alternatives with the same name
      in hbct lib, please use those.

  * contrib/hbssl/evpciph.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/tests/pem.prg
  + contrib/hbssl/tests/pubkey.pem
  * contrib/hbssl/tests/crypt.prg
  * contrib/hbssl/err.c
    + Added EVP_SEALINIT() (under development)
    + Added EVP_SEALUPDATE(), EVP_SEALFINAL().
    + Added SSL_SET_MSG_CALLBACK() (it's a debug function really,
      and the solution is slightly hackish, as I have to access
      OpenSSL structure and Harbour item freeing needs to be done
      manually. Anyhow it can be excluded from builds.
    + Added ERR_LOAD_CRYPTO_STRINGS().
    + Added ERR_PRINT_ERRORS(). (very useful)
    + Added ERR_FREE_STRINGS().

  * include/hbapi.h
  * source/vm/arrays.c
  * source/vm/extend.c
  * source/debug/dbgentry.c
  * source/rtl/hbgtcore.c
    ! Renamed API function hb_arraySetCPtr() to hb_arraySetCLPtr().
      Old function name still available for compatibility.
2009-07-23 10:03:20 +00:00
Viktor Szakats
2849c6e191 2009-07-22 15:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * source/common/hbstr.c
  * source/rtl/hbmd5.c
    * Moved (and somewhat standardized and renamed) mem to hex C
      function from hbm5/rtl to common lib.

  * bin/hb-func.sh
    ! Fixed double '%' chars in hbmk.cfg generation.

  * contrib/hbcrypt/Makefile
  + contrib/hbcrypt/hbsha1.c
  + contrib/hbcrypt/hbsha1hm.c
  + contrib/hbcrypt/tests/testsha1.prg
    + Added HB_SHA1() and HB_HMAC_SHA1() functions.

  * source/rtl/hbmd5.c
    * Changed meaning of second boolean parameter. From
      now on a .T. has to be passed to get binary output.
      (I won't list this as a incompatible, as the new
      parameter has just been introduced)
    ; by now HB_MD5() and HB_SHA*() functions are synced 
      in functionality.

  * contrib/hbcrypt/hbsha1.c
  * contrib/hbcrypt/hbsha2.c
  * contrib/hbcrypt/hbsha1hm.c
  * contrib/hbcrypt/hbsha2hm.c
  * contrib/hbcrypt/tests/testsha2.prg
    * Changed all SHA2 functions to returned digest in hex
      format by default. The binary format can be requested by
      passing .T. as an extra parameter.
      INCOMPATIBLE: Please update your sources if you used
                    these functions. Add .T. parameter to keep
                    current workings.

  * contrib/hbcurl/hbcurl.c
    % Cleaned types (no BYTE, no BOOL, deleted unnecessary casts).
      Only a few ULONGs remained.

  * contrib/hbssl/pem.c
    + Some advances.
2009-07-22 13:41:36 +00:00
Viktor Szakats
e2cca2e1e6 2009-07-20 17:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_reg.prg
  * contrib/hbwin/win_regc.c
    ! GETREGISTRY() fixed to return default only if the
      registry entry doesn't exist. Previously it was
      falling back to default even if the value existed but
      was empty. In case of empty string, these weren't
      possible to write from hbwin, but could exist in registry
      when written by other tools.
    ! GETREGISTRY() fixed to return binary data as string
      for REG_BINARY types. (previously it was returning
      an unsigned int - essentially truncating everything
      beyong the first 4 bytes).
    ! GETREGISTRY() fixed to swap words for REG_DWORD_BIG_ENDIAN
      values to return correct unsigned integer results.
      (not tested)
    ! GETREGISTRY() fixed to strip only the ending Chr( 0 )
      from string values. This makes it possible to utilize
      strings containing nul chars (obviously) and also to
      parse REG_MULTI_SZ multistring values.
    ! GETREGISTRY() fixed to not RTE if WIN_REGQUERYVALUEEX()
      returned non-null length and a non-string value.
      I still have to understand how this was possible, but
      I got a report that it happened on a system.
    ! WIN_REGQUERYVALUEEX() fixed to store NIL in 5th param,
      if the registry entry doesn't exist.
    ! WIN_REGQUERYVALUEEX() fixed to store empty string when
      registry value is zero length.

  * include/hbapi.h
  * source/vm/extend.c
    + Added API hb_stor() to store a NIL into a parameter passed
      by reference.

  * source/vm/arrays.c
    * Minor formatting.
2009-07-20 15:48:57 +00:00
Viktor Szakats
2a4e728aa9 2009-07-10 04:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * source/vm/fm.c
  * source/rtl/fstemp.c
  * source/rtl/ampm.c
  * source/rtl/fkmax.c
  * source/rtl/isprint.c
  * source/rtl/samples.c
  * source/rtl/inkey.c
  * source/rtl/fmhb.c
  * source/rtl/colorind.c
  * source/rtl/hbffind.c
    * USHORT -> int.
2009-07-10 02:31:59 +00:00
Viktor Szakats
cd2e990242 2009-07-10 02:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * include/hbapigt.h
  * include/hbapi.h
  * source/rtl/scroll.c
  * source/rtl/maxrow.c
  * source/rtl/gtapi.c
  * source/rtl/saverest.c
  * source/rtl/console.c
  * source/rtl/oldclear.c
  * source/rtl/hbgtcore.c
  * source/rtl/scrrow.c
  * source/rtl/shadow.c
  * source/rtl/setcurs.c
  * source/rtl/mouse53.c
  * source/rtl/gx.c
  * source/rtl/mouseapi.c
  * contrib/hbct/cursor.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbclipsm/gauge.c
    * Changed all USHORT to int in high-level GT API layer which
      already had an int representation on the low-level.
      Please review me. It's possible that some extra checks (or else)
      need to be added since signedness has changed.
    * Change mouse state buffer from char * to void *.
    ; TODO: Review remaining BYTE/USHORT usage for attr, color 
            and char. Char is sometimes represented by UCHAR, 
            sometimes by char and sometimes by USHORT. Color is 
            represented by both int and BYTE. attr is BYTE, which 
            can be changed to hbU8.
2009-07-10 00:23:44 +00:00
Przemyslaw Czerpak
2532ca9143 2009-07-08 20:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    ! fixed macropop used with messages

  * harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
    * added code to debug recover statements - it's disabled by default
2009-07-08 18:33:12 +00:00
Przemyslaw Czerpak
0e9b041baa 2009-07-03 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    % reduced INASSING definition - thanks to Xavi for information

  * harbour/source/compiler/hbopt.c
    ! fixed stupid bug in logical expression optimization - thanks to Randy
      for self contain example

  * harbour/include/hbapi.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexprb.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/hvm.c
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
    + added direct support for pushing references to macro expressions.
      It resolves the problem with Clipper compatibility (thanks to Alex
      for information and example) in code like:
         m->var := {0}
         &("var[1]") += 10
      and also many other things, f.e. now Harbour can cleanly compile
      and execute this code:
            proc main
               local s
               m->o := errorNew()
               s:="o:tries"
               ? m->o:tries
               ? &s
               ? &(s+"+=2")
               ? m->o:tries
               ? &(s+":=3")
               ? m->o:tries
               ?
               &s := 4
               ? m->o:tries
               &s -= 2
               ? m->o:tries
               &s++
               ? m->o:tries
               ?
               s := "o"
               m->o := 1
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
               ?
               s := "o[2]"
               m->o := { 1, 2 }
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
            return

  * harbour/utils/hbtest/Makefile
    * force hbtest compilation with line numbers - information about line
      numbers is important part of this test.
2009-07-03 00:24:36 +00:00
Viktor Szakats
03caef2ec2 2009-07-02 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
  * include/hbcompdf.h
  * include/hbapifs.h
  * include/hbexprop.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbdate.h
  * source/pp/ppcore.c
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/extend.c
  * source/common/expropt1.c
  * source/rtl/philes.c
  * source/rtl/empty.c
  * source/rtl/minmax.c
  * source/rtl/dates.c
  * source/rtl/filesys.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbf1.c
  * source/rdd/dbffpt/dbffpt1.c
  * source/rdd/hbsix/sxdate.c
  * source/compiler/hbmain.c
  * source/compiler/complex.c
  * source/compiler/harbour.yyc
  * source/compiler/harbour.y
  * contrib/hbct/files.c
  * contrib/hbct/dattime2.c
  * contrib/hbct/datetime.c
  * contrib/xhb/filestat.c
  * contrib/hbtip/utils.c
  * examples/hboleold/win_ole.c
    * LONG -> long for date/time related values
      (julian, date, type, millisec)
    ; This is an effort to clean Harbour sources from
      Windows/legacy-Clipper basic types and replace
      them with own or ANSI C ones.
      In the above case, usage wasn't consistent,
      LONG and long were mixed.

  * source/main/harbour.c
  * source/vm/fm.c
    * LONG -> long for some stat counters.
2009-07-02 14:18:06 +00:00
Przemyslaw Czerpak
9220ae716c 2009-07-02 01:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/extend.c
    * changed type of returned value in hb_par[v]ds() functions
      from 'char *' to 'const char *'
2009-07-01 23:20:05 +00:00
Viktor Szakats
a77f478287 2009-07-01 08:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtwvt/gtwvt.c
    ! Fixed maximize button state when HB_GTI_RESIZABLE is set to .T.
      before the window is drawn.
      Please test.
    % Cleaned windows style definitions in source.

  * include/hbstack.h
  * include/hbapi.h
    * Formatting in comment.
2009-07-01 06:37:45 +00:00
Viktor Szakats
83a6162d7f 2009-06-25 14:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * source/vm/maindllp.c
  * source/vm/extend.c
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvgutils.c
    * Changed hb_parv*() function return value to 'const char *'.
2009-06-26 12:37:23 +00:00
Przemyslaw Czerpak
9e3ae49cb6 2009-06-26 03:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbinit.h
  * harbour/include/hbapi.h
  * harbour/source/vm/initsymb.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/set.c
  * harbour/source/rtl/cdpapi.c
    * replace old hb_vmProcessSymbols() with hb_vmProcessSymbolsEx()
      and removed hb_vmProcessSymbolsEx() - it efectively force all .prg
      code recompilation
    * removed old hb_vmProcessDllSymbols()
    * changed 'char *' to 'const char *' in:
         const char * hb_cdpSelectID( const char * );
         const char * hb_cdpID( void );
         void hb_xsetfilename( const char * szValue );
         void hb_xsetinfo( const char * szValue );
         int hb_memvarScope( const char * szVarName, ULONG ulLength );
         const char * hb_macroGetType( HB_ITEM_PTR pItem );
2009-06-26 01:17:15 +00:00
Viktor Szakats
340fc1f1de 2009-06-25 02:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * make_gnu.bat
    + Added support for Cygwin builds (passes call to make_gnu.sh).
    + Added Cygwin build starter example.
    + Cygwin mentioned as a requirement for mingwarm builds,
      also added to PATH.
    ! Fixed cygwin autodetection.
    ! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
    * Merged mingw+msys and cygwin bash based build methods,
      and titled as "alternate" method.
      Now all supported compilers work by starting up make_gnu.bat.

  * utils/hbmk2/hbmk2.prg
    ! Change compiler autodetection to work for cygwin.

  * mpkg_dos.bat
  * mpkg_win.bat
  * make_gnu.bat
    ! Fixed build process to work in paths containing spaces.
      I didn't test the batch in pure DOS, so I may have broken it.

  * config/win/install.cf
  * config/wce/install.cf
    ! Fixed 'install' to work when there is a space in install path.

  * make_gnu.bat
  * INSTALL
    + Added support for HB_BUILD_LOG envvar. If set to 'yes',
      it will automatically set log output filename to:
         'log-<arch>-<comp>.txt'
      if set to 'no' it will no make any extra redirection,
      if set to any other value, it will be used for output
      (both std and err). The batch will set HB_BUILD_LOGFILE
      to the filename used for output for processing.
      This feature requires Windows NT or upper host.
      I didn't enable this feature yet by default to not break
      existing user setups, but maybe I'll do it before the
      final release.
    * Modified text shown (+ beep thrown) when build failed.
    * Messages now all start with 'Harbour'.
    * Do not do the second build pass if the first one failed.

  * contrib/hbwin/legacy.prg
    ! Fixed CreateObject() not working due to typo.
      Thanks to Itamar Lins for the report.

  * mpkg_dos.bat
  * mpkg_win.bat
  * mpkg_win.nsi
    + Enabled HB_BUILD_LOG=yes.
    * Silenced copy, zip, makensis commands.
    + Added message about failed build process.
    * Changed to use 'copy' instead of 'xcopy'
    * Changed internals so now they don't require HB_COMPILER
      and HB_ARCHITECTURE to be set. This means that now
      we can rely on autodetection even for mpkg_*.bat files.
      Creating an installer is very easy now for most cases.
      Just type:
         mpkg_gnu.bat

  * source/vm/set.c
    + Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
      is set to .T.. This is the default which means by default we aren't
      CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.

  * source/rdd/dbf1.c
    ! Minor typo in comment.

  * doc/en-EN/hb_apiit.txt
  * include/hbapi.h
  * include/hbapiitm.h
  * source/vm/itemapi.c
  * source/vm/extend.c
  * source/rtl/gtwvt/gtwvt.c
  * source/rdd/dbf1.c
  * contrib/gtqtc/gtqtc.cpp
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/hbwin/olecore.c
  * examples/hboleold/win_ole.c
    * Finishing long planned function renames to clear up
      a very (10 years) old naming inconsistency.
      To adapt you code to this, please do changes below:
         1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
         2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
      Unmodified code will generate compile time errors, so it's easy
      to spot where the modifications need to be done. For most users,
      only case 1) will need to be dealt with.
    ; INCOMPATIBLE. Please update your code.

  * source/rtl/hbi18n1.c
  * source/rdd/dbfnsx/dbfnsx1.c
    * hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()

  * contrib/gtwvg/wvggui.c
  * contrib/gtqtc/gtqtc.cpp
    ! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
      parameter.
2009-06-26 01:11:11 +00:00
Przemyslaw Czerpak
c3e1436da0 2009-06-26 02:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbapidbg.h
  * harbour/include/hbset.h
  * harbour/include/hbcomp.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbstack.h
  * harbour/include/hbsxfunc.h
  * harbour/include/hbapilng.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbapifs.h
  * harbour/include/hbdbsort.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapi.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbrddfpt.h
  * harbour/contrib/hbmysql/mysql.c
  * harbour/contrib/hbct/bitnum.c
  * harbour/contrib/hbct/token2.c
  * harbour/contrib/hbct/charsprd.c
  * harbour/contrib/hbct/ctnet.c
  * harbour/contrib/hbct/charonly.c
  * harbour/contrib/hbct/atadjust.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/charsort.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/charmix.c
  * harbour/contrib/hbct/charevod.c
  * harbour/contrib/hbct/maxline.c
  * harbour/contrib/hbct/wordrepl.c
  * harbour/contrib/hbct/charrepl.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbct/video.c
  * harbour/contrib/hbct/charswap.c
  * harbour/contrib/hbct/dattime3.c
  * harbour/contrib/hbct/charop.c
  * harbour/contrib/hbct/misc2.c
  * harbour/contrib/hbct/charone.c
  * harbour/contrib/hbct/ctstr.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/token1.c
  * harbour/contrib/hbct/ctstr.h
  * harbour/contrib/hbct/charmirr.c
  * harbour/contrib/hbct/relation.c
  * harbour/contrib/hbct/atnum.c
  * harbour/contrib/hbct/like.c
  * harbour/contrib/hbct/count.c
  * harbour/contrib/hbct/disk.c
  * harbour/contrib/hbct/ctstrfil.c
  * harbour/contrib/hbct/posdiff.c
  * harbour/contrib/hbct/addascii.c
  * harbour/contrib/hbct/tab.c
  * harbour/contrib/hbct/numline.c
  * harbour/contrib/hbct/dattime2.c
  * harbour/contrib/hbct/asciisum.c
  * harbour/contrib/hbct/expand.c
  * harbour/contrib/hbct/pos2.c
  * harbour/contrib/hbct/numat.c
  * harbour/contrib/hbct/atrepl.c
  * harbour/contrib/hbct/wordtoch.c
  * harbour/contrib/hbct/print.c
  * harbour/contrib/hbct/justify.c
  * harbour/contrib/xhb/hbxml.c
  * harbour/contrib/xhb/dbf2txt.c
  * harbour/contrib/xhb/xhbis.c
  * harbour/contrib/xhb/fparse.c
  * harbour/contrib/xhb/xstrdel.c
  * harbour/contrib/xhb/hbcomprs.c
  * harbour/contrib/xhb/datesxhb.c
  * harbour/contrib/xhb/xhbmsgs.c
  * harbour/contrib/xhb/freadlin.c
  * harbour/contrib/xhb/txtline.c
  * harbour/contrib/xhb/xhbtrim.c
  * harbour/contrib/xhb/xhbcopyf.c
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/xhb/xhbfunc.c
  * harbour/contrib/hbtpathy/tplinux.c
  * harbour/contrib/hbgt/charmixg.c
  * harbour/contrib/hbgt/strexpan.c
  * harbour/contrib/hbgt/charodd.c
  * harbour/contrib/hbgt/strright.c
  * harbour/contrib/hbgt/asciisgt.c
  * harbour/contrib/hbgt/strdiffg.c
  * harbour/contrib/hbgt/chrtotal.c
  * harbour/contrib/hbgt/strcount.c
  * harbour/contrib/hbgt/strleft.c
  * harbour/contrib/hbgt/ascposgt.c
  * harbour/contrib/hbgt/chrfirst.c
  * harbour/contrib/hbgt/chrcount.c
  * harbour/contrib/hbgt/strpbrk.c
  * harbour/contrib/hbgt/chareven.c
  * harbour/contrib/hbgt/strcspn.c
  * harbour/contrib/hbgt/atdiff.c
  * harbour/contrib/hbsqlit3/hbsqlit3.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbnf/proper.c
  * harbour/contrib/hbnf/fttext.c
  * harbour/contrib/hbnf/chdir.c
  * harbour/contrib/hbnf/getver.c
  * harbour/contrib/hbnf/ftattr.c
  * harbour/contrib/hbnf/mkdir.c
  * harbour/contrib/hbnf/rmdir.c
  * harbour/contrib/Makefile
  * harbour/contrib/hbcurl/hbcurl.c
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/rddads.h
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbmisc/strfmt.c
  * harbour/contrib/hbmisc/stringsx.c
  * harbour/contrib/hbmisc/spd.c
  * harbour/contrib/hbtip/utils.c
  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbbtree/hb_btree.h
  * harbour/contrib/hbbtree/hb_btree.c
  * harbour/source/pp/hbpp.c
  * harbour/source/vm/runner.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/set.c
  * harbour/source/main/harbour.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/hbfopen.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/chrasc.c
  * harbour/source/rtl/fscopy.c
  * harbour/source/rtl/run.c
  * harbour/source/rtl/spfiles.c
  * harbour/source/rtl/defpath.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/oldbox.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/dirdrive.c
  * harbour/source/rtl/hbi18n1.c
  * harbour/source/rtl/trim.c
  * harbour/source/rtl/hbzlibgz.c
  * harbour/source/rtl/philesx.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/source/rtl/filehb.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/is.c
  * harbour/source/rtl/hbrunfun.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/oemansi.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/hbzlib.c
  * harbour/source/rtl/strpeek.c
  * harbour/source/rtl/replic.c
  * harbour/source/rtl/stuff.c
  * harbour/source/rtl/hbstrfmt.c
  * harbour/source/rtl/transfrm.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/trace.c
  * harbour/source/rtl/hbadler.c
  * harbour/source/rtl/samples.c
  * harbour/source/rtl/filebuf.c
  * harbour/source/rtl/hbcrc.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/hbmd5.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/errapi.c
  * harbour/source/rtl/hbregexc.c
  * harbour/source/rtl/natmsg.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/colorind.c
  * harbour/source/rtl/copyfile.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/soundex.c
  * harbour/source/rtl/memofile.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/direct.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/file.c
  * harbour/source/rtl/val.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/rtl/rat.c
  * harbour/source/rtl/isprint.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/wacore.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbdetach.c
  * harbour/source/rdd/dbcmdx.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/dbcmd53.c
  * harbour/source/rdd/usrrdd/usrrdd.c
  * harbour/source/rdd/wafunc.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxsem.c
  * harbour/source/rdd/hbsix/sxord.c
  * harbour/source/rdd/hbsix/sxfname.c
  * harbour/source/rdd/hbsix/sxtable.c
  * harbour/source/rdd/hbsix/sxdate.c
  * harbour/source/rdd/hbsix/sxutil.c
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
    * changed 'char *' and changed 'BYTE *' to 'const char *' in
      the following functions:
         const char * hb_vmFindModuleSymbolName( PHB_SYMB pSym );
         void  hb_vmInitSymbolGroup( void * hNewDynLib, int argc,
                                     const char * argv[] );
         void hb_dbgEntry( int nMode, int nLine, const char *szName,
                           int nIndex, PHB_ITEM pFrame );
         void hb_dbgAddBreak( void *handle, const char *cModule,
                              int nLine, const char *szFunction );
         void hb_dbgAddWatch( void *handle, const char *szExpr, BOOL bTrace );
         PHB_ITEM hb_dbgGetExpressionValue( void *handle,
                                            const char *expression );
         BOOL hb_dbgIsValidStopLine( void *handle, const char *szModule,
                                     int nLine );
         void hb_dbgSetToCursor( void *handle, const char *szModule,
                                 int nLine );
         void hb_dbgSetWatch( void *handle, int nWatch,
                              const char *szExpr, BOOL bTrace );
         const char * hb_setGetCPtr( HB_set_enum set_specifier );
         const char * hb_setGetAltFile( void );
         const char * hb_setGetDateFormat( void );
         const char * hb_setGetTimeFormat( void );
         const char * hb_setGetDefault( void );
         const char * hb_setGetDelimChars( void );
         const char * hb_setGetDevice( void );
         const char * hb_setGetExtraFile( void );
         const char * hb_setGetPath( void );
         const char * hb_setGetMFileExt( void );
         const char * hb_setGetPrintFile( void );
         const char * hb_setGetEOL( void );
         const char * hb_setGetHBOUTLOG( void );
         const char * hb_setGetHBOUTLOGINFO( void );
         const char * hb_setGetOSCODEPAGE( void );
         void hb_compInitPP( HB_COMP_DECL, int argc,
                             const char * const argv[] );
         void hb_compGenPCodeN( const BYTE * pBuffer, ULONG ulSize,
                                HB_COMP_DECL );
         int  hb_compMain( int argc, const char * const argv[],
                           BYTE ** pBufPtr, ULONG * pulSize,
                           const char * szSource );
         void hb_compChkCompilerSwitch( HB_COMP_DECL, int,
                                        const char * const args[] );
         void hb_compChkDefines( HB_COMP_DECL, int iArg,
                                 const char * const args[] );
         void hb_compGenCString( FILE * yyc, const BYTE * pText, ULONG ulLen );
         AREAP hb_rddRequestArea( const char * szAlias, PHB_ITEM pCargo,
                                  BOOL fNewArea, BOOL fWait );
         char * hb_stackDirBuffer( void );
         LONG hb_sxPtoD( const char * pDate );
         const char * hb_langID( void );
         const char * hb_langSelectID( const char * pszID );
         const char * hb_langDGetItem( int iIndex );
         const char * hb_langDGetErrorDesc( ULONG ulIndex );
         BOOL       hb_fsChDir( const char * pszDirName );
         HB_FHANDLE hb_fsCreate( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsCreateEx( const char * pszFilename, ULONG ulAttr,
                                   USHORT uiFlags );
         HB_FHANDLE hb_fsCreateTemp( const char * pszDir,
                                     const char * pszPrefix,
                                     ULONG ulAttr, char * pszName );
         HB_FHANDLE hb_fsCreateTempEx( char * pszName, const char * pszDir,
                                       const char * pszPrefix,
                                       const char * pszExt, ULONG ulAttr );
         const char * hb_fsCurDir( USHORT uiDrive );
         USHORT     hb_fsCurDirBuff( USHORT uiDrive, char * pbyBuffer,
                                     ULONG ulLen );
         void       hb_fsBaseDirBuff( char * pbyBuffer );
         BOOL       hb_fsDelete( const char * pszFileName );
         BOOL       hb_fsFile( const char * pszFileName );
         BOOL       hb_fsIsDirectory( const char * pszFilename );
         HB_FOFFSET hb_fsFSize( const char * pszFileName, BOOL bUseDirEntry );
         HB_FHANDLE hb_fsExtOpen( const char * pszFileName,
                                  const char * pDefExt,
         char *     hb_fsExtName( const char * pFilename,
                                  const char * pDefExt, USHORT uiExFlags,
                                  const char * pPaths );
         BOOL       hb_fsMkDir( const char * pszDirName );
         HB_FHANDLE hb_fsOpen( const char * pszFileName, USHORT uiFlags );
         BOOL       hb_fsRmDir( const char * pszDirName );
         BOOL       hb_fsRename( const char * pszOldName,
                                 const char * pszNewName );
         BOOL       hb_fsGetFileTime( const char * pszFileName,
                                      LONG * plJulian, LONG * plMillisec );
         BOOL       hb_fsSetFileTime( const char * pszFileName,
                                      LONG lJulian, LONG lMillisec );
         BOOL       hb_fsGetAttr( const char * pszFileName, ULONG * pulAttr );
         BOOL       hb_fsSetAttr( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsPOpen( const char * pFilename, const char * pMode );
         BOOL       hb_fsCopy( const char * pSource, const char * pDest );
         BOOL       hb_spFile( const char * pFilename, char * pRetPath );
         BOOL       hb_spFileExists( const char * pFilename, char * pRetPath );
         HB_FHANDLE hb_spOpen( const char * pFilename, USHORT uiFlags );
         HB_FHANDLE hb_spCreate( const char * pFilename, ULONG ulAttr );
         HB_FHANDLE hb_spCreateEx( const char * pFilename,
                                   ULONG ulAttr, USHORT uiFlags );
         PHB_FILE   hb_fileExtOpen( const char * pFilename,
                                    const char * pDefExt, USHORT uiExFlags,
                                    const char * pPaths, PHB_ITEM pError );
         PHB_FILE   hb_fileCreateTemp( const char * pszDir,
                                       const char * pszPrefix,
                                       ULONG ulAttr, char * pszName );
         PHB_FILE   hb_fileCreateTempEx( char * pszName, const char * pszDir,
                                         const char * pszPrefix,
                                         const char * pszExt, ULONG ulAttr );
         HB_ERRCODE hb_gtBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                              SHORT uiRight, const BYTE * pbyFrame );
         HB_ERRCODE hb_gtDrawBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                                  SHORT uiRight, const BYTE * pbyFrame,
                                  int iColor );
         HB_ERRCODE hb_gtWrite( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteAt( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteCon( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtPutText( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pStr, ULONG ulLength,
                                  int iColor );
         HB_ERRCODE hb_gtOutStd( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtOutErr( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtBoxEx( int iTop, int iLeft, int iBottom, int iRight,
                                const BYTE * pbyFrame, int iColor );
         void       hb_mouseRestoreState( const BYTE * pBuffer );
         const char * hb_strLTrim( const char * szText, ULONG * ulLen );
         const char * hb_conNewLine( void );
         const char * hb_conSetColor( const char * szColor );
         const char * hb_errGetDescription( PHB_ITEM pError );
         const char * hb_errGetFileName( PHB_ITEM pError );
         const char * hb_errGetOperation( PHB_ITEM pError );
         const char * hb_errGetSubSystem( PHB_ITEM pError );
         int hb_ctwAddWindowBox( int iWindow, const BYTE * szBox, int iColor );
         const char *ct_at_exact_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_exact_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_wildcard_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_wildcard_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_charset_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         const char *ct_at_charset_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         char * hb_adsOemToAnsi( const char * pcString, ULONG ulLen );
         char * hb_adsAnsiToOem( const char * pcString, ULONG ulLen );
         struct hb_BTree * hb_BTreeNew( const char *FileName,
                                        USHORT usPageSize, USHORT usKeySize,
                                        ULONG ulFlags, USHORT usBuffers );
         struct hb_BTree * hb_BTreeOpen( const char *FileName, ULONG lFlags,
                                         USHORT usBuffers );
         BOOL hb_BTreeInsert( struct hb_BTree * pBTree, const char * szKey,
                              PHB_ITEM pData );
         BOOL hb_BTreeDelete( struct hb_BTree * pBTree, const char * szKey,
                              LONG lData );
         BOOL hb_BTreeSeek( struct hb_BTree * pBTree, const char * szKey,
                            LONG lData, BOOL bSoftSeek );
         const char * hb_BTreeKey( struct hb_BTree * pBTree );

    * modified RDD methods:
         HB_ERRCODE PUTVALUEFILE( AREAP, USHORT, const char *, USHORT );
         HB_ERRCODE GETVALUEFILE( AREAP, USHORT, const char *, USHORT );
    * modified GT methods:
         void REST( HB_GT_PTR, int, int, int, int, const BYTE * );
         void PUTTEXT( HB_GT_PTR, int, int, BYTE, const BYTE *, ULONG );
         void WRITEAT( HB_GT_PTR, int, int, const BYTE *, ULONG );
         void WRITE( HB_GT_PTR, const BYTE *, ULONG );
         void WRITECON( HB_GT_PTR, const BYTE *, ULONG );
         void BOX( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXD( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXS( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void OUTSTD( HB_GT_PTR, BYTE *, ULONG );
         void OUTERR( HB_GT_PTR, BYTE *, ULONG );
         void MOUSERESTORESTATE( HB_GT_PTR, const BYTE * );
    * modified RDD structers:
         DBFIELDINFO, DBOPENINFO, DBORDERCONDINFO, DBCONSTRAINTINFO,
         DBORDERCREATEINFO
    + modified parameters and behevior:
         const char * hb_fsNameConv( const char * szFileName, char ** pszFree );
         const char * hb_osEncode( const char * szFileName, char ** pszFree );
         const char * hb_osDecode( const char * szFileName, char ** pszFree );
      Please look at implementation and current usage of these functions.
    + added new function:
         BOOL hb_itemGetWriteCL( PHB_ITEM pItem,
                                 char ** pszValue, ULONG * pulLen );
      which converts item string buffer to writable state to use with
      functions like FREAD() instead of hb_itemUnShare*()
    * updatd other code to respect above modifications
    ! fixed bugs (also GPF traps) located by above modifications

   TODO: please make build tests. Especially in OS2 - not tested at all.
2009-06-26 00:33:38 +00:00