Commit Graph

254 Commits

Author SHA1 Message Date
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
Przemyslaw Czerpak
1b9a7424b9 2010-01-18 11:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/dbinfo.ch
  * harbour/include/hbrdddbf.h
  * harbour/src/rdd/dbf1.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
    * renamed DB_DBFLOCK_XHB64 => DB_DBFLOCK_HB64

  * harbour/contrib/hbwin/win_tprn.prg
    * updated some comments and formatting

  * harbour/contrib/xhb/Makefile
  + harbour/contrib/xhb/xhw32prn.prg
    + added WIN32PRN class, it inherits from WIN_PRN class hiding some
      differences between Harbour and xHarbour in paper size setting and
      separated horizontal and vertical alignment setting
2010-01-18 10:21:26 +00:00
Viktor Szakats
97abb02ed9 2010-01-17 20:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_reg.prg
  * contrib/hbwin/win_os.prg
  * contrib/hbwin/win_tprn.prg
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/tests/testprn.prg
  * contrib/hbwin/tests/testcom1.prg
  * contrib/hbwin/tests/testcom2.prg
  * contrib/hbwin/tests/testreg.prg
  * contrib/hbwin/tests/testmapi.prg
  * contrib/hbwin/win_com.c
  * contrib/hbwin/win_prn1.c
    * MM_TO_INCH macro moved from hbwin.ch to win_tprn.prg.
      (INCOMPATIBLE is someone happened to use this in app code)
    + Prefixed all Windows constants with WIN_ in hbwin.ch.
    + Prefixed all hbwin specific constants with HB_ in hbwin.ch.
    + Retained all old legacy / deprecated hbwin.ch constants
      for compatibility. Users are encourages to use the new
      ones, as the old ones will be deleted in the future.
    * Changed WIN_MULDIV() to use hb_retni() (instead of hb_retnl())
    * WIN_MULDIV() renamed to WAPI_MULDIV() and moved
      to wapi source. (INCOMPATIBLE, although it's unlikely anyone
      is using WIN_MULDIV() so I didn't keep it.)
    + Added some additional printing related Windows constants.
    + Added comments to hbwin.ch saying which constant is used
      in which WIN_*() function.
    * HB_WIN_MAPI_* constants renamed to WIN_MAPI_*.
      (I haven't dealt with compatibility as this is brand new
      functions with not much users yet)
    + Marked all hbwin.ch deprecated macros with HB_LEGACY_LEVEL3
    ! Fixed to use hbwin.ch constants in few remaining places in testprn.prg
    ; Now it's possible to include hbwin.ch in .c files.
    ; QUESTION: Why RGB_* color constants aren't using pure colors?
                If there is no special reason, I think it should be
                changed to pure ones (with 0xFF components).

  * src/compiler/hbgenerr.c
    * Formatting.
2010-01-17 19:43:19 +00:00
Viktor Szakats
57369ad95c 2010-01-15 19:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/set.c
    ! ULONG -> HB_FATTR. Missed this occurrence of this ULONG
      in previous global modification pass.
      Error reported by Istvan Bisz.

  * contrib/hbct/Makefile
  * contrib/hbct/disk.c
  + contrib/hbct/diskhb.c
    ! Cleaned the way Windows headers are included.
    * Cleaned TRUENAME(), GETVOLINFO() and VOLSERIAL().
    + Using new UNICODE macros in TRUENAME(), GETVOLINFO() and VOLSERIAL().
    ! GETVOLINFO(), which is not a CT function, got moved
      to a separate source file to avoid name collisions.
    ; TOFIX: It should be moved to xhb lib eventually.

  * contrib/hbct/ctnet.c
    * Cleaned NETREDIR() and NETRMTNAME() functions.
    + Reworked NETREDIR() and NETRMTNAME() functions to use new UNICODE macros.
    + Extended return buffer in network functions to 128 (from 80).
    + NETRMTNAME() got support to return embedded zeros in name string.
    + Documented a hidden xhb extension in NETREDIR().
    % hb_WNetErrorHandler() static function merged into NETREDIR().
    ; TOFIX: Above hidden extension in NETREDIR() very much looks like
             a debugging feature, so I left a TOFIX to convert it to
             HB_TRACE() call.
    ; Please test them.

  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbmisc/dates2.c
    - Deleted two functions which were recently made static,
      and it turned out they're not even used by Harbour.
      Warning reported by Istvan Bisz.

  * src/vm/hashfunc.c
  * src/vm/asort.c
  * src/rtl/cdpapi.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/txtline.c
    * LONG -> HB_ISIZ

  * contrib/xhb/bkgtsks.c
    * SHORT -> int

  * contrib/xhb/hbcomprs.c
  * contrib/xhb/xhberrc.c
    * LONG -> long
2010-01-15 18:57:35 +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
7903d5b170 2010-01-15 12:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macrolex.c
  * src/rtl/gtwvt/gtwvt.h
  * doc/en-EN/hb_apigt.txt
  * doc/en-EN/hb_api.txt
  * doc/en-EN/hb_vm.txt
  * doc/en-EN/hb_apiln.txt
  * doc/en-EN/hb_macro.txt
  * doc/en-EN/hb_apiit.txt
  * doc/en-EN/hb_apifs.txt
  * doc/codestyl.txt
  * include/hbthread.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbwmain.c
  * include/hbexpra.c
  * include/hbfloat.h
  * include/hbapicls.h
  * include/hbexprb.c
  * contrib/hbtpathy/tpos2.c
  * contrib/hbtpathy/tpunix.c
  * contrib/hbnf/prtscr.c
  * contrib/hbnf/proper.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ontick.c
  * contrib/hbnf/poke.c
  * contrib/hbpgsql/postgres.c
  * contrib/rddads/rddads.h
  * contrib/hbmisc/strfmt.c
  * contrib/hbmisc/ffind.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/win_dll.c
  * examples/hbdoc/examples/core_es/hb_vm.txt
  * examples/hbdoc/examples/core_es/hb_apiln.txt
  * examples/rddado/adordd.prg
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
      ; Final touches after verification of whole codebase.
        GTWVG still needs changes.
    ! Fixed FT_FBOF() returning random value after FT_USE().
    ! Fixed some bool values stored in int types.
2010-01-15 11:06:44 +00:00
Viktor Szakats
d277414fea 2010-01-15 01:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/cmdcheck.c
  * src/compiler/compi18n.c
  * src/compiler/complex.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/genobj32.c
  * src/compiler/harbour.y
  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
  * src/compiler/hbcomp.c
  * src/compiler/hbdead.c
  * src/compiler/hbfunchk.c
  * src/compiler/hbgenerr.c
  * src/compiler/hblbl.c
  * src/compiler/hbmain.c
  * src/compiler/hbopt.c
  * src/compiler/hbstripl.c
  * src/compiler/ppcomp.c
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
    ; Only gtwvw is left now. But maybe some local hack will 
      be enough there until the code is unstable.
2010-01-15 00:48:01 +00:00
Viktor Szakats
0058f70389 2010-01-15 00:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbmcdx/hbbmcdx.h
  * include/hbapirdd.h
  * include/hbdbsort.h
  * include/hbrddcdx.h
  * include/hbrdddbf.h
  * include/hbrdddel.h
  * include/hbrddfpt.h
  * include/hbrddnsx.h
  * include/hbrddntx.h
  * include/hbrddsdf.h
  * src/rdd/dbcmd.c
  * src/rdd/dbcmd53.c
  * src/rdd/dbdetach.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/delim1.c
  * src/rdd/hbdbsort.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxcrypt.c
  * src/rdd/hbsix/sxfname.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hbsix/sxutil.c
  * src/rdd/hsx/hsx.c
  * src/rdd/nulsys/nulsys.c
  * src/rdd/sdf1.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/wacore.c
  * src/rdd/wafunc.c
  * src/rdd/workarea.c
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
2010-01-14 23:49:12 +00:00
Viktor Szakats
3f778786b0 2010-01-14 22:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/pplib.c
  * src/pp/ppcore.c
  * src/pp/hbpp.c
  * include/hbpp.h
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
2010-01-14 21:59:52 +00:00
Viktor Szakats
8b8d1e24e5 2010-01-14 22:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/ctnet.c
    * Further cleanups.

  * contrib/hbmemio/memio.c
    ! Fixed to use HB_TRUE/HB_FALSE instead of 1/0.

  * contrib/gtwvg/wvgwing.c
    + TOFIXes added to two suspicious boolean casts.

  * contrib/hbfimage/fi_wrp.c
    + Added proper conversion between Harbour boolean and
      FreeImage boolean value.
    % Optimized out unnecessary HB_ISNUM()/HB_ISLOG() calls.

  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbmemio/memio.c
  * src/nortl/nortl.c
  * examples/pp/pp.c
  * examples/pp/hbpragma.c
  * examples/pp/hbppcore.c
  * examples/pp/hbppcomp.c
  * examples/pp/hbppdef.h
  * examples/rddado/adordd.prg
    * BOOL  -> HB_BOOL
    * TRUE  -> HB_TRUE
    * FALSE -> HB_FALSE
2010-01-14 21:07:59 +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
856331771d 2010-01-14 13:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxcrypt.c
  * include/hbsxfunc.h
    + ULONG -> HB_SIZE (some remain)

  * include/hbapiitm.h
  * include/hbvm.h
    + ULONG -> HB_SIZE (missed from prev)

  * contrib/hbbmcdx/bmdbfcdx.c
    ! Fixed another legacy call.
2010-01-14 12:36:49 +00:00
Viktor Szakats
f6a805264e 2010-01-14 13:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_FATTR type to represent file attribute (mapped to unsigned long).

  * src/common/hbffind.c
  * src/rtl/fstemp.c
  * src/rtl/filesys.c
  * src/rtl/spfiles.c
  * src/rtl/philes.c
  * src/rtl/filebuf.c
  * include/hbapifs.h
  * contrib/hbct/files.c
    + ULONG -> HB_FATTR

  * contrib/hbct/charsprd.c
  * contrib/hbct/misc2.c
  * contrib/hbct/blank.c
  * contrib/hbct/disk.c
  * contrib/hbct/dattime2.c
  * contrib/hbct/expand.c
    + ULONG -> HB_SIZE

  * include/hbapifs.h
  * contrib/xhb/xhb.h
    + ULONG -> HB_SIZE (missed from prev)
2010-01-14 12:24:57 +00:00
Przemyslaw Czerpak
d2374b5357 2010-01-14 12:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/pp/pplib.c
  * harbour/src/compiler/ppcomp.c
    + added support for __pragma( <switchname> ) in #if expressions, i.e.:
         #if __pragma( WARNINGLEVEL ) >= 3
            #stdout Warnings set to level 3 or higher
         #endif
         #if !__pragma( z )
            #stdout Shortcut optimization enabled
         #else
            #stdout Force complete boolean evaluation
         #endif
         #if __pragma( kj )
            #stdout NO JUMP OPTIMIZATION
         #endif
         #if __pragma( km )
            #stdout MACRO TEXT SUBSTITUTION DISABLED
         #endif
         #if __pragma( kh )
            #stdout HARBOUR EXTENSIONS
         #endif
2010-01-14 11:44:54 +00:00
Viktor Szakats
48a5b549cd 2010-01-14 12:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcrypt.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/xstrdel.c
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/txtline.c
  * contrib/hbbmcdx/bmdbfcdx.c
    ! Fixed to use current APIs instead of legacy/compatibility ones.
    ; Pls review the cdp ones.

  * src/rtl/langapi.c
  * include/hbapilng.h
    + Un-marked hb_langDGetErrorDesc() with HB_LEGACY_LEVEL3. [REVERT]
2010-01-14 11:39:44 +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
835220af7f 2010-01-14 11:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtgui/gtgui.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/transfrm.c
  * src/rtl/hbprocfn.c
  * src/rtl/console.c
  * src/rtl/hbgtcore.c
  * src/rtl/accept.c
  * src/rtl/hbproces.c
  * include/hbgtcore.h
    * ULONG -> HB_SIZE
2010-01-14 10:53:40 +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
Viktor Szakats
1cce9df65f 2010-01-14 04:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/mousex.c
  * src/rdd/dbcmdx.c
  * contrib/xpp/mousex.c
  * contrib/xpp/dbcmdx.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbgt/bitflags.c
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/putkey.c
  * contrib/hbclipsm/time.c
  * contrib/hbtip/utils.c
  * contrib/hbtip/encmthd.c
    + BOOL/TRUE/FALSE -> HB_BOOL/HB_TRUE/HB_FALSE

  * contrib/hbsqlit3/hbsqlit3.c
    ! Marked local support functions as 'static'.

  * contrib/hbnf/mouse.c
    * BOOL -> int
    % Using hb_arraySet*() API.

  * contrib/hbgd/gdwrp.c
    ! Added missing hb_numToHandle() calls.
2010-01-14 03:48:59 +00:00
Viktor Szakats
80cd36488b 2010-01-14 04:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/binnumx.c
  * contrib/xpp/binnumx.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbtip/utils.c
  * contrib/hbcairo/context.c
  * contrib/hbcairo/core.c
    * ULONG -> HB_SIZE

  * contrib/hbgt/ascposgt.c
    * ULONG -> HB_SIZE
    ! hb_parni() -> hb_parnl()

  * contrib/hbsqlit3/hbsqlit3.c
    ! ULONG -> int (var used in 3rd party interface)

  * contrib/hbmzip/hbmzip.c
    * Formatting.

  * contrib/hbclipsm/num.c
    % hb_retnl() -> hb_retni()
    * ULONG -> HB_SIZE

  * contrib/hbgd/gdwrp.c
    % Deleted few unnecessary ULONG casts.
    ! Fixed win64 problem where file handle was read from hb_parnl()
      instead of hb_parnint().
    ! Fixed 'hb_parnl( 2 ) > -1' code checking for valid file handle
      to 'hb_parnint( 2 ) != FS_ERROR'.
    * ULONG -> HB_SIZE
    % Elmininated few variables.
    * Formatting.

  * contrib/hbmisc/strfmt.c
    * ULONG -> int, HB_SIZE
    * BOOL -> HB_BOOL.
2010-01-14 03:07:23 +00:00
Przemyslaw Czerpak
b1d68f0a5e 2010-01-14 01:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyh
  * harbour/src/compiler/harbour.yyc
    ! pacified compile time error when ... is used as parameter in _HB_MEMBRER
      declaration. TODO: Remove or fix this strong typing grammar rules.

  * harbour/src/debug/dbgtwin.prg
  * harbour/src/debug/dbgtmenu.prg
  * harbour/src/debug/tbrwtext.prg
  * harbour/src/debug/debugger.prg
  * harbour/src/debug/dbgtinp.prg
  * harbour/src/rtl/tbcolumn.prg
  * harbour/src/rtl/listbox.prg
  * harbour/src/rtl/pushbtn.prg
  * harbour/src/rtl/treport.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/tthreadx.prg
  * harbour/src/rtl/checkbox.prg
  * harbour/src/rtl/tsymbol.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tmenuitm.prg
  * harbour/src/rtl/tbrowse.prg
  * harbour/contrib/hbmysql/tmysql.prg
  * harbour/contrib/xhb/stream.prg
  * harbour/contrib/xhb/trpccli.prg
  * harbour/contrib/xhb/hblognet.prg
  * harbour/contrib/xhb/tfile.prg
  * harbour/contrib/xhb/tframe.prg
  * harbour/contrib/xhb/htjlist.prg
  * harbour/contrib/xhb/hblog.prg
  * harbour/contrib/xhb/trpc.prg
  * harbour/contrib/xhb/thtm.prg
  * harbour/contrib/xhb/tcgi.prg
  * harbour/contrib/xhb/ttable.prg
  * harbour/contrib/xhb/txml.prg
  * harbour/contrib/xhb/hjwindow.prg
  * harbour/contrib/xhb/htmutil.prg
  * harbour/contrib/hbodbc/todbc.prg
  * harbour/contrib/hbfbird/tfirebrd.prg
  * harbour/contrib/xpp/tthreadx.prg
  * harbour/contrib/hbpgsql/tpostgre.prg
  * harbour/contrib/hbgd/gdchart.prg
  * harbour/contrib/hbgd/gdimage.prg
  * harbour/contrib/hbgd/gdbar.prg
  * harbour/contrib/hbgd/gdbarcod.prg
  * harbour/contrib/hbmisc/twirler.prg
  * harbour/contrib/hbtip/thtml.prg
  * harbour/contrib/hbtip/cgi.prg
  * harbour/contrib/hbtip/httpcli.prg
  * harbour/contrib/hbtip/smtpcli.prg
  * harbour/contrib/hbtip/client.prg
  * harbour/contrib/hbtip/ftpcli.prg
  * harbour/contrib/hbtip/mail.prg
  * harbour/contrib/hbtip/popcli.prg
  * harbour/contrib/hbwin/win_tprn.prg
  * harbour/contrib/hbbtree/tbtree.prg
  * harbour/utils/hbformat/hbformat.prg
    ! fixed class method declarations to be synced with method implementations
      All of the above missdeclarations were detected by compilation with:
         HB_USER_PRGFLAGS=-DHB_CLS_PARAMS_ERR
      Few years ago in hbclass.ch I defined PP rules to force strict method
      declarations but I had to disable them due to problems with old PP.
      I defined HB_CLS_NO_PARAMS_ERR and left this note in hbclass.ch:
         > I have to enable this definition by default until we will not fix
         > preprocessor. [druzus]
      Current PP code works correctly so we can remove it and activate this
      code. Anyhow as above commit shows a lot of code has been created with
      wrong declarations. I fixed Harbour core code (except HBQT, HBXBP and
      GTWVG - I hope Pritpal or Viktor will fix it) but setting
      HB_CLS_PARAMS_ERR as default will exploit a lot of similar problems in
      user code so I would like the hear other developers' opinions about it.
2010-01-14 00:45:19 +00:00
Viktor Szakats
aab5406bdb 2010-01-14 01:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/memoedit.prg
    ! Fixed to set K_ESC as lastkey() if exiting with changed 
      buffer and answering 'yes' to confirmation question.
      Thanks Przemek for reporting it.
    ! Fixed to not save buffer if exiting with <Esc> and 
      SET SCOREBOARD OFF.

  * src/rtl/tget.prg
    % Minor optimization when displaying delim chars.

  * contrib/hbwin/win_prn3.c
    ! Fixed function name in file header comment.
2010-01-14 00:38:13 +00:00
Przemyslaw Czerpak
4ec1cd2b58 2010-01-13 22:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/achoice.prg
    ! fixed RTE reported by Robert Skowronek - thanks for the code example
    ! fixed not shown immediately newly added achoice items (see
      Robert's example) - please verify this modification.
2010-01-13 21:01:07 +00:00
Przemyslaw Czerpak
7c110952da 2010-01-13 20:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    ! fixed missing HB_STACK_TLS_PRELOAD - thanks to Xavi

  * harbour/contrib/hbnetio/netiosrv.c
    ! fixed wrong declaration and casting of rpcFilter - thanks to Xavi

  + harbour/contrib/hbnetio/readme.txt
    + added small description of NETIO functions - now only client parts

  * harbour/contrib/hbwin/win_tprn.prg
    * updated class name in comments

  * harbour/contrib/hbwin/win_prn1.c
    * minor formatting

  * harbour/contrib/hbwin/win_prn3.c
    % removed unnecessary rest of buffer clearing in hb_tstrncat()
2010-01-13 19:15:05 +00:00
Viktor Szakats
25f48aa426 2010-01-13 18:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/tget.prg
    ! Fixed cursor positioning bug, when @S picture length is
      higher than actual edit buffer length.
      Thanks to Stupar for report.
      [TOMERGE 2.0]

  * contrib/hbnetio/utils/netiosrv.prg
    * Minor.
2010-01-13 17:14:01 +00:00
Viktor Szakats
892efc393d 2010-01-13 17:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/Makefile
  + src/rtl/strclear.c
  * include/hbextern.ch
    + Added HB_STRCLEAR() function to safely clear the content 
      of a string variable.
      Notice that this method by itself can only work if the 
      string variable has no other references, and generally 
      you have to code carefully to avoid creating unwanted 
      copies of the string when passing it around in an app.
      So this is no silver bullet, but rather just one component 
      to solve this problem.

  * contrib/hbnetio/utils/netiosrv.prg
    + Added steps to avoid having the password stored in memory, 
      while the server is running.

  * src/rtl/philes.c
    % Minor cleanup.
2010-01-13 16:13:29 +00:00
Viktor Szakats
6e4895e9de 2010-01-13 15:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.ch
    * Disabled HB_LEGACY_LEVEL2 by default.
    * HB_LEGACY_OFF now controls HB_LEGACY_LEVEL3 (was HB_LEGACY_LEVEL2).
    + Added HB_LEGACY_LEVEL4
    ; SVN users notice: This may make your C code INCOMPATIBLE with
      this version, please review required changes (documented in older
      ChangeLog entries) and update your code. Look for HB_LEGACY_LEVEL2
      and INCOMPATIBLE keywords.

  * contrib/hbnetio/utils/netiosrv.prg
  + contrib/hbnetio/utils/modules.hbp
  + contrib/hbnetio/utils/modules
  + contrib/hbnetio/utils/modules/test.prg
    + Added simple command line to server.
    + Added list of possible feature as TODO. Most of these will
      need backend support from hbnetio lib.
    + Added detailed help screen.
    + Added --version option support.
    + Added support for -rpc=file.hrb option. Although for some
      reason (most likely my omission) it doesn't work yet.
    + -DHB_EXTERN will now enable inclusion of all core functions.
    + Added build file for .hrb modules.
    + Added little test module.
    + Added SETCANCEL( .F. ) to avoid irregular shutdown with Ctrl+C.

  * src/rtl/memoedit.prg
    ! Deleted hack which explicitly set lastkey to CTRL_END/W
      when exiting with changes saved. The comment said that
      it was added to make DBU happy, but it doesn't seem to be
      necessary anymore, at least I couldn't spot any problem
      without it. Pls check it.
    ! Fixed MEMOEDIT() not recognizing K_ESC as exit key when
      custom function is used.
      This fixes DBU not recognizing K_ESC as a way to exit
      memo editing. Please review, I'm not MEMOEDIT() user
      and this was such an obvious omission that I wonder
      if there was some real reason for it. Anyhow it was
      wrong before.

  * contrib/hbfimage/fi_wrp.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/numfloor.c
  * contrib/hbclipsm/status.c
  * contrib/hbclipsm/numceil.c
    * Formatting.
2010-01-13 14:11:50 +00:00
Przemyslaw Czerpak
729939c95e 2010-01-13 13:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/hbsix/sxcompat.prg
    ! fixed bug reported by Stupar: OrdSetFocus() used instead of OrdNumber()
2010-01-13 12:08:05 +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
Viktor Szakats
51934abb5c 2010-01-12 16:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbstr.c
    * Formatting.

  * contrib/hbwin/win_prn3.c
    + Added static versions of strlen and strncat working on TCHARs,
      to replace lstrlen(), lstrcat() unsafe calls.

  * contrib/hbnetio/utils/netiosrv.prg
    + Option renamed: -addr= -> -iface=
    + Added warning for unknown options.

  * contrib/hbnetio/tests/netiot02.prg
    + Date setup.

  * contrib/hbcurl/hbcurl.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/pem.c
    ! Wrapped hb_vmEvalBlockV() calls between hb_vmRequestReender()
      and hb_vmRequestRestore() call pairs.
2010-01-12 15:46:03 +00:00
Przemyslaw Czerpak
af90ba9a0c 2010-01-11 12:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    * move hb_znetOpen() parameter validation from HB_INETCOMPRESS()
      to hb_znetOpen() - it should help keeping other code using
      hb_znetOpen() more simple

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + added support for compression and encryption in NETIO connection
      streams. Enabling encryption (password) automatically enable also
      compression. If necessary user can set compression level to
      HB_ZLIB_COMPRESSION_NONE. HB_ZLIB_COMPRESSION_DISABLE used as
      compression level removes compression and encryption.
      See below for details of NETIO server and client code modifications.

  * harbour/contrib/hbnetio/netiocli.c
    + extended NETIO_CONNECT() client side function parameters:
         NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>], ;
                        [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <lOK>
    % changed the behavior of NETIO_CONNECT() client side function.
      In the previous version this function was connecting to the server
      and then disconnecting so it was used to check if connection is
      available and to set default connection parameters.
      Now it does not disconnect after successful connection so created
      connection is keept and can be reused by any pending NETIO_*() calls.
      User can open many different connections in the same time.
      The connections are recognized by server and port address.
      The connections set by NETIO_CONNECT() function can be closed by
      NETIO_DISCONNECT() function.
      Each repeated call to NETIO_CONNECT() increase reference counter
      in the connection stream and need corresponding number of
      NETIO_DISCONNECT() calls.
    + added new PRG client side function:
         NETIO_DISCONNECT( [<cServer>], [<cPort>] ) -> <lOK>
      which closes connections set by NETIO_CONNECT().
    + added support for passing connection password as part of file path
      or function name in format:
         <server>[:<port>[:<passwd>]]:<filepath|funcname>
      i.e.:
         192.168.0.1:2941:secret:path/to/file
      Please remember that it's only an alternative method of setting
      encryption which does not allow to use CHR(0) or ":" in passwords.
      User can always set connection using NETIO_CONNECT() function which
      will be used in RPC or FILE IO calls. If more then one connection
      is set by NETIO_CONNECT() then user can chose the connection using
      only server and port. It's not necessary to pass other connection
      parameters.
    + added support for UNC paths:
         //<server>[:<port>]/<filepath|funcname>
      i.e.:
         //192.168.0.1:2941/path/to/file
      backslashes (\\) are also supported.

  * harbour/contrib/hbnetio/netiosrv.c
    % moved 1-st login identification from NETIO_ACCEPT() to NETIO_SERVER()
      Such version do not block other connection accepting when server
      waits for NETIO_LOGIN frame so it improve scalability and also
      protect against code which may want to block access to the server
      by opening dummy connections.
    + added new parameters to NETIO_ACCEPT() function which allows to set
      encryption and compression for new connections:
         NETIO_ACCEPT( <pListenSocket>, [<nTimeOut>],
                       [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pConnectionSocket> | NIL
    + added new server side function:
         NETIO_COMPRESS( <pConnectionSocket>,
                         [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> NIL
      which allow to set or change encryption and compression parameters
      in existing connections

  * harbour/contrib/hbnetio/netiomt.prg
    * updated to accept new connection parameters in NETIO_MTSERVER()
      function:
         NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>], [<lRPC>],
                         [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pListenSocket>

  * harbour/contrib/hbnetio/utils/netiosrv.prg
    + added 5-th parameter <passwd> which enable encryption with compression,
      current syntx is:
         netiosrv [<port>] [<inetaddr>] [<rootdir>] [<rpc>] [<passwd>]
      For default values use "" in command line for skipped parameters, i.e.:
         netiosrv "" "" "" 1 topsecret

  * harbour/contrib/hbnetio/tests/netiotst.prg
    * enable RPC, compression and encryption in test code
    + added simple code which use RPC to create directory on the server side


   Now it's possible to easy create secure NETIO connections and compression
   should help in slow connections when big number of data has to be
   exchange. In RDD file access it mostly help when tables use long records.

   Hope you will find it useful. Please make tests.
2010-01-11 11:22:05 +00:00
Przemyslaw Czerpak
45232282b9 2010-01-08 18:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/dynsym.c
    + accept also function name (not only symbol index) as parameter
      of __DYNSISFUN()

  * harbour/src/rtl/hbznet.c
    * pacified BCC warnings
2010-01-08 17:28:54 +00:00
Przemyslaw Czerpak
25de114b61 2010-01-08 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    * pacified BCC warning

  * harbour/include/hbznet.h
  * harbour/src/rtl/hbznet.c
    + added support for blowfish encryption in HB_ZNETSTREAM
    + added C function
         void hb_znetEncryptKey( PHB_ZNETSTREAM pStream,
                                 const void * keydata, int keylen );
      which enables data encryption in HB_ZNETSTREAM
    + added 4-th parameter to <cPass> to .PRG HB_INETCOMPRESS() function:
         HB_INETCOMPRESS( <pSocket>, [<nCompressionLevel>], [<nStrategy>],
                          [<cPass>] )
         <cPass> is initial value to create blowfish key.
      Please test.
2010-01-08 13:00:37 +00:00
Viktor Szakats
23ac606bcc 2010-01-08 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dlmalloc.c
    ! Fixed two potentially uninitialized variables, signaled by MSVC.

  * src/common/hbgete.c
    + Changed to use native SetEnvironmentVariable() API instead of
      forced ANSI one.

  * src/common/hbwince.c
  * include/hbwince.h
    % Deleted unused ANSI Windows API stubs.
    + Added empty SetEnvironmentVariable() stub for WinCE
      builds where it's missing.
    * Reconfigured these stubs:
        SetCurrentDirectory()
        GetCurrentDirectory()
        GetComputerName()
        GetUserName()

  * config/win/global.mk
    * Comment updated.

  * config/win/msvc.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)
2010-01-08 00:14:19 +00:00
Viktor Szakats
dd570d683c 2010-01-07 21:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added free SVN book link.

  * src/vm/extrap.c
    % Marked exception filter callback as 'static'
    ; TOCHECK: Please verify that OS/2 still works this way.

  * src/rtl/oemansi.c
    ! Fixed two tabs.

  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
  * contrib/rddads/adsfunc.c
    ! Fixed to not use unsafe/ANSI CharToOemBuffA() API.
    ; Please review me.

  * config/win/mingw.mk
    + Added information about MinGW alternatives for MSVC
      security features. Unfortunately they need Cygwin
      binary plus some depend on MinGW host platform
      and/or version.

  * include/hbwince.h
  * src/common/hbwince.c
    - Deleted CharToOemBuffA(), OemToCharBuffA(). No longer
      needed by Harbour.
    ; TODO: Delete rest of not anymore used ANSI WinAPI
            functions. Now Harbour never uses ANSI
            WinAPI functions in UNICODE mode.

  * config/win/global.mk
    - Deleted reference to CharToOemBuffA(), OemToCharBuffA().
2010-01-07 20:59:38 +00:00
Viktor Szakats
472c3592ed 2010-01-07 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * contrib/hbwin/win_prn3.c
    + Added TOFIXes for unsafe function usage:
       IsBadWritePtr(), IsBadReadPtr(), lstrlen(), lstrcpy(), lstrcat()
    ; QUESTION: Any idea how to fix that? win_prn3.c can
                probably be fixed with some good general coding
                idea.

  * contrib/hbwin/wce_smsc.c
    ! Fixed to not use unsafe CRTL functions.

  * src/rtl/oemansi.c
    ! Rewritten HB_OEMTOANSI() and HB_ANSITOOEM() to not use
      Windows API functions marked as unsafe. New version is a bit
      slower but won't mark Harbour apps as unsafe in an audit.
    ; Please test and review.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    % Deleted -Gs MSVC option. Testing with MSVC 2008 I've found
      this have no effect on x86 builds, and it makes x64 builds
      slighly less efficient by forcing stack checks in each function
      call. This seems to contradict MSDN, which doesn't suggest such
      difference between x86 and x64:
         http://msdn.microsoft.com/en-us/library/9598wk25.aspx
    % Deleted -GS- MSVC option used for wce targets for MSVC >= 8.00.
      '-GS-' will disable stack cookies (on by default), thus trading
      app size/speed for security. Maybe this is preferred for wce
      users, but in Harbour I'd rather opt to pass this decision to users
      for all targets.
         Enable with: HB_USER_CFLAGS=-GS- / -cflag={allmsvc}-GS-
      MSDN:
         http://msdn.microsoft.com/en-us/library/8dbf701c.aspx
2010-01-07 17:17:24 +00:00
Przemyslaw Czerpak
4e02eab09f 2010-01-07 14:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
  * harbour/include/hbznet.h
    * added new optional parameter to hb_znetWrite() function which allow
      to catch result of last hb_socketSend() operation
    * removed automatic flushing from hb_znetWrite() function,
      it should help in implementing more efficient C code using
      hb_znet*() functions

  * harbour/src/rtl/hbinet.c
    * flush HB_ZNETSTREAM output after write operation
    % small optimization in internal inet error setting
2010-01-07 13:07:54 +00:00
Przemyslaw Czerpak
0d4b626818 2010-01-06 17:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    ! do not use DEF_MEM_LEVEL to avoid potential problems when <zutil.h>
      is not available

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + implemented RPC in HBNETIO protocol
    + added the following client functions:
      check if function/procedure exists on the server side:
         NETIO_PROCEXISTS( <cProcName> ) -> <lExists>
      execute function/procedure on server the side,
      do not wait for confirmation:
         NETIO_PROCEXEC( <cProcName> [, <params,...>] ) -> <lSent>
      execute function/procedure on the server side and wait for
      confirmation:
         NETIO_PROCEXECW( <cProcName> [, <params,...>] ) -> <lExecuted>
      execute function on the server side and wait for its return value:
         NETIO_FUNCEXEC( <cFuncName> [, <params,...>] ) -> <xFuncRetVal>
      All above functions use default connection set by NETIO_CONNECT()
      for RPCs but it's also possible to specify server address and port
      in <cProcName>/<cFuncName> just like in <cFileName> parameter in RDD
      functions, i.e.:
         NETIO_PROCEXISTS( "192.168.0.1:10005:MYFUNC" )
    + added new server side functions to enable/disable/check RPC support:
         NETIO_RPC( <pListenSocket> | <pConnectionSocket> [, <lEnable> ] )
               -> <lEnabled>
      if RPC is enabled for listen socket then connection sockets inherit
      this setting.
    + added 4-th parameter <lRPC> to NETIO_LISTEN() function. .T. enable
      RPC support in returned listen socket which is later inherited by
      connection sockets
    * changed protocol version ID - current NETIO clients and servers
      cannot be used with old code

  * harbour/contrib/hbnetio/utils/netiosrv.prg
    * added option to enable RPC support in NETIO server

   If you want to make some test then you can execute netiosrv with
   non empty 4-th parameter as server, i.e.:
      ./netiosrv "" "" "" 1
   and try this code as client:

      proc main()
         // pass server address to netio_connect() for non localhost tests
         ? "NETIO_CONNECT():", netio_connect()
         ?
         ? "DATE() function is supported:", netio_procexists( "DATE" )
         ? "QOUT() function is supported:", netio_procexists( "DATE" )
         ? "HB_DATETIME() function is supported:", ;
           netio_procexists( "HB_DATETIME" )
         ?
         ? netio_procexec( "QOUT", repl( "=", 50 ) )
         ? netio_procexec( "QOUT", "This is RPC TEST", date(), hb_datetime() )
         ? netio_procexecw( "QOUT", repl( "=", 50 ) )
         ? 
         ? "SERVER DATE:", netio_funcexec( "DATE" )
         ? "SERVER TIME:", netio_funcexec( "TIME" )
         ? "SERVER DATETIME:", netio_funcexec( "HB_DATETIME" )
         ?
         ? netio_funcexec( "upper", "hello world !!!" )
      return

   Please remember that only functions linked with server are available.
   If you want to enabled all core functions in netiosrv then please
   uncomment this line in netiosrv.prg:
      REQUEST __HB_EXTERN__


   Have a fun with a new toy. I hope that many Harbour user will find it
   very interesting. Please only be careful !!!. This feature allows to
   execute remotely _ANY_ code on the server side. _NEVER_ leave open ports
   with RPC support for untrusted access.
2010-01-06 16:16:22 +00:00
Przemyslaw Czerpak
86c9511f2f 2010-01-06 07:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwin/gtwin.c
    + added support for HB_GTI_ISUNICODE

  * harbour/include/hbapifs.h
    * added missing 'extern' in some declarations

  * harbour/include/hbzlib.ch
    + added HB_ZLIB_STRATEGY_* constants
    + added HB_ZLIB_COMPRESSION_DISABLE

  * harbour/include/Makefile
  + harbour/include/hbznet.h
  * harbour/include/hbextern.ch
  * harbour/src/rtl/Makefile
  * harbour/src/rtl/hbinet.c
  + harbour/src/rtl/hbznet.c
    + added support for ZLIB compression in stream sockets.
    + added .prg function:
         HB_INETCOMPRESS( <pSocket>, [<nCompressionLevel>], [<nStrategy>] )
      which enables ZLIB compression for given HB_INET*() socket.
      <pSocket> is a socket created by one of HB_INET*() functions
      <nCompressionLevel> is compression factor between 1 (fastest) and
                          9 (best) (see HB_ZLIB_COMPRESSION_*)
                          0 (none) disable compression on output data
                          but decompression is still working.
      <nStrategy> is used to tune compression algorithm,
                  see HB_ZLIB_STRATEGY_*
      The compression must be enabled on both connection sides, i.e.
      on the server side:
         conn := hb_inetAccept( sock )
         hb_inetCompress( conn )
      and on the client side:
         sock := hb_inetConnect( cServer, nPort )
         hb_inetCompress( sock )
      in the same moment but it's not necessary to enable it at the
      beginning of connection. It can be done later, i.e. when both
      sides agree to enable connection using some custom protocol.
      The compression has effect only on stream connections, i.e.
      TCP and it's ignored in datagram connections like UDP.
      This function can be executed more then once changing the compression
      parameters but it causes that all data in readahead decompression
      buffer is discarded. When called with HB_ZLIB_COMPRESSION_DISABLE
      as <nCompressionLevel> then support for stream compression is removed
      and sockets works again in raw mode.
      The compression level and strategy do not have to be the same on both
      connection sides. Each side can chose the best settings for data it's
      going to send.

      This code was written in a way which allows to easy implement
      alternative compression methods or other extensions like encryption
      in existing HB_INET*() sockets also by non core code. The public C
      functions declared in hbznet.h allows to use this extension with raw
      harbour sockets two.
2010-01-06 06:27:38 +00:00
Viktor Szakats
1cf66dcc83 2010-01-05 18:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added support for C++ input files. Now C++ files will be compiled
      in a separate pass where native C++ compiler is used, which
      means that C++ compilation mode is now enforced by using .cpp
      extension. This also means that it's now possible to build
      mixed mode projects with both C and C++ input files.
      Enable with option: -hbcppmm (cmdline) or hbcppmm=yes (in .hbc files)
         NOTE: Suggestions for better names are welcome.
      In general, this feature makes -cpp option unnecessary, its
      only purpose now is to override default mode.
    ; Please test.

  * utils/hbmk2/hbmk2.prg
    - Deleted support for link-related macros in C compilation phase,
      these weren't used anymore inside current hbmk2, so it seems safe,
      but it's possible nevertheless that it will cause regressions in
      some exotic use cases.

  * utils/hbmk2/hbmk2.prg
    ! Fixed parsing -warn option on the commandline and .hbm/.hbp files.
      [TOMERGE 2.0]

  * contrib/hbqt/generator/hbmk.hbm
    ! Deleted xhb lib. It's not required and was probably added for
      "outdebug" stuff.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
  * contrib/gtqtc/gtqtcs.hbc
  * contrib/gtqtc/gtqtc.hbc
    + Added hbcppmm=yes option. This will force C++ memory allocation
      functions to be overridden by Harbour mm functions.

  * src/vm/fm.c
    - Deleted C++ memory allocation functions. This feature now
      lives inside hbmk2, and it now doesn't require whole Harbour
      to be built in C++ mode.

  * contrib/hbqt/*
    * Regenerated.
2010-01-05 18:04:12 +00:00
Przemyslaw Czerpak
c02e6f1616 2010-01-05 14:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/video.c
    % use hb_gtColorToN() function instead of own code to decode Clipper
      color in VGAPALETTE()
    ! added protection against possible transfer buffer overflow in
      SETFONT() function
    ! return -2 when SETFONT() is not implemented

    TODO: clean these functions, add support for other DOS compilers,
          add some missing functions and redirect few of them like
          VGAPALETTE() to hb_gtInfo() in non DOS builds

  * harbour/src/rtl/hbgtcore.c
    ! fixed missing ';' => CHR( 13 ) translation in __KEYBOARD() function
      [TOMERGE 2.0]
2010-01-05 13:03:37 +00:00
Przemyslaw Czerpak
6e527f2ed1 2010-01-05 02:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbtrace.c
    ! fixed casting for C++ mode in my recent modification
2010-01-05 01:39:48 +00:00
Przemyslaw Czerpak
70b39211bb 2010-01-04 19:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    ! fixed typo in my recent ChangeLog entry

  * harbour/src/vm/fm.c
    % minor simplification

  * harbour/src/common/hbtrace.c
    ! fixed possible recursive call reported by Istvan
2010-01-04 18:02:29 +00:00
Przemyslaw Czerpak
c8e91323cd 2010-01-04 13:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! cleaned a little bit hack with euro sign support
    + added optional support for input respecting locale settings
      To enable it it's necessary to recompile GTXWC with HB_XWC_USE_LOCALE
      macro. It can be done globally using
         export UH_USER_CFLAGS=-DHB_XWC_USE_LOCALE
      and recompiling Harbour core code.
      When enabled GTXWC initialize locale at startup (LC_CTYPE only) what
      enable national keyboard layout support in default input context
      (XLookupString()). Current Harbour core code does not use any
      <ctype.h> functions so enabling locale should not effect user
      national settings in HVM.
      Please test.
2010-01-04 12:11:08 +00:00
Viktor Szakats
cf4a9008cc 2010-01-03 01:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/tests/demoqt.prg
    ! Possible fix for leaks in this .prg code.
      Added these two calls before exit:
         QT_EVENTS_DESTROY()
         QT_SLOTS_DESTROY()

  * contrib/hbqt/filelist.mk
  - contrib/hbqt/hbqt_events.h
  + contrib/hbqt/hbqt_hbevents.h
  - contrib/hbqt/hbqt_events.cpp
  + contrib/hbqt/hbqt_hbevents.cpp
  - contrib/hbqt/hbqt_slots.h
  + contrib/hbqt/hbqt_hbslots.h
  - contrib/hbqt/hbqt_slots.cpp
  + contrib/hbqt/hbqt_hbslots.cpp
    * Renamed Events class to HBEvents.
    * Renamed Slots class to HBSlots.

  * src/vm/fm.c
    % Deleted unnecessary guard added in prev commit.
2010-01-03 00:31:09 +00:00
Viktor Szakats
2d3bb88d50 2010-01-03 00:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
    + Overriding some additional C++ memory allocation operators
      to cover the full set required by QT, according to this document:
         http://doc.trolltech.com/4.5/qt-performance.html#alternative-memory-allocation
    ; Please report if it causes problem in other areas, also 
      retest HBQT memory allocation after change.
2010-01-02 23:29:42 +00:00
Viktor Szakats
7806656acb 2010-01-03 00:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
    ! Fixed to not display "Warning, memory allocated but not released" 
      message for non-fmstat builds.
    ! Fixed to display "Memory allocated but not released: none" message
      (without 'warning' sign) when built with fmstat and there was no 
      unrelease blocks.
2010-01-02 23:14:10 +00:00
Istvan Bisz
4d4aeeb407 2009-01-02 21:59 UTC+0100 Istvan Bisz (istvan.bisz/at/t-online.hu)
* /src/vm/fm.c
    * Not adequate defitions of the subsequent CRT functions for the MinGW implemetations:
      #ifndef USE_DL_PREFIX
      #define dlcalloc               calloc 
      #define dlfree                 free
      #define dlmalloc               malloc
      ...
      #endif /* USE_DL_PREFIX */
      The malloc/free CRT functions should'nt be redefined in this way.
    * The mesage: "Warning, memory allocated but not released..." is sent on request (//INFO cmdarg).
2010-01-02 21:41:36 +00:00
Przemyslaw Czerpak
cbce7fc1f4 2009-12-31 13:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/Makefile
    ! added missing cphriso.c
2009-12-31 12:24:29 +00:00
Przemyslaw Czerpak
e4ec9850aa 2009-12-31 12:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextcdp.ch
  * harbour/include/hbextlng.ch
  * harbour/src/lang/Makefile
  - harbour/src/lang/msghr437.c
  + harbour/src/lang/msghr646.c
  - harbour/src/codepage/cphr437.c
  + harbour/src/codepage/cphr646.c
    * renamed HR437 CP and LANG modules to HR646 (CROSCII / ISO-646-YU)

  * harbour/include/hbextcdp.ch
  * harbour/include/hbextlng.ch
  * harbour/src/codepage/Makefile
  - harbour/src/lang/msgsl437.c
  + harbour/src/lang/msgsl646.c
  - harbour/src/codepage/cpsl437.c
  + harbour/src/codepage/cpsl646.c
    * renamed CL437 CP and LANG modules to CL646 (SLOSCII / ISO-646-YU)

  * harbour/src/lang/msghriso.c
    ! fixed language ID

  + harbour/src/codepage/cphr646.c
  * harbour/src/codepage/cphr852.c
  * harbour/src/codepage/cphrwin.c
  + harbour/src/codepage/cpsl646.c
  * harbour/src/codepage/cpsliso.c
  * harbour/src/codepage/cpslwin.c
  * harbour/src/codepage/cpsl852.c
    ! changed the collation order so X and Y characters are sorted before Z
      It's CL5.2 ntxcro.obj compatible behavior. Now HR646 and SL646 Harbour
      CPs can be used to share data with Clipper application linked with
      ntxcro.obj.

  * harbour/include/hbextcdp.ch
  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cphriso.c
    + added HRISO (ISO-8859-2) Harbour CP module

   Please test all these modifications.
   [TOMERGE 2.0]
2009-12-31 11:44:26 +00:00