Commit Graph

1339 Commits

Author SHA1 Message Date
Viktor Szakats
8aeaaac8eb 2008-11-10 03:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/fm.c
    ! Fixed missing abort() on WinCE. (for Pelles C only, but 
      the fix should work for any WinCE compilers).
    ; TOFIX: Now the only remaining showstopper for PellesC5 WinCE 
             support is:
             ../../math.c(652): error #3120: [asm] Symbol 'inf' is undefined.
2008-11-10 02:36:53 +00:00
Przemyslaw Czerpak
ae5075fa5b 2008-11-10 00:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/rules.cf
    ! fixed recursive HB_FLAGS declaration

  * harbour/include/hbdefs.h
  * harbour/include/hbsetup.h
  * harbour/include/hbtrace.h
    * declared hb_tr_trace() parameters as printf() compatible in GCC
      builds. It enabled format string with parameters validation

  * harbour/source/rtl/errorapi.c
    ! fixed GPF caused by HB_ERR_FUNCNAME which is not longer valid
      string

  * harbour/source/vm/itemapi.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/set.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/xhb/freadlin.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/hbwin/win_ole.c
  * harbour/utils/hbdoc/hbdfrdln.c
  * harbour/utils/hbmake/hbmfrdln.c
    ! fixed bugs in HB_TRACE massages reported in GCC builds
2008-11-09 23:20:16 +00:00
Viktor Szakats
8be149614c 2008-11-09 17:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/arrays.c
  * source/vm/classes.c
  * source/vm/cmdarg.c
  * source/vm/codebloc.c
  * source/vm/debug.c
  * source/vm/dynsym.c
  * source/vm/extend.c
  * source/vm/fm.c
  * source/vm/hashes.c
  * source/vm/hvm.c
  * source/vm/itemapi.c
  * source/vm/maindll.c
  * source/vm/maindllh.c
  * source/vm/maindllp.c
  * source/vm/mainstd.c
  * source/vm/mainwin.c
  * source/vm/set.c
  * source/vm/vm.c
    % Removed HB_EXPORT from remaining function definitions.
2008-11-09 16:16:54 +00:00
Viktor Szakats
618407cbec 2008-11-09 17:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgutils.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_ole.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/dbgfxc.c
  * source/common/hbarch.c
  * source/common/hbdate.c
  * source/common/hbfsapi.c
  * source/common/hbstr.c
  * source/common/hbver.c
  * source/common/hbverdsp.c
  * source/debug/dbgentry.c
  * source/main/harbour.c
  * source/rdd/dbf1.c
  * source/rdd/nulsys/nulsys.c
  * source/rdd/wacore.c
  * source/rdd/wafunc.c
  * source/rdd/workarea.c
  * source/rtl/cdpapi.c
  * source/rtl/console.c
  * source/rtl/dates.c
  * source/rtl/errorint.c
  * source/rtl/file.c
  * source/rtl/filesys.c
  * source/rtl/fscopy.c
  * source/rtl/fserror.c
  * source/rtl/fstemp.c
  * source/rtl/gtapi.c
  * source/rtl/gtapiu.c
  * source/rtl/hbadler.c
  * source/rtl/hbcrc.c
  * source/rtl/hbffind.c
  * source/rtl/hbgtcore.c
  * source/rtl/hbmd5.c
  * source/rtl/inkeyapi.c
  * source/rtl/isprint.c
  * source/rtl/math.c
  * source/rtl/mouseapi.c
  * source/rtl/seconds.c
  * source/rtl/setcolor.c
  * source/rtl/setcurs.c
  * source/rtl/strmatch.c
  * source/vm/hvm.c
    % Removed HB_EXPORT from function definitions.
      Placing it in declaration is enough.

  * source/debug/dbgentry.c
    * Formatting.
2008-11-09 16:06:36 +00:00
Viktor Szakats
0b765b9181 2008-11-09 16:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_vc.mak
    ! Added hbpp.lib and hbcommon.lib to HBRUN_DLL liblist.

  * include/hbapi.h
  * source/vm/cmdarg.c
  * source/common/hbver.c
  * source/common/hbverdsp.c
  * source/rtl/console.c
  * source/rtl/setcolor.c
  * source/rtl/setcurs.c
    + Added HB_EXPORT to some functions to make it possible 
      to build hbrun-dll.exe.
      For other reasons, it only works if Harbour built with 
      set C_USR=-DHB_DYNLIB.
    ; TODO: Make HB_DYNLIB the default build mode, do gradual 
            steps to remove separate DLL building pass, and 
            finally to remove HB_BUILD_DLL option.
            The only drawback will be about 10-100K 
            (currently) overhead in final executable size due 
            to included export table for BCC and MSVC builds.
