Commit Graph

185 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
9ffccdcdf0 2009-12-21 15:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/Makefile
    * enable HB_HVM_ALL=yes in OpenWatcom C builds - it does not cause such
      huge compile time overheads as in C++ mode

  * harbour/src/vm/dynlibhb.c
    * generate TODO warning also in DOS builds when HB_LIBLOAD()/HB_LIBFREE()
      is unsupported

  * harbour/include/hbwince.h
    ! fixed recent modification
2009-12-21 14:46:41 +00:00
Przemyslaw Czerpak
f26d65e22a 2009-12-21 14:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwince.h
    + added hack for missing GetEnvironmentVariable?() declarations in
      POCC header files for WinCE.

  * harbour/src/common/hbwince.c
    * minor simplification

  * harbour/src/pp/pplib.c
    * workaround for MSVC6 errors
2009-12-21 13:38:40 +00:00
Przemyslaw Czerpak
bdfb6a9e93 2009-12-21 08:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
    * moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h

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

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

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

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

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

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

  * harbour/config/dyn.mk
    * added an option to create harbour dynamic libraries from static
      ones instead of .o|.obj files. It's necessary for DXE3GEN which
      internally calls LD which has some limited on maximum size of passed
      parameters.
      TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
2009-12-21 07:22:14 +00:00
Przemyslaw Czerpak
e7cb8c45a1 2009-12-20 22:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
  + harbour/include/hbtrace.ch
  * harbour/include/hbtrace.h
  * harbour/src/rtl/trace.c
  * harbour/src/common/hbtrace.c
    ! fixed hb_tracelevel() C function to change trace filter instead of
      last message level. It also fixed .prg function HB_TRACELEVEL().
    + added new C function:
         void hb_tracelog( int level, const char * file, int line,
                           const char * proc, const char * fmt, ... )
    + added new .prg functions:
         hb_traceLogLevel( <nNewLevel> ) -> <nPrevLevel>
         hb_traceLog( <xMsgItems,...> ) // generate message at
                                        // hb_traceLogLevel()
         hb_traceLogAt( <nLevel>, <msg,...> )
    + added support for HB_TRACE() messages in .prg code with the same
      functionality as in C code:
         HB_TRACE( <level>, <msg,...> )
      HB_TRACE() code if filtered at compile time by HB_TR_LEVEL_* macros
      i.e. -DHB_TR_LEVEL_INFO used as harbour compiler parameter
      and at runtime by HB_TR_LEVEL=<level> envvar (set HB_TR_LEVEL=DEBUG)
      or by hb_traceLevel( <nLevel> ) function (hb_traceLevel( HB_TR_DEBUG ))
      Default compile time and runtime trace level for C and .prg code
      is HB_TR_WARNING.
2009-12-20 21:12:54 +00:00
Viktor Szakats
60fbf7ba1d 2009-12-20 05:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dynlibhb.c
  * src/rtl/hbinet.c
  * src/compiler/hbcmplib.c
  * contrib/hbpgsql/postgres.c
    ! Suppressing MSVC C mode warnings by ( void * ) casting 
      in hb_xfree() calls.
2009-12-20 04:01:34 +00:00
Przemyslaw Czerpak
04c7d04111 2009-12-19 16:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    * added hb_threadOnceInit() to .prg function list

  * harbour/include/hbinit.h
    * use HB_STATIC_STARTUP as default initialization method of all
      C++ compilers
2009-12-19 15:53:07 +00:00
Viktor Szakats
5907e1d204 2009-12-19 13:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/sha2.c
    ! Added trick to make it compile with Pelles C 6.00.6.
      Without this trick Pelles C compiler exits with internal error.

  * doc/whatsnew.txt
    + Added NOTE about Pelles C 6.
2009-12-19 12:34:45 +00:00
Viktor Szakats
233edaf32f 2009-12-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/Makefile
  + src/codepage/cpel437.c
  - src/codepage/cpgr437.c
  * include/hbextcdp.ch
    * Renamed GR437 codepage to EL437. EL is the ISO language code for Greek.
2009-12-19 11:47:47 +00:00
Przemyslaw Czerpak
d92d3a6116 2009-12-19 11:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwin/gtwin.c
    ! applied Xavi's patch fixing CTRL+C error handler setting in newly
      allocated consoles