2008-11-09 15:04:03 +00:00
Przemyslaw Czerpak
c497f05e91 2008-11-09 13:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    ! fixed 3 tracelog messages

  * harbour/source/rtl/hbgtcore.c
    * declare core method table as const

  * harbour/source/compiler/gencc.c
    ! fixed accessing data out of buffer in string to hex conversion and
      logical expression used to divide strings
2008-11-09 12:15:27 +00:00
Viktor Szakats
7593619930 2008-11-08 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/set.c
    ! _SET_EVENTMASK RTE removed to be Clipper compatible.
    ! _SET_VIDEOMODE RTE removed to be Clipper compatible.
    ! _SET_MBLOCKSIZE default value set to 64 (was 0) to be Clipper compatible.
      (pls correct me if this was intentionally wrong)

  * utils/hbtest/rt_misc.prg
    + Added one C5.2 SET()s for two simple tests.
    + Added all C5.3 SET()s for two simple tests each.
    ; NOFIX: _SET_VIDEOMODE has the type wrong.
    ; NOTE: It wouldn't be a bad idea to add some more comprehensive 
            tests for SET()s.
2008-11-08 12:55:59 +00:00
Przemyslaw Czerpak
45a9479a42 2008-11-08 13:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gcc.sh
  * harbour/make_gnu.bat
  * harbour/make_gnu.sh
  * harbour/config/lib.cf
  * harbour/config/bin.cf
    + added MK_USR to pass GNU MAKE flags

  * harbour/source/vm/set.c
    * minor cleanup and simplifications in hb_setSetItem().
    * grouped SETs with the same item type in hb_setSetItem() function
      together.
2008-11-08 12:21:50 +00:00
Viktor Szakats
d58f588682 2008-11-08 10:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/set.c
    + Implemented rest of hb_setSetItem() values.
    ; TODO: Please review.
    ! Fixed HB_SET_FILECASE and HB_SET_DIRCASE to not allow 
      invalid numeric values to be set.
    ! Added missing 'break;' to hb_setSetItem2();

  * source/rtl/gtwvt/gtwvt.c
    ! Fixed a few places where '+' operator was used 
      instead of '|'.
    * Minor opt/formatting.
    ; TOFIX: The window positioning bug is still to be solved.
2008-11-08 09:40:27 +00:00
Przemyslaw Czerpak
eb912f672b 2008-11-07 14:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/set.c
    + finished hb_setSetFile() used internally for HB_SET_ALTFILE,
      HB_SET_EXTRAFILE, HB_SET_PRINTFILE
2008-11-07 13:19:05 +00:00
Przemyslaw Czerpak
0169f98577 2008-11-07 13:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbset.h
  * harbour/source/vm/set.c
    + added hb_setSetItem2() C function for SETs which needs two parameters
    + added support for HB_SET_DECIMALS and HB_SET_EPOCH in hb_setSetItem()
      Still 22 SETs are marked as TODO
    + added internal function hb_setSetFile() for HB_SET_ALTFILE,
      HB_SET_EXTRAFILE, HB_SET_PRINTFILE - function body marked as TODO.
      I'll implement it later.
2008-11-07 12:01:33 +00:00
Przemyslaw Czerpak
2866eda401 2008-11-07 00:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwmain.c
    * pacified unused variable warning

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    ! do not report #if expression errors in #if PP directives when they are
      in codedis activated by parent #if[def]/#elif/#else. It allows
      to compiler code like:
         #ifdef DEFINE
            #if DEFINE >= 0x100
               ...
            #endif
         #endif
    + added logical expression reduction to not report #if expression errors
      in code like:
         #ifdef DEFINE && DEFINE >= 0x100
            ...
         #endif
    ! fixed possible division by 0error in #if exporessions like #if 1 / 0
      Now #if expression compiler error is generated
    ! restored some bit operators in #if directives wrongly disabled with
      xHarbour stuff

  * harbour/source/vm/hashfunc.c
    % removed unnecessary hb_itemUnRef()