2009-12-19 10:22:38 +00:00
Viktor Szakats
28c5ea5d32 2009-12-18 12:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtxwc/gtxwc.c
    * Prefixed static vars with s_.
2009-12-18 11:55:16 +00:00
Przemyslaw Czerpak
5a20374203 2009-12-18 11:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    + accept "TEXT" selections is better forms cannot be found
    * removed hack not necessary after recent code cleanup
2009-12-18 10:21:06 +00:00
Przemyslaw Czerpak
ab6d1e7a9f 2009-12-18 04:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed yet another one memory leak
2009-12-18 03:08:30 +00:00
Przemyslaw Czerpak
e83b6c0f28 2009-12-18 03:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed memory leak caused by unreleased text property value
2009-12-18 02:58:48 +00:00
Przemyslaw Czerpak
550559695b 2009-12-18 03:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed holders for properties format 32 to be long - it's important
      for 64 bit platforms.
    ! removed unsupported in current code "COMPOUND_TEXT" target
    ! readded support for "TEXT" target
2009-12-18 02:02:21 +00:00
Viktor Szakats
c4ea4ea436 2009-12-17 22:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt_misc.prg
  * contrib/hbide/hbide.prg
    - Deleted hack which moved HBXBP specific functionality
      into the core of HBQT.
      I had to restore QT_PTROFXBP() macros inside hbide.
      QT_PTROFXBP() has not much to do with QT_PTROF() as the
      former serves to access oWidget member of passed class.
      I see no need to move such logic into HBQT core code.
      I restored QT_PTROF() also, but it's redefined as a dummy
      in hbide.prg. I don't understand now why QT_PTROF() works
      as dummy in hbide, but it doesn't when used as dummy in
      HBXBP.
      All in all, this means the .prg level :pPtr trick is still 
      needed in some places, while it's not needed in some others.
    ; TOFIX: HBQT has no pointer checking at all before accessing
             C++ level objects, which means the simplest .prg level
             error is instantly resulting in a GPF. All hb_par_*()
             results must be checked for NULL before accessing them,
             or better yet, and RTE should be generated right from
             the hb_par_*() function.

  * src/vm/classes.c
    * Minor formatting.
2009-12-17 21:22:26 +00:00
Przemyslaw Czerpak
0b59fa2b49 2009-12-17 12:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    + added hack for accessing selections marked by FireFox which does not
      inform about UTF8_STRING target though it supports it
2009-12-17 11:46:44 +00:00
Przemyslaw Czerpak
5ac744025d 2009-12-17 11:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! added protection against putting K_RESIZE into keyboard queue
      if XServer generates ConfigureNotify event but window size is not
      changed
    ! clear own selections on application exit - looks that some WMs have
      problems when selection owner does not response and can even crash.
      Please remember that some WMs periodically (i.e. once per second)
      create copy of existing selections to his own structures so it's
      later available even if selection owner terminates. This is VM
      behavior which is not controlled by Harbour GTXWC code so selection
      set by Harbour application is available after its termination only
      if such Window Manager is used and it has enough time to make
      selection copy.
    ! use hb_cdpFindExt() instead of hb_cdpFind() to find UTF8 CP
      It fixes national character translations in selections (clipboard)
      broken during recent modifications for new CDP API.
2009-12-17 10:54:58 +00:00
Przemyslaw Czerpak
29ffa24c0f 2009-12-17 03:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed timeout checking in function taking text from clipboard.
      Due to typo it was waiting for XServer answer for 3 milliseconds
      instead of 3 seconds so sometimes it was too small even in local
      usage (i.e. when clipboard was accessed 1-st time by application
      and some internal XLib structures had to be initialized) and
      probably using remote XServers it was able to retrieve only the
      1-st type of selection (if any).
2009-12-17 02:45:11 +00:00
Przemyslaw Czerpak
b258738f10 2009-12-16 09:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbdate.c
    * casting for some more pedantic C/C++ compilers

  * harbour/include/hbinit.h
    * allow to force static C++ initialization as startup code in
      GCC and SunPRO builds by HB_STATIC_STARTUP macro
2009-12-16 08:59:41 +00:00
Viktor Szakats
036644d8be 2009-12-16 01:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/rddsql/sddmy/mysqldd.c
    ! Fixed warning reported by linux/watcom.

  * src/rtl/gtwin/gtwin.c
    * Minor formatting.