2008-11-06 23:36:17 +00:00
Viktor Szakats
1207ad9dbb 2008-11-06 09:07 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  * source/common/Makefile
  * source/rtl/Makefile
  - source/vm/fmhb.c
  + source/rtl/fmhb.c
  - source/vm/hbmem.c
  + source/common/hbmem.c
    * Moved hbfm (MEMORY() .prg function) from VM to RTL.
    * Moved hbmem (hb_xmem*() C functions) from VM to COMMON.

  - contrib/hbziparc/hbzipcpp.old
    - Removed.
2008-11-06 08:09:13 +00:00
Przemyslaw Czerpak
c1318e95cd 2008-11-05 03:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
  * harbour/source/vm/hashfunc.c
    * changed hb_hSort() to execute sorting when hash is marked as needed
      resorting instead of marking hash for resorting

  * harbour/source/vm/fm.c
    * formatting

  * harbour/contrib/hbdbgfx/dbgfxc.c
    ! fixed casting in ASCII build
    + added support for UNICODE builds

  * harbour/contrib/gtwvg/gtwvg.c
    * cover LWA_ALPHA usage by #if ( _WIN32_WINNT >= 0x0500 )
      to keep at least compile time compatibility with older systems
2008-11-05 02:01:15 +00:00
Teo Fonrouge
62b0ae14a0 2008-11-04 15:54 UTC-0600 Teo Fonrouge (teo/at/windtelsoft/dot/com)
* source/vm/fm.c
    * removed unneeded HB_FUNC( MEMORY ), now in fmhb.c
2008-11-04 22:26:46 +00:00
Viktor Szakats
388ee24995 2008-11-04 23:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  * source/vm/fm.c
  + source/vm/fmhb.c
  + source/vm/hbmem.c
    + Moved functions not depending on FM_STATISTICS setting, 
      to separate files.
    ; NOTE: MEMORY() function should IMO move to rtl, and 
            hb_xmem*() functions to common lib.
2008-11-04 22:05:57 +00:00
Przemyslaw Czerpak
bb49e3711a 2008-11-04 22:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hashfunc.c
  * harbour/source/vm/hashes.c
    + added support for binary key order
    % enable binary internal key order by default for new hash arrays
    + added .prg function to enable/disable/retrive binary order in hash
      items:
         hb_hSetBinary( <hValue>, <lOnOff> ) => <hValue>
         hb_hBinary( <hValue> [, <lBinary> ] ) => <lBinary>
    + added support for hash array resorting. It's activated automatically
      on 1-st key access/assign after changing binary or casematch hash
      array flag
    + added .prg function hb_hSort( <hValue> ) => <hValue> which marks
      hash array for sorting

  * harbour/source/rtl/itemseri.c
    % improved performance of hash array deserialization
      TODO: add support for hash array flags and hash default value
            serialization
2008-11-04 21:39:10 +00:00
Przemyslaw Czerpak
da3a714803 2008-11-04 17:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
  * harbour/source/vm/mainstd.c
    * force linking main() function in OpenWatcom OS2 builds

  * harbour/contrib/xhb/hbcrypt.c
    ! casting
2008-11-04 16:27:40 +00:00
Przemyslaw Czerpak
e2ef86bf9b 2008-11-04 09:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
    ! added missing 'extern' in hb_gt_dos_keyCodeTranslate() declaration

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    + added support for console input in OpenWatcom builds

  * harbour/source/vm/vmmt/Makefile
    ! removed mainpm.c

  * harbour/contrib/xhb/hbcrypt.c
    ! fixed casting
2008-11-04 08:39:45 +00:00
Przemyslaw Czerpak
de26bf0591 2008-11-04 02:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    * removed casting to void* thread startup function passed
      as _beginthread() parameter in OS2 builds. It should be checked if
      it does not breaks GCC builds.

  * harbour/source/rtl/seconds.c
    * use getpid() instead of _getpid() in non GCC OS2 builds
2008-11-04 01:07:55 +00:00
Przemyslaw Czerpak
0142b12622 2008-11-04 01:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    ! fixed typo

  * harbour/source/vm/Makefile
    * excluded mainpm.c from OS2 builds

  * harbour/source/rtl/hbinet.c
    * changed the #include order for OS2 OpenWatcom builds and added some
      cleanups - please test other builds.