2009-12-16 00:54:21 +00:00
Przemyslaw Czerpak
90a125c300 2009-12-14 17:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbcrc.c
    ! fixed hb_crcct() to work with polynomials smaller then 8 bit,
      i.e. parity bit: x^1+1 => 3
    % small simplification in hb_crc() function
2009-12-14 16:25:52 +00:00
Viktor Szakats
b057507e3c 2009-12-13 22:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbmain.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbcomp.c
  * src/compiler/hbusage.c
  * include/hbcompdf.h
    + Added support for -i- and -i+ options. They will disable/enable 
      handling of INCLUDE envvar.

  * config/rules.mk
    + Added -i- Harbour compiler switch to avoid any interference 
      with user set INCLUDE envvars.
2009-12-13 21:48:02 +00:00
Przemyslaw Czerpak
4e62cf97fe 2009-12-12 23:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
  * harbour/include/hbdefs.h
  * harbour/include/hbthread.h
  * harbour/src/common/hbver.c
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
  * harbour/config/linux/gcc.mk
  + harbour/config/linux/open64.mk
    + added support for Open64 C/C++ compiler in Linux builds

  * harbour/src/common/hbver.c
    * removed unnecessary casting compiler version number parameters
      to 'short'
    * extended the size of szBuf buffer as requested by Tamas
2009-12-12 22:31:11 +00:00
Przemyslaw Czerpak
4148f3b01a 2009-12-12 18:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/vmmt/Makefile
    ! added missing strapi.c for some compilers which do not use hvmall.c
2009-12-12 17:42:26 +00:00
Viktor Szakats
880ef34931 2009-12-12 16:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    * Using HB_SIZEOFARRAY().

  * include/hbapi.h
    * Typo in comment.

  * ChangeLog
    + Added missing item to prev.

  * contrib/hbwin/tests/testmapi.prg
    ! Fixed missing SVN props.
    ! Added missing SVN ID.
    * Formatting.
    ; TOFIX: This example expects arrays and logical value from command line, 
             so it won't work.
2009-12-12 15:48:11 +00:00
Przemyslaw Czerpak
1afd3ffcb6 2009-12-12 13:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwinuni.h
    + added new macro HB_ITEMGETSTR()

  * harbour/src/rtl/gtwin/gtwin.c
    * modified to use new UNICODE API instead of HB_TCHAR_*()

  * harbour/contrib/hbwin/win_misc.c
    * rewritten WIN_GETCOMMANDLINEPARAM()
      New version does not use old HB_TCHAR_*() API and respect multiple
      quoting by "" (i.e. .\"myapp"li"cation".exe)

      TOFIX: WIN_ANSITOWIDE() and WIN_WIDETOANSI() are wrong and have
             to be fixed. Please remember that number of character
             after conversion to/from UNICODE can be different then
             original number of chars, i.e. multibyte characters
             can be replaced by single Unicode character or one Unicode
             character may use few bytes representation.
2009-12-12 12:52:56 +00:00
Viktor Szakats
ec1d1c5000 2009-12-12 12:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dynlibhb.c
    + Using new UNICODE conversion macros in HB_LIBLOAD().

  * INSTALL
    * Minor.

  * contrib/xhb/hbsyslog.c
    + HB_SYSLOGOPEN(): Added UNICODE support. (this bug was hidden
      by explicit cast)
    * Using HB_TRUE/HB_FALSE.
    + Using new UNICODE conversion macros in HB_SYSLOGMESSAGE().
      (functionally not tested)
    * Formatting.

  * contrib/xhb/hblogdef.ch
    + Added comment that the header is used by C code.

  * contrib/hbqt/detect.mk
    ! Fixed static build after last commit.

  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/win_dll.c
    * Variable renamed.

  * contrib/hbwin/win_prn2.c
    % Minor optimization.

  * contrib/hbwin/win_osc.c
    + Using new UNICODE conversion macros in WIN_OSVERSIONINFO().

  ; NOTE: Remaining "problem area" is HB_TCHAR_* usage in low level 
          code, when conversion needs to be done from/to C buffer 
          instead of Harbour parameter/return value. The problem 
          is that I don't have a pattern for that.
2009-12-12 11:33:08 +00:00
Viktor Szakats
79186f75a5 2009-12-12 02:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/strapi.c
    % Minor optimization (using cdp variable instead of repeated hb_vmCDP() calls.)

  * include/hbwinuni.h
    + Added HB_ITEMPUTSTR[LEN]() macros.
    + Added HB_STRUNSHARE() macro.
    ! Fixed typos in HB_ARRAYSETSTRLEN() macro values.

  * contrib/hbwin/win_prn2.c
    + Using new HB_ITEMPUTSTR() macro instead of HB_TCHAR*().

  * contrib/hbwin/win_misc.c
    ! WIN_RUNDETACHED(): Fixed to guarantee writable buffer in second 
      parameter of CreateProcess(). I've choosen to always pass a writable
      buffer, although MS requires this only for UNICODE mode.

  * contrib/hbwin/wapi_commctrl.c
    + Using new UNICODE parameter passing macros instead of HB_TCHAR*() ones.
    ! Fixed return values of WAPI_IMAGELIST_GETIMAGEINFO() to be empty
      string instead of unset (NIL) in case of error.

  + contrib/hbqt/filelist.mk
    ! Missed from previous commit.

  * contrib/hbwin/win_regc.c
    * Removed trailing spaces (realized I used a temp instance
      of 64-bit Far Manager for the last couple of days)
      (there will be more)
2009-12-12 02:07:01 +00:00
Przemyslaw Czerpak
51a5487cb8 2009-12-12 01:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
  * harbour/include/hbapistr.h
    + added new functions:
         hb_itemPutStr(), hb_itemPutStrUTF8(), hb_itemPutStrU16(),
         hb_arrayGetStr(), hb_arrayGetStrUTF8(), hb_arrayGetStrU16(),
         hb_arraySetStrLen(), hb_arraySetStrLenUTF8(), hb_arraySetStrLenU16(),
         hb_arraySetStr(), hb_arraySetStrUTF8(), hb_arraySetStrU16(),

  * harbour/include/hbwinuni.h
    * removed unnecessary and danger casting in UNICODE version of
      HB_RETSTR(), HB_RETSTRLEN(), HB_STORSTR() and HB_STORSTRLEN() macros
    * modify HB_ARRAYSETSTR() and HB_ARRAYSETSTRLEN() macros to use new
      STR API functions

  * harbour/external/Makefile
    * modified the order of compiled libraries for better performance in
      parallel compilation (-j<N>)
2009-12-12 00:43:01 +00:00
Przemyslaw Czerpak
cb65540d4e 2009-12-11 20:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
  * harbour/include/hbapistr.h
    + added new functions to operate on Harbour wide character strings:
         ULONG hb_wstrlen( const HB_WCHAR * szText );
         HB_WCHAR * hb_wstrdup( const HB_WCHAR * szText );
         HB_WCHAR * hb_wstrndup( const HB_WCHAR * szText, ULONG ulLen );
         int hb_wstrcmp( const HB_WCHAR * s1, const HB_WCHAR * s2 );
         int hb_wstrncmp( const HB_WCHAR * s1,
                          const HB_WCHAR * s2, ULONG count );
    + added new functions to convert NULL pointers to empty strings:
         const char * hb_strnull( const char * str );
         const HB_WCHAR * hb_wstrnull( const HB_WCHAR * str );
    + added new functions to convert string buffer returned by Harbour
      string functions to writable state:
         char * hb_strunshare( void ** phStr,
                               const char * pStr, ULONG ulLen );
         HB_WCHAR * hb_wstrunshare( void ** phStr,
                                    const HB_WCHAR * pStr, ULONG ulLen );
  * harbour/include/hbwinuni.h
    ! fixed HB_PARSTRDEF() to return empty string instead of NULL
    ! fixed HB_ARRAYSETSTR() to accept NULL as string parameter
2009-12-11 19:42:40 +00:00
Przemyslaw Czerpak
39b0d7abef 2009-12-11 04:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    ! added missing HB_STACK_TLS_PRELOAD
2009-12-11 03:37:42 +00:00
Przemyslaw Czerpak
12dc010686 2009-12-11 04:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapiitm.h
  * harbour/src/vm/classes.c
    * added new internal HVM macro

  * harbour/src/vm/thread.c
    + added new function
         hb_threadOnceInit( @<item> <value> ) -> <lInitialized>
      It assigns <value> to <item> if <item> is NIL in MT safe way so it's
      assigned only once. It's reduced but faster version of hb_threadOnce()

  * harbour/include/hbapicdp.h
    * define HB_WCHAR as wchar_t on Windows platforms for compilers which
      refuse to make conversions between types using the same base type.

  * harbour/contrib/hbwin/win_dll.c
    * code cleanup
2009-12-11 03:13:24 +00:00
Viktor Szakats
4861805eda 2009-12-10 11:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    * Minor cleanup.

  * contrib/hbqt/generator/hbqtgen.prg
    ! Fixed typo in TRACE text.

  * contrib/hbqt/qtgui/*
  * contrib/hbqt/qtcore/*
  * contrib/hbqt/qtnetwork/*
    * Regenerated.
2009-12-10 10:33:15 +00:00
Przemyslaw Czerpak
f674969aba 2009-12-10 10:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/xhb/fparse.c
    * pacified BCC warning

  * harbour/src/rtl/base64c.c
  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/hbproces.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
  * harbour/contrib/xhb/freadlin.c
  * harbour/contrib/xhb/txtline.c
  * harbour/contrib/hbbtree/hb_btree.c
  * harbour/contrib/rddsql/sqlbase.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
    * pacified OpenWatcom C warnings

  * harbour/include/hbatomic.h
    % rewritten OpenWatcom atomic ASM macros.
      Now they precisely informs compiler about used and modified
      registered and also force passing arguments in strictly defined
      what simplify ASM code.
2009-12-10 09:42:34 +00:00
Viktor Szakats
1102852cdd 2009-12-09 19:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbtrace.c
    + Added support for HB_TR_WINOUT envvar (on Windows platform-only)
      to enable pushing trace output via OutputDebugString() calls.
      Use this before running an app:
         set HB_TR_WINOUT=yes
         (anything non-empty would work, not just 'yes')

  * src/rtl/trace.c
    + HB_TRACESTRING(): Added support to accept multiple parameters,
      it also handles non-string parameters, just like OUTSTD()/QOUT().
    % Minor optimization to HB_TRACE() call.

  ; NOTE: Above two changes make it unnecessary to use custom made
          debug/trace solutions inside each contrib, and it also makes
          it unnecessary to use xhb lib for other proprietary trace solutions.

  * src/rtl/console.c
    * Variable scope optimization.

  * contrib/hbgd/gdwrp.c
    * Minor formatting.
2009-12-09 18:16:36 +00:00
Przemyslaw Czerpak
094aea1ff3 2009-12-09 15:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapilng.h
  + harbour/include/hbmsgreg.h
    + added common for all Harbour lang modules (msg*.c) header file
      with initialization code

  * harbour/src/lang/msgbe866.c
  * harbour/src/lang/msgbewin.c
  * harbour/src/lang/msgbg866.c
  * harbour/src/lang/msgbgiso.c
  * harbour/src/lang/msgbgmik.c
  * harbour/src/lang/msgbgwin.c
  * harbour/src/lang/msgca.c
  * harbour/src/lang/msgcs852.c
  * harbour/src/lang/msgcsiso.c
  * harbour/src/lang/msgcskam.c
  * harbour/src/lang/msgcswin.c
  * harbour/src/lang/msgde.c
  * harbour/src/lang/msgdewin.c
  * harbour/src/lang/msgel.c
  * harbour/src/lang/msgelwin.c
  * harbour/src/lang/msgeo.c
  * harbour/src/lang/msges.c
  * harbour/src/lang/msgeswin.c
  * harbour/src/lang/msgeu.c
  * harbour/src/lang/msgfr.c
  * harbour/src/lang/msggl.c
  * harbour/src/lang/msghe862.c
  * harbour/src/lang/msghewin.c
  * harbour/src/lang/msghr437.c
  * harbour/src/lang/msghr852.c
  * harbour/src/lang/msghriso.c
  * harbour/src/lang/msghrwin.c
  * harbour/src/lang/msghu852.c
  * harbour/src/lang/msghucwi.c
  * harbour/src/lang/msghuiso.c
  * harbour/src/lang/msghuwin.c
  * harbour/src/lang/msgid.c
  * harbour/src/lang/msgis850.c
  * harbour/src/lang/msgit.c
  * harbour/src/lang/msgko.c
  * harbour/src/lang/msgltwin.c
  * harbour/src/lang/msgnl.c
  * harbour/src/lang/msgpl852.c
  * harbour/src/lang/msgpliso.c
  * harbour/src/lang/msgplmaz.c
  * harbour/src/lang/msgplwin.c
  * harbour/src/lang/msgpt.c
  * harbour/src/lang/msgptiso.c
  * harbour/src/lang/msgro.c
  * harbour/src/lang/msgru866.c
  * harbour/src/lang/msgrukoi.c
  * harbour/src/lang/msgruwin.c
  * harbour/src/lang/msgsk852.c
  * harbour/src/lang/msgskiso.c
  * harbour/src/lang/msgskkam.c
  * harbour/src/lang/msgskwin.c
  * harbour/src/lang/msgsl437.c
  * harbour/src/lang/msgsl852.c
  * harbour/src/lang/msgsliso.c
  * harbour/src/lang/msgslwin.c
  * harbour/src/lang/msgsr852.c
  * harbour/src/lang/msgsriso.c
  * harbour/src/lang/msgsrwin.c
  * harbour/src/lang/msg_tpl.c
  * harbour/src/lang/msgtr857.c
  * harbour/src/lang/msgtrwin.c
  * harbour/src/lang/msgua866.c
  * harbour/src/lang/msguados.c
  * harbour/src/lang/msguakoi.c
  * harbour/src/lang/msguawin.c
  * harbour/src/lang/msgzhb5.c
  * harbour/src/lang/msgzhgb.c
    * modified to use initialization code defined in common for all
      lang modules header file.

  * harbour/contrib/gtwvg/wvggui.c
  * harbour/contrib/hbqt/qtgui/QApplication.cpp
  * harbour/contrib/hbqt/qth/QApplication.qth
    * use default GT startup cvode (#include "hbgtreg.h")

  * harbour/include/hbinit.h
  + harbour/include/hbiniseg.h
    * replaced HB_MSC_STARTUP code with more universal HB_DATASEG_STARTUP
    * moved HB_DATASEG_STARTUP code to separate header file to reduce
      modifications in other files when this code has to be changed or
      extended
    + added support for startup code in OpenWatcom C builds. Now we can
      create OpenWatcom Harbour binaries without forcing C++ mode.
      I've tested Linux and Win32 builds and they works correctly.
      Probably similar solution can be used also for other C compilers
      which do not have native interface to define starup code.

  * harbour/src/compiler/genc.c
  * harbour/utils/hbmk2/hbmk2.prg
  * harbour/include/hbcdpreg.h
  * harbour/include/hbgtreg.h
  * harbour/src/rtl/hbregex.c
  * harbour/src/rdd/dbf1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/delim1.c
  * harbour/src/rdd/sdf1.c
  * harbour/src/pp/pplib3.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sqlbase.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/hbmemio/memio.c
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbbtree/hb_btree.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/hbwin/win_com.c
    * modified to use HB_DATASEG_STARTUP instead of HB_MSC_STARTUP
      Now HB_MSC_STARTUP is local macro used only in hbinit.h.
      Please make MSVC build tests.

  * harbour/contrib/hbmemio/memio.c
    ! declare s_fileFuncs structure as static
    * removed unnecessary code to directly register HB_MEMIO symbol.
      Mindaugas if you need it for some reasons then I can reactivate it
      but I would like to know why it's necessary for you.

  * harbour/src/vm/task.c
    ! added missing {}

  * harbour/src/vm/fm.c
    * locally disabled "unreachable code" warnings for dlmalloc.c
      compilation by OpenWatcom in pure C mode

  * harbour/src/rtl/hbzlibgz.c
    * minor code cleanup

  * harbour/src/rtl/filesys.c
    * pacified OS/2 warnings

  * harbour/contrib/hbcairo/core.c
    ! fixed casting for C++ builds

  * harbour/contrib/hbwin/wapi_winbase.c
    ! fixed casting

  * harbour/src/Makefile
    * changed the order of compiled libraries to improve little bit
      the speed in concurrent (-j<N>) builds
2009-12-09 14:33:48 +00:00
Viktor Szakats
f1c1883d01 2009-12-08 16:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    ! Fixed determining the patch level of MSVC compiler on 
      or above version 2005.
      Adapted fix from xhb / Andi Jahja.

  * contrib/hbqt/hbqt_slots.cpp
    * Little renaming.
2009-12-08 15:57:21 +00:00
Viktor Szakats
c895bed381 2009-12-08 11:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/macro/Makefile
  - src/macro/macro.l
  * src/compiler/Makefile
  - src/compiler/harbour.l
  - src/compiler/fixflex.c
  * INSTALL
  * config/c.mk
  * config/rules.mk
    * Deleted references to Flex and related files.
      Flex is not used since long. It couldn't generate MT safe lexer code.
2009-12-08 10:44:31 +00:00
Przemyslaw Czerpak
1429103ddd 2009-12-07 18:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/pp/ppcore.c
    * strip UTF-8 BOM signature from compiled .prg files

  * harbour/include/hbdefs.h
    + added HB_MACRONAME_JOIN() macro

  * harbour/include/hbinit.h
    ! fixed startup function declaration when HB_STRICT_ANSI_C macro is set

  * harbour/src/rdd/dbfcdx/dbfcdx1.c
    * modified to use unique names for startup functions

  * harbour/include/hbcdpreg.h
    * modified to use unique names in CP startup functions for non #pragma
      based initialization.

  * harbour/include/Makefile
  + harbour/include/hbgtreg.h
    + added default GT startup code in header file which can be
      included by GT drivers. This version uses unique function names
      for non #pragma based initialization.

  * harbour/src/rtl/gt_tpl/gt_tpl.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtgui/gtgui.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/gtqtc/gtqtc.cpp
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/hbct/ctwin.c
    * use #include "hbgtreg.h" for startup code
2009-12-07 17:42:41 +00:00
Viktor Szakats
70610ba63c 2009-12-07 03:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/wafunc.c
    ! Fix to prev.
2009-12-07 02:24:33 +00:00
Viktor Szakats
66792cd024 2009-12-07 02:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbwince.h
    + Added following macros to help transitioning to new method
      of CP conversion when interfacing with Windows API (both UNICODE
      and non-UNICODE):
         HB_PARSTR( n, h, len )
         HB_RETSTR( str )
         HB_RETSTRLEN( str, len )
         HB_STORSTR( str, n )
         HB_STORSTRLEN( str, len, n )
    ; The goal is to replace HB_TCHAR_*() macros and hb_osEncodeCP()
      call with above ones. This will allow to use any CPs (even UTF8)
      on the .prg level and transparently interface with Windows
      with proper CP translation.
      We will probably need a few more macros to store strings in
      array elements f.e., but this is enough for a start.

  * contrib/hbwin/wapi_shellapi.c
    + Experimental: WAPI_SHELLEXECUTE() converted to use above new
      macros. It results in much cleaner code.
      Minor incompatibility: 3rd parameter is now passed as-is, so
      if non-string is passed it gets passed to Windows as NULL,
      which isn't a valid input parameter.
    ; NOTE: Probably it will useful to have HB_PARSTRDEF() which also
            accepts a default value to be used when non-string
            parameter was passed. (to replace old hb_parcx() calls).
            Is it possible to add such function or any other ways to solve that?
    ; TOFIX: I'm getting this warning:
               warning: implicit declaration of function 'hb_setGetOSCP'
             and it's probably too late, but I couldn't find a way to
             include hbset.h without errors or with least side-effects.
             Przemek, could you help?

  * contrib/hbwin/win_prn1.c
    * Formatting.

  * src/rdd/dbcmd.c
  * src/rdd/wafunc.c
    + Moved recently implemented codepage defaulting logic (_SET_DBCODEPAGE)
      to lower lever functions.
      Please review me.

  * external/libpng/pngrio.c
  * external/libpng/pngerror.c
  * external/libpng/pngconf.h
  * external/libpng/pngwrite.c
  * external/libpng/pngset.c
  * external/libpng/pngpread.c
  * external/libpng/pngwtran.c
  * external/libpng/LICENSE
  * external/libpng/pngwio.c
  * external/libpng/pngrutil.c
  * external/libpng/pngwutil.c
  * external/libpng/pngread.c
  * external/libpng/pngmem.c
  * external/libpng/png.c
  * external/libpng/pngget.c
  * external/libpng/pnggccrd.c
  * external/libpng/png.h
  * external/libpng/pngrtran.c
  * external/libpng/pngtrans.c
    * Updated to 1.2.41 (from 1.2.40)
2009-12-07 02:17:37 +00:00
Viktor Szakats
97e5dce09c 2009-12-06 19:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/set.c
  * src/rdd/dbcmd.c
  * include/set.ch
  * include/hbset.h
    + Added support for SET( _SET_DBCODEPAGE ). This will set the
      default codepage for RDD operation. It affects following
      functions and everything which is based on them:
         DBUSEAREA()
         DBCREATE()
         HB_DBCREATETEMP()
         __DBOPENSDF()
      IOW every function which accepts current "dirty" Harbour
      extension <cCodePage>.
      This new SET() is useful if someone wants to use a different 
      than app codepage in tables, without modifying every above
      calls to pass the db CP as extra parameter (plus maintaining 
      this global setting in app code).
2009-12-06 19:01:01 +00:00
Viktor Szakats
047e8eb9e3 2009-12-06 18:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/dbcmd.c
    + Added short DBUSEAREA() parameter list doc in comment.

  * contrib/hbide/hbide.hbp
  - contrib/hbide/freadlin.c
  * contrib/hbide/idemisc.prg
    % Elminated HB_FREADLINE().
    % Highly optimized MEMOTOARRAY().
    % Using FOR EACH in PARSEWITHMETADATA(), APPLYMETADATA().
    ! -1 -> F_ERROR
    - Deleted #include "hbqt.ch". Not needed.
    * Minor formatting.
2009-12-06 17:48:12 +00:00
Viktor Szakats
141bb0f699 2009-12-05 13:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtos2/Makefile
  * config/os2/watcom.mk
    % Changed the way -s option is disabled for certain modules
      (currently gtos2).
      This method doesn't require new variable, although it's still 
      a hack.
2009-12-05 12:42:32 +00:00
Przemyslaw Czerpak
3c6be6883f 2009-12-05 13:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtos2/Makefile
  * harbour/config/os2/watcom.mk
    * disable -s in GTOS2 OpenWatcom builds using HB_CSTACK_CHECK variable.
      This is workaround for wrong code generated by OpenWatcom <= 1.8
      when -s switch is used for functions calling APIENTRY16 functions.
      Such code executed from non main thread causes GPF.
2009-12-05 12:21:39 +00:00
Viktor Szakats
22e65f082a 2009-12-05 04:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
  * src/compiler/hbusage.c
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbtest/hbtest.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbrun/hbrun.prg
    * Copyright year bumped to 2010.
2009-12-05 03:29:12 +00:00
Viktor Szakats
7f94680a86 2009-12-04 23:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbi18n2.prg
    ! HB_I18N_SAVEPOT(), __I18N_POTARRAYSAVE(): Changed to not 
      add double EOL at the end of the file.
2009-12-04 22:12:54 +00:00
Mindaugas Kavaliauskas
c7d2e8a0f4 2009-12-04 15:55 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/rdd/dbf1.c
    ! fixed variable length field setting after DBCREATE()
2009-12-04 13:57:10 +00:00
Przemyslaw Czerpak
18f7e28744 2009-12-04 00:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rddads/ads1.c
    * added support for dynamic descend flag switching by
         ordDescend( [<tag>], [<bag>], <lDescending> ) -> <lPrevSetting>
      It needs ADS 9.00 or higher and it's ignored in earlier ADS versions.
      Based on Brian Hayes modification in xHarbour ADS RDD.

  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/rddads/ads1.c
    * modified ordSkipUnique() to be compatible with CL53 - it means
      that the passed parameter has a little bit different meaning when
      table has active index and it hasn't.
      If no index is active (natural order) then passed parameter is number
      of records to skip just like in dbSkip() function otherwise it's only
      direction choice so negative value means backward skipping and
      zero or positive means forward skipping.
      We may decide to change this behavior anyhow please remember that
      it's not such clear what number of records to skip should mean during
      skipping with active order having repeated key values and with working
      filters which also can exclude some records. It's possible to create
      few algorithms giving different results for some conditions.
2009-12-03 23:24:14 +00:00
Przemyslaw Czerpak
343608dd9a 2009-12-02 15:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtos2/Makefile
    * added workaround for wrong code generated by OpenWatcom 1.8
      when -s switch is used for functions calling APIENTRY16 functions.
      Such code executed from non main thread causes GPF.
2009-12-02 14:50:55 +00:00