2008-11-04 00:03:46 +00:00
Przemyslaw Czerpak
3fba5f0231 2008-11-03 14:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/source/vm/thread.c
    + added ULONG _hb_gettid( void ) to OS2 builds - thanks to Maurilio

  * harbour/source/rtl/hbinet.c
    * changed a little bit the order of including header files in OS2 builds
      (blink fix for OpenWatcom OS2 builds).
2008-11-03 13:08:04 +00:00
Przemyslaw Czerpak
b89516b58d 2008-11-03 00:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    + added temporary workaround for non GCC OS2 ST builds

  * harbour/source/rtl/hbmd5.c
    * casting cleanup
2008-11-02 23:55:26 +00:00
Przemyslaw Czerpak
5064f64927 2008-11-02 12:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynlibhb.c
    * forced casting in OS2 builds to eliminate problems with possible
      differences between compilers in 'char' type sign

  * harbour/source/rtl/filesys.c
    ! use _getcwd1() only in GCC OS2 builds - it's local GCC function
    * removed some header files from OS2 build - please test if it does
      not break GCC builds
2008-11-02 11:24:58 +00:00
Viktor Szakats
659c0030be 2008-11-02 07:39 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/version.c
    ! Added missing header from previous change.

  * source/vm/itemapi.c
    ! snprintf() -> hb_snprintf()
      This got incidentally reverted in previous commit by mistake.
2008-11-02 06:43:45 +00:00
Viktor Szakats
dddbc1c824 2008-11-02 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
    - Removed HB_VERSION mistakenly left there.

  * include/hbextern.ch
  * source/rtl/version.c
    + Added HB_OSISWINNT()
    + Added HB_OSISWINCE()
      [TOMERGE 1.0]

  * include/hbver.ch
  * source/rtl/version.c
    + Added:
      hb_version( HB_VERSION_MT )          -> <logical>
      hb_version( HB_VERSION_UNIX_COMPAT ) -> <logical>
      hb_version( HB_VERSION_PLATFORM )    -> <string> (same as ending of __PLATFORM__* macros)
      This makes these functions/macros deprecated:
      - HB_MTVM()
      - __PLATFORM__* (not for all possible situations)
    ; TOFIX: Cleanup REVISION/SVN term usage in source.
    ; TOFIX: Remove HB_VER_* predefined macro usage on .prg level.
    ; TODO: Removed some deprecated by hb_version() functions/macros.

  * include/hbapi.h
  * source/vm/itemapi.c
  * source/common/hbstr.c
  * source/common/expropt2.c
  * source/rtl/chrasc.c
  * source/rtl/hbi18n.c
    * Minor formatting.
2008-11-02 06:34:42 +00:00
Viktor Szakats
3ac4e62591 2008-11-01 08:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/rtl/Makefile
  + source/rtl/hbi18n.c
    + Added basic/low level i18n functions:
      __I18N_SAVE( cFileName | nHandle, aSortedTable [, cComment ] ) => lSuccess
      __I18N_LOAD( cFileName | nHandle ) => trs
      __I18N_GETTEXT( @cText, trs ) => NIL
    ; NOTE: These were originally based on Giancarlo Niccolai's work in xhb, 
            but everything was completely reworked, fixed, internals removed, 
            made portable, lighter, shorter and probably quicker. The used file 
            format is incompatible, slightly smaller and portable.
    ; NOTE: The internal format of 'trs' (loaded translation) is also 
            different. For minimal memory/speed overhead, I've choosen a one 
            dimensional array, as opposed to the original two dimensional 
            (like the input aSortedTable array).
    ; TODO: Higher level functions to handle selecting a default 
            language, loading files automatically, possibly caching 
            multiple loaded language translations in memory and providing 
            a high level HB_I18N_GETTEXT() function. We may also readd 
            a low-level function to create 'trs' from a memory object 
            instead of loading it from the disk. We should in any case make 
            the higher level the lightest and less app specific as possible.

  * include/hbver.ch
  * source/rtl/version.c
  * utils/hbtest/rt_str.prg
  * ChangeLog
    ! Fixed returning bit width.
    * Reworked hb_version() parameter values as follows:
      (also fixed some differences between docs here in the 
      previous entry and actual code)
      HB_VERSION_HARBOUR        (was: HB_V_HARBOUR        )
      HB_VERSION_COMPILER       (was: HB_V_COMPILER       )
      HB_VERSION_MAJOR          (was: HB_V_MAJOR          )
      HB_VERSION_MINOR          (was: HB_V_MINOR          )
      HB_VERSION_MICRO          (was: HB_V_REV            )
      HB_VERSION_STATUS         (was: HB_V_STATUS         )
      HB_VERSION_REVISION       (was: HB_V_COUNT          )
      HB_VERSION_BLD_DATE_STR   (was: HB_V_DATE_TIME      )
      HB_VERSION_BLD_DATE       (was: HB_V_DATE           )
      HB_VERSION_BLD_TIME       (was: HB_V_TIME           )
      HB_VERSION_PCODE_VER      (was: HB_V_PCODE          )
      HB_VERSION_PCODE_VER_STR  (was: HB_V_PCODE_STR      )
      HB_VERSION_CHANGELOG_LAST (was: HB_V_CHANGELOG_LAST )
      HB_VERSION_CHANGELOG_REV  (was: HB_V_CHANGELOG_REV  )
      HB_VERSION_FLAG_PRG       (was: HB_V_FLAG_HARBOUR   )
      HB_VERSION_FLAG_C         (was: HB_V_FLAG_C         )
      HB_VERSION_FLAG_LINKER    (was: HB_V_FLAG_LINKER    )
      HB_VERSION_BITWIDTH       (was: HB_V_BITWIDTH       )
      HB_VERSION_ENDIANNESS     (was: HB_V_ENDIANNESS     )
      This function makes deprecated following functions:
      - HB_COMPILER() => hb_version( HB_VERSION_COMPILER )
      - HB_PCODEVER() => hb_version( HB_VERSION_PCODE_VER_STR )
      - HB_BUILDDATE() => hb_version( HB_VERSION_BLD_DATE_STR )
      and macros:
      - __ARCH16BIT__
      - __ARCH32BIT__
      - __ARCH64BIT__
      - __LITTLE_ENDIAN__
      - __BIG_ENDIAN__
      - __PDP_ENDIAN__
      - HB_VER_SVNID
      - HB_VER_CHLID
      - HB_VER_LENTRY 
      - HB_VER_C_USR
      - HB_VER_L_USR
      - HB_VER_PRG_USR
    ; TOFIX: Some term anomalies regarding 'REVISION'.

  * source/vm/runner.c
    * Minor formatting and added "s_" prefix to static var.
2008-11-01 08:28:42 +00:00
Przemyslaw Czerpak
ecc87c1bf3 2008-10-31 13:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynlibhb.c
  * harbour/source/common/hbgete.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbgf/hbgfos2/os2pm.c
    * cleanup casting in OS2 builds (use PCSZ/PSZ)
2008-10-31 12:53:52 +00:00
Viktor Szakats
3876864996 2008-10-31 02:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/dlmalloc.c
    ! Fixed minor MinGW warning. This fix also exists 
      as part of the next dlmalloc version (2.8.4b).
2008-10-31 01:14:51 +00:00
Przemyslaw Czerpak
6822b74b3d 2008-10-30 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvmpub.h
    + added HB_VM_ISFUNC(), HB_VM_FUNCUNREF() and HB_VM_EXECUTE()
      macros to operate on HB_SYMB structure

  * harbour/source/vm/hvm.c
  * harbour/source/vm/classes.c
     * use HB_VM_ISFUNC()/HB_VM_FUNCUNREF()/HB_VM_EXECUTE() macros
       for executing function inside HB_SYMB structure to avoid possible
       synchronization problems during modifications
2008-10-30 14:03:16 +00:00
Przemyslaw Czerpak
e9657ea9d8 2008-10-28 20:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    + added hb_stackReleaseTSD() function - this function can be called
      only in HVM cleanup state when all threads except the main one are
      released

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * make RDDINFO settings in BDF* based RDDs thread local

  * harbour/include/hbclass.ch
    * minor modification
2008-10-28 19:08:28 +00:00
Przemyslaw Czerpak
9918ec3fc5 2008-10-28 17:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynlibhb.c
    ! added #define INCL_DOSMODULEMGR for OS2 builds
2008-10-28 16:56:13 +00:00
Przemyslaw Czerpak
9af43b48eb 2008-10-28 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! added missing HB_STACK_PRELOAD
2008-10-28 09:43:32 +00:00
Przemyslaw Czerpak
ecddf89923 2008-10-28 10:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/compiler/gencc.c
    + added finished by mistake support for hidden strings in -gc3 mode
2008-10-28 09:24:37 +00:00
Viktor Szakats
1d64164476 2008-10-28 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/vm/cmdarg.c
    + Added HB_CMDLINE() .prg level function to return 
      the full command line. Currently it does reassemble 
      it from hb_argc/hb_argv.

  * contrib/rddsql/mysqldd.c
    ! Fixed MSVC casting errors in C++ mode.

  * include/hbwmain.c
  * source/vm/cmdarg.c
    * Moved argv[ 0 ] generation on Windows platform, so 
      that it now gets properly filled with the full 
      executable file path for console mode (GTWIN) 
      apps in all situations (f.e. when run from a 
      batch file using '%~n1.exe' macro).

  * source/rtl/hbinet.c
    ! Fixed to use safe strerror() (named strerror_s()) 
      under MSVS 2005 and upper.
      Please test.

  * source/hbzlib/gzio.c
    + Added _CRT_SECURE_NO_DEPRECATE locally to suppress 
      various MSVC unsafe CRT API usage warnings. Maybe it'd 
      be better to fix these by using Harbour APIs.

  * utils/hbdoc/gentrf.prg
    ! Fixed missing "common.ch"
2008-10-28 00:07:16 +00:00
Viktor Szakats
c4636942ec 2008-10-27 21:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/Makefile
  * contrib/make_vc_all.bat
  * contrib/make_b32_all.bat
  * contrib/make_gcc_all.sh
    + Added rddsql to default builds.
      Please test.

  * contrib/hbdbgfx/dbgfxc.c
    * Added TODO. (multiplatform support in one the functions)

  * include/hbsetup.h
  * include/hbexprb.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/color.c
  * contrib/hbct/dattime2.c
  * contrib/xhb/hboutdbg.c
  * contrib/hbtpathy/tpwin32.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbfbird/firebird.c
  * contrib/hbziparc/hbzipcpp.old
  * contrib/hbnf/getver.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/gauge.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/ads1.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbmisc/spd.c
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_prt.c
  * contrib/examples/pp/hbppcore.c
  * contrib/examples/pp/hbppcomp.c
  * source/pp/pplib.c
  * source/pp/ppcore.c
  * source/pp/hbpp.c
  * source/vm/estack.c
  * source/vm/debug.c
  * source/vm/itemapi.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/classes.c
  * source/main/harbour.c
  * source/common/hbver.c
  * source/common/hbverdsp.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/gtxwc/gtxwc.c
  * source/rtl/hbgtcore.c
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/errorint.c
  * source/rtl/gtsln/gtsln.c
  * source/rtl/gttrm/gttrm.c
  * source/rtl/gtpca/gtpca.c
  * source/rtl/fkmax.c
  * source/rtl/langapi.c
  * source/rtl/hbffind.c
  * source/rdd/workarea.c
  * source/rdd/sdf1.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/wafunc.c
  * source/compiler/hbmain.c
  * source/compiler/cmdcheck.c
  * source/compiler/hbpcode.c
  * source/compiler/genhrb.c
  * source/compiler/gencobj.c
  * source/compiler/genobj32.c
  * source/compiler/genc.c
  * source/compiler/hbusage.c
  * source/compiler/hbfunchk.c
  * source/compiler/hbgenerr.c
  * utils/hbmake/hbmgauge.c
    * Changed snprintf() calls to hb_snprintf().
    ; TODO: Finish the mappings in headers.

  * tests/wvtext.prg
  * include/inkey.ch
  * source/rtl/gtwvt/gtwvt.c
    * Changed K_HB_RESIZE to HB_K_RESIZE. The reason is 
      that we already got a HB_K_MULTICODE code (few lines 
      below, I didn't know about it before), and it's better 
      to keep consistency with that.
2008-10-27 20:55:24 +00:00
Viktor Szakats
e0320788be 2008-10-27 18:38 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/pp/ppcore.c
    - Removed duplicate TEXTHIDDEN #pragma implementation.

  * source/vm/arrayshb.c
    * Reset defaults of last parameters of hb_AINS()/hb_ADEL()
2008-10-27 17:38:29 +00:00
Viktor Szakats
79708d30b0 2008-10-26 22:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/common/hbfopen.c
    * Changed hb_fopen() to use fopen_s(), secure version of 
      fopen() for MSVS 2005 and upper.

  * source/common/hbstr.c
    + Added hb_snprintf() Harbour wrapper for snprintf() which 
      terminates the buffer with a '\0' char for CRTLs that 
      need this (like MSVC).
      MSVC _snprintf() doesn't do so.
    * hb_snprintf() used _snprintf_s(), secure version of 
      _snprintf() for MSVS 2005 and upper.
    ; TOFIX: There is still one strcpy() marked as non-secure 
             in debug lib. Could someone please take a look 
             at it and replace it with hb_strncpy() or something 
             else secure? The code is cryptic and as someone 
             not using the debugger, I didn't dare to touch it, 
             and this is the only one such call left.
    ; TODO: Change all snprintf() calls to hb_snprintf().
            When that happens, Harbour will no more use anything 
            depicted as "non-secure" by MSVS 2005/2008.
    ; NOTE: This function may need tweaking, pls review and 
            fix if/where needed.

  * source/vm/dlmalloc.c
    ! Fixed MSVC C++ mode compile error. This fix also exists 
      as part of the next dlmalloc version (2.8.4b).

2008-10-26 07:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
  * contrib/hbdbgfx/dbgfx.prg
    * Minor cleanup.
 
  * contrib/hbdbgfx/dbgfxc.c
    ! Fixed GPF when non-string parameter passed to 
      hb_outdebug().
2008-10-26 21:43:34 +00:00
Viktor Szakats
704090a093 2008-10-24 13:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/arrayshb.c
    * Changed the default for the last logical parameter of 
      HB_AINS()/HB_ADEL() to be .T.
      This way there is no need to pass this parameter if someone 
      wants to actually use the extended nature of these functions.
      Passing a .F. will result in equivalent functionality to 
      AINS()/ADEL(). Essentially the last parameter is just there 
      for compatibility.
2008-10-24 11:58:56 +00:00
Przemyslaw Czerpak
1ad4e9c53a 2008-10-24 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    * added hack for problems with some XLIB versions in heavy stress
      MT tests

  * harbour/include/hbapigt.h
  * harbour/source/vm/thread.c
    * added parameter to hb_gtAlloc() C function

  * harbour/include/hbapigt.h
  * harbour/source/rtl/hbgtcore.c
    + added hb_gtCreate() and hb_gtSwap() C functions
    + added new .prg functions:
         HB_GTCREATE( <cGtName> ) -> <pGT>
         HB_GTSELECT( <pGT> ) -> <pPrevGT>
      Using this functions is possible to create many console window
      if GT supports such possibilities (f.e. GTXWC or GTWVT) even in
      single thread programs and switch between them.

  * harbour/source/rtl/box.c
    ! fixed one of recent DISPBOX() modifications - it should use:
      hb_gtBoxEx() instead of hb_gtDrawBox() to set cursor position.

  + harbour/tests/gtwin.prg
    + added demonstration/test code for using more then one console window
      also in single thread programs.
2008-10-24 10:00:30 +00:00
Viktor Szakats
e93b5aa865 2008-10-24 10:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/arrayshb.c
    % Removed unnecessary pcount() calls.
2008-10-24 08:48:51 +00:00
Przemyslaw Czerpak
63cccbddfa 2008-10-22 19:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    ! fixed memory allocation in HB_THREADWAIT() when more then 16
      threads were specified
2008-10-22 17:13:27 +00:00
Przemyslaw Czerpak
520a0a0206 2008-10-22 05:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbthread.h
  * harbour/include/hbapigt.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/thread.c
  * harbour/source/rtl/hbgtcore.c
    + added support for optional allocating independent console window by
      each thread. By default new thread inherits console Window from
      parent thread. But each thread can allocate its own console window
      by calling hb_gtReload( <cGtName> ) function, f.e. by:
         hb_gtReload( hb_gtVersion() )
      If GT driver supports such functionality then new it will allocate
      new console windows.
      Each console window has reference counter which is increased when
      new thread starts and decreased when hb_gtReload() is executed or
      thread terminates. When counter reach zero give console window is
      destroyed.

  * harbour/source/rtl/gtwvt/gtwvt.c
    ! use SendNotifyMessage() instead of SendMessage() to not block
      threads which inherited GT from parent thread. Why non of MS-Win
      users reported this problem?
    + added reference counter to window class for multi GT support

  + harbour/tests/mt/mttest10.prg
    + added demonstration/test code for using independent console window
      in different threads. It needs GT driver which supports such
      functionality, f.e GTXWC in *nixes or GTWVT in MS-Windows

  * harbour/tests/mt/mttest09.prg
    ! fixed typo in comment
2008-10-22 03:03:58 +00:00
Viktor Szakats
ad8389d113 2008-10-21 08:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
+ contrib/rddsql
  + contrib/rddsql/common.mak
  + contrib/rddsql/tests
  + contrib/rddsql/tests/test1.prg
  + contrib/rddsql/tests/bld_b32.bat
  + contrib/rddsql/tests/bld_vc.bat
  + contrib/rddsql/Makefile
  + contrib/rddsql/make_b32.bat
  + contrib/rddsql/make_vc.bat
  + contrib/rddsql/make_gcc.sh
  + contrib/rddsql/mysqldd.c
  + contrib/rddsql/sqlbase.c
  + contrib/rddsql/sqlmix.c
  + contrib/rddsql/hbsqldd.h
    + Added SQL RDD sent to the list by Mindaugas.
    * Changed strcpy(), unused vars, startup code, 
      added make files, fixed all MSVS/BCC warnings, 
      other minor cleanups.
    * Changed 'BYTE val[]' to 'BYTE * val' in struct decl.
    ; TOFIX: It doesn't compile on MSVC due to this error:
             .\mysqldd.c(65) : fatal error C1017: invalid integer constant expression

  * ChangeLog
    + Marked one change as TOMERGE.

  * contrib/hbdbgfx/dbgfxc.c
    * Minor cleanup.

  * source/vm/harbinit.prg
    * Minor.

  * source/rtl/xhelp.c
    ! Typo in comment.

  * source/rtl/valtoexp.prg
  * source/rtl/alert.prg
    * {|| ... } -> {||...} for consistency along Harbour.
2008-10-21 06:43:47 +00:00
Przemyslaw Czerpak
3ed8136c80 2008-10-15 17:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/debug/debugger.prg
    * moved debugRequest flag and debugger internal structure
      pointer to HVM stack
    * allocate debugger internal structure dynamically in thread
      thread local area when PCODE with debug information is executed
    * changed STATIC s_oDebugger to THREAD STATIC
    * send HB_DBG_VMQUIT after each thread termination when
      debugger is activated
      Now debugger can be used in MT programs and each thread can be
      debugged separately (each has its own debuger). Please only
      remember that thread sharing console window can overwrite other
      threads debugger screen. There is also one limitation which I'll
      try to remove later: only main thread debugger keeps information
      about file wide STATIC names and line numbers with possible break
      point places. This data should be shared between debuggers.
2008-10-15 15:51:02 +00:00
Przemyslaw Czerpak
11fe9fff36 2008-10-15 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/estack.c
    * disabled all debugger related bindings and variables when
      HB_NO_DEBUG macro is set
    % moved s_fDebuging to HVM function stack frame to eliminate
      saving/restoring this variable in each function/message call
      Note: if you think it's good to block linking .prg code compiled
            with -b (debugger support) with HVM compiled with HB_NO_DEBUG
            then it's enough to disable whole hb_dbg_SetEntry() function
            in hvm.c when HB_NO_DEBUG macro is set.
2008-10-15 11:32:43 +00:00
Przemyslaw Czerpak
caadc6fa2e 2008-10-15 01:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! clear HVM stack return value before use in initialization code
2008-10-14 23:39:35 +00:00
Przemyslaw Czerpak
b0a88e24ff 2008-10-15 00:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
    - removed to unused functions

  * harbour/source/vm/thread.c
    - removed unnecessary casting
2008-10-14 22:32:03 +00:00
Przemyslaw Czerpak
d8af011440 2008-10-14 11:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/macro.c
    * added missing const attribute to hb_macroCompile() parameter
    + added new .prg function:
         hb_macroBlock( <cExpr> ) -> <bCode>
      which converts macro expression to codeblock. New codeblocks
      do not inherit hb_macroBlock() caller scope/attributes.
2008-10-14 09:51:37 +00:00
Przemyslaw Czerpak
15b31b81ae 2008-10-14 00:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynlibhb.c
    ! fixed HB_LIBFREE() return value - thanks to Enrico
2008-10-13 22:02:59 +00:00