Commit Graph

10304 Commits

Author SHA1 Message Date
Francesco Saverio Giudice
72ffa7c225 2009-03-28 00:59 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/contrib/examples/uhttpd/uhttpd.prg
    + added #define FIXED_THREADS that disable (temporarly) dynamic threads
      support, until I will find a correct way to implement.
    * changed default GT in Linux from GTXWC to GTTRM
    + added Actions and Handlers support
      rewrote handlers part, now separated and similar to Apache
    * changed internal ScripAlias Hash name from Aliases to ScriptAliases
    + added Alias support
    + added PATH_INFO and PATH_TRANSLATED support
      this means that parts of urls longer than the real file url are passed to
      file as parameters. Actually valid for any file.
    * fixed CGIKill() to correct handle killing of not responding CGI apps
    * formatting and minor changes
    ; NOTE: not tested under Linux, more tests to do
    ; TOFIX: in case of error of cgi executables error output is missing,
             this I have to check better.
  * harbour/contrib/examples/uhttpd/uhttpd.ini
    * changed [ALIASES] section name to [SCRIPTALIASES]
    + added [ALIASES] correct section
  * harbour/contrib/examples/uhttpd/session.prg
    + added retrying in case of error in reading session files.
      to check it better
  ; NOTE: still work in progress.
    Any comments and suggestions are welcome
2009-03-28 00:00:43 +00:00
Viktor Szakats
142a03c102 2009-03-27 18:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* config/win/poccce.cf
  * config/win/pocc.cf
    * Warning level taken down to -w2.

  * contrib/hbsqlit3/Makefile
    - Disabled for pocc, as it chokes on the new version of
      sqlite3.h.

  * INSTALL
    * Minor update.

  * include/hbapifs.h
  * include/hbdbsort.h
  * include/hbsetup.h
  * contrib/hbct/files.c
  * contrib/hbct/disk.c
  * contrib/hbmzip/hbmzip.c
  * contrib/rddads/ads1.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/examples/pp/pp.c
  * contrib/examples/pp/hbppcore.c
  * source/pp/ppcore.c
  * source/pp/hbpp.c
  * source/vm/runner.c
  * source/vm/estack.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/fm.c
  * source/vm/proc.c
  * source/vm/extrap.c
  * source/vm/memvars.c
  * source/vm/set.c
  * source/main/harbour.c
  * source/common/hbfsapi.c
  * source/common/hbwince.c
  * source/rtl/spfiles.c
  * source/rtl/defpath.c
  * source/rtl/philes.c
  * source/rtl/fnsplit.c
  * source/rtl/fstemp.c
  * source/rtl/gtchrmap.c
  * source/rtl/errorint.c
  * source/rtl/filebuf.c
  * source/rtl/hbffind.c
  * source/rtl/filesys.c
  * source/rtl/file.c
  * source/rdd/dbfntx/dbfntx1.c
  * source/rdd/sdf1.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/hsx/hsx.c
  * source/rdd/dbffpt/dbffpt1.c
  * source/rdd/hbsix/sxsem.c
  * source/rdd/hbsix/sxfname.c
  * source/compiler/hbmain.c
  * source/compiler/genc.c
  * source/compiler/harbour.yyc
  * source/compiler/harbour.y
  * source/compiler/compi18n.c
  * source/compiler/genhrb.c
  * source/compiler/gencobj.c
  * source/compiler/genobj32.c
    * _POSIX_PATH_MAX + 1 -> HB_PATH_MAX
    * _POSIX_PATH_MAX -> HB_PATH_MAX - 1
      Please update your .c code to use new constant.
      Harbour initialization of the value is now HB_LEGACY_LEVEL2
      and will be removed in next version.
    ; Please review me.
2009-03-27 17:35:14 +00:00
Viktor Szakats
53c58168b4 2009-03-27 16:46 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* external/sqlite3/sqlite3.c
  * external/sqlite3/sqlite3.h
    * Updated to latest version.
2009-03-27 15:48:06 +00:00
Viktor Szakats
72bb7bff3b 2009-03-27 16:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* debian/dirs
    * Changed en -> en-EN.

  * external/sqlite3/Makefile
  * external/sqlite3/_sqlite3.c
    + Disabled warnings and forced C mode for sqlite3.
    - Deleted no longer needed stub.

  * include/hbsetup.h
    + Added HB_PATH_MAX.

  * source/compiler/genc.c
    * Minor modification to recent addition to make code
      more grep friendly.

  * config/win/msvc.cf
  * config/win/msvcce.cf
    + Added HB_BUILD_MODE=c and HB_BUILD_MODE=cpp support
      to force specific build mode.
      ATTENTION: Don't use this for normal Harbour code,
                 it's only meant for external libs hosted
                 inside Harbour source tree.

  * config/win/pocc.cf
  * config/win/poccce.cf
    + Added -w3 (default is -w2).

  * config/darwin/gcc.cf
  * config/hpux/gcc.cf
  * config/dos/owatcom.cf
  * config/dos/djgpp.cf
  * config/win/mingwce.cf
  * config/win/poccce.cf
  * config/win/icc.cf
  * config/win/cygwin.cf
  * config/win/msvc.cf
  * config/win/owatcom.cf
  * config/win/msvcce.cf
  * config/win/mingw.cf
  * config/win/pocc.cf
  * config/win/bcc.cf
  * config/linux/owatcom.cf
  * config/linux/gcc.cf
  * config/linux/icc.cf
  * config/os2/owatcom.cf
  * config/os2/gcc.cf
  * config/sunos/gcc.cf
  * config/bsd/gcc.cf
    + Added support for HB_BUILD_WARN=no to reset warning levels
      to compiler defaults.
      ATTENTION: Don't use this for normal Harbour code,
                 it's only meant for external libs hosted
                 inside Harbour source tree.
2009-03-27 15:40:18 +00:00
Viktor Szakats
ed9059b8f8 2009-03-27 15:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* external/sqlite3/Makefile
    * Don't build it for linux and darwin.

  * contrib/hbsqlit3/Makefile
    * Changed to plain standard external dependency search method.
    + Added searching in local sqlite3 copy for win and os2.
2009-03-27 14:36:28 +00:00
Viktor Szakats
cd295ba8c8 2009-03-27 15:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbodbc/odbc.c
    ! Fixed potential buffer overrun in SQLDRIVERCONNECT() in UNICODE mode.

  * utils/hbmk2/hbmk2.prg
    - Removed debug line left in.
2009-03-27 14:02:10 +00:00
Viktor Szakats
d107d113af 2009-03-27 14:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbodbc/odbc.c
    * BYTE -> char
    ! GetDesktopWindow() -> NULL

  * contrib/hbmsql/tmsql.prg
  * contrib/hbqt/tests/demoqt.prg
  * contrib/hbpgsql/postgres.c
    * Formatting.

  * contrib/examples/hbapollo/Makefile
    ! Changed root dir after recent move.
2009-03-27 13:36:27 +00:00
Przemyslaw Czerpak
5169794a3d 2009-03-27 14:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
    + added void hb_vmAtQuit( HB_INIT_FUNC pFunc, void * cargo );
      AtQuit functions are executed after deallocating all HVM items and
      disabling .prg destructors. They can make final cleanup at C level
      but should not reenter HVM.

  * harbour/contrib/hbole/oleinit.c
    * use hb_vmAtQuit() instead of hb_vmAtExit() - it resolves the problem
      with executing destructors to OLE objects after closing OLE connection.

  * harbour/contrib/hbole/olecore.c
    + added translation for VT_R4 and VT_CY values.
    ! fixed MT support by moving OLE error code to TSD
2009-03-27 12:56:15 +00:00
Viktor Szakats
56b242485e 2009-03-27 12:22 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbqt/tests/hbqt.hbp
    + Removed mingw32 lib not necessary.
    + Added gt=gtnul to suppress the console window.

  * utils/hbmk2/hbmk2.prg
    ! Fixed gtnul usage in one remaining place.
2009-03-27 11:23:07 +00:00
Viktor Szakats
af4c14d95c 2009-03-27 11:45 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* ChangeLog
    * One TOFIX marked as DONE.

  * contrib/hbmysql/tmysql.prg
    % Optimizations (using SWITCH)

  * contrib/hbqt/qth/QFont.qth
  * contrib/hbqt/qth/QPen.qth
  * contrib/hbqt/hbqt_qfont.cpp
    ! Fixed HB_IS*() macro usage.

  * contrib/hbqt/tests/hbqt.hbp
    + Added C++ and runtime MinGW lib.
    ; TOFIX: I still get:
      harbour/lib/win/mingw/libhbvm.a(fm.o):fm.c:(.text+0x39b): undefined reference to `__mingw_vfprintf'
    + gui=yes
2009-03-27 10:47:12 +00:00
Pritpal Bedi
35621741c5 2009-03-27 02:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/hbqt.h
  * harbour/contrib/hbqt/hbqt_qfont.cpp
    + Added more functions.

  + harbour/contrib/hbqt/generator
  + harbour/contrib/hbqt/generator/hbqtgen.prg
    + Implemented protocol to generate .cpp source file
      from QT Header definitions lifted from its help manual.
      It has lot more potentials to incorporate more features,
      it is just the begining.

  + harbour/contrib/hbqt/qth
  + harbour/contrib/hbqt/qth/QBrush.qth
  + harbour/contrib/hbqt/qth/QFont.qth
  + harbour/contrib/hbqt/qth/QPen.qth
  + harbour/contrib/hbqt/qth/QWidget.qth
    + Added .qth contining prototypes and user code to be embedded 
      into the resulting .cpp source file.

    /*  
       COMPILE  : hbmk2 hbqtgen
       USAGE    : hbqtgen -I<qthHeaderFilesPath> -O<cppSourceFilePath> <qthFile1.qth> <qthFile2.qth> <...>
                  hbqtgen -help
       EXAMPLE  : hbqtgen -Ic:\harbour\hbqt\qth  -Oc:\temp QFont.qth QWidget.qth

       NEXT     : hbqtgen @QtProjectFile.qtp

       OVERVIEW : .qth 
  

                     enum Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
                     enum SpacingType { PercentageSpacing, AbsoluteSpacing }
                     enum Stretch { UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, ..., UltraExpanded }
                     enum Style { StyleNormal, StyleItalic, StyleOblique }
                     enum StyleHint { AnyStyle, SansSerif, Helvetica, Serif, ..., System }
                     enum StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ..., PreferQuality }
                     enum Weight { Light, Normal, DemiBold, Bold, Black }


                     <CODE>

                     /*
                     QFont ()
                     QFont ( const QString & family, int pointSize = -1, int weight = -1, bool italic = false )
                     QFont ( const QFont & font, QPaintDevice * pd )
                     QFont ( const QFont & font )
                     */
                     HB_FUNC( QT_QFONT )
                     {
                        if( HB_IS_STRING( 1 ) )
                        {
                           hb_retptr( ( QFont* ) new QFont() );
                        }
                        else
                        {
                           hb_retptr( ( QFont* ) new QFont( hbqt_par_QString( 1 ),
                                                            HB_IS_NUMERIC( 2 ) ? hb_parni( 2 ) : -1,
                                                            HB_IS_NUMERIC( 3 ) ? hb_parni( 3 ) : -1,
                                                            hb_parl( 4 ) ) );
                        }
                     }

                     </CODE>



                     bool bold () const
                     Capitalization capitalization () const
                     QString defaultFamily () const
                     bool exactMatch () const
                     QString family () const
                     bool fixedPitch () const
                     FT_Face freetypeFace () const
                     bool fromString ( const QString & descrip )
                     HFONT handle () const
                     //bool isCopyOf ( const QFont & f ) const
                     bool italic () const
                     bool kerning () const
                     QString key () const
                     QString lastResortFamily () const
                     QString lastResortFont () const
                     qreal letterSpacing () const
                     SpacingType letterSpacingType () const
                     //quint32 macFontID () const
                     bool overline () const
                     int pixelSize () const
                     int pointSize () const
                     qreal pointSizeF () const
                     bool rawMode () const
                     QString rawName () const
                     QFont resolve ( const QFont & other ) const
                     void setBold ( bool enable )
                     void setCapitalization ( Capitalization caps )
                     void setFamily ( const QString & family )
                     void setFixedPitch ( bool enable )
                     void setItalic ( bool enable )
                     void setKerning ( bool enable )
                     void setLetterSpacing ( SpacingType type, qreal spacing )
                     void setOverline ( bool enable )
                     void setPixelSize ( int pixelSize )
                     void setPointSize ( int pointSize )
                     void setPointSizeF ( qreal pointSize )
                     void setRawMode ( bool enable )
                     void setRawName ( const QString & name )
                     void setStretch ( int factor )
                     void setStrikeOut ( bool enable )
                     void setStyle ( Style style )
                     void setStyleHint ( StyleHint hint, StyleStrategy strategy = PreferDefault )
                     void setStyleStrategy ( StyleStrategy s )
                     void setUnderline ( bool enable )
                     void setWeight ( int weight )
                     void setWordSpacing ( qreal spacing )
                     int stretch () const
                     bool strikeOut () const
                     Style style () const
                     StyleHint styleHint () const
                     StyleStrategy styleStrategy () const
                     QString toString () const
                     bool underline () const
                     int weight () const
                     qreal wordSpacing () const


       
       Comments   :  #  // 

       Enumerators: enum definitions must be included what exists in the 
                    help documenttaion. It has special significan while 
                    parsing the prototypes.
  
       UserCode   : Anything contained in <CODE> </CODE> construct will be 
                    written directly in the .cpp as is. Developer is responsible
                    to insert syntatically correct code. usually constructor
                    function goes here. And may be complex functions be
                    put under it. Also if some special #include command is needed.

       Prototype  : Not all prototypes are included in the source .cpp at the 
                    moment. I need more help on this front how we detect and 
                    format the parameters. I am struck specially at something
                    like   <const QFont & other> . Przemek?

                    Bottom line: Copy and Paste all prototypes from the docs,
                    generate the .cpp, compile it, check which function raises
                    error, comment it out in .qth with either "//" or "#",
                    regenerate .cpp until all errors are covered, copy .cpp 
                    into production folder.
                 
    */
2009-03-27 09:45:51 +00:00
Viktor Szakats
453b7e13ea 2009-03-27 10:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added autodetection of lib/<arch>/<comp> lib dir. This
      makes it possible to use hbmk2 in multicompiler scenarios
      without 'make install'ing Harbour, or even multicompiler
      end-user configurations for any compiler regardless of
      lib format and naming.

  + contrib/hbqt/tests/hbqt.hbp
    + Added .hbp file for hbqt.

  * contrib/hbodbc/odbc.c
    * Further type cleanup.
    * Formatting.

  * contrib/hbole/tests/testole.prg
    * Minor cleanups.

  * contrib/hbole/olecore.c
    * Using hb_itemGetCPtr2() instead of hb_itemGetCLPtr()

  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
    ! WinCE fixes.
    * Formatting.

  * contrib/examples/hbwhat/tests/hbwhat.hbp
    - Removed no longer necessary Windows libs.
2009-03-27 09:17:51 +00:00
Przemyslaw Czerpak
9d217c988f 2009-03-27 02:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/speedtst.prg
    * redirect output to file using SET ALTERNATE ... instead of stdout()

  * harbour/contrib/hbole/olecore.c
    * updated to compile with C and C++ OLE interface.
      Please make some tests with different compilers.
2009-03-27 01:46:36 +00:00
Viktor Szakats
74c14c6fa8 2009-03-27 01:52 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
  * contrib/hbole/tests/hbole.hbp
  * contrib/gtwvg/tests/gtwvg.hbp
  * contrib/hbwin/tests/hbwin.hbp
  - utils/hbmk2/examples/winapi.hbp
    + Added all important Windows system libs to all
      win compilers in hbmk2.
    - Removed above libs from .hbp files.

  * contrib/hbodbc/todbc.prg
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/odbc.c
    * Further cleanups.
      SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
      function by the name HB_NUMSETLEN().

  * contrib/hbole/tests/testole.prg
  * contrib/hbole/tests/sample.odt
    + Updated to latest hbole code.
    ; TOFIX: hbole code doesn't compile with MSVC in default C++
             even if #define CINTERFACE 1 is enabled.
    ; TOFIX: OpenOffice example fails at some point. It probably
             needs array support.

  * contrib/hbole/olecore.c
    * Minor formatting.

  * contrib/hbqt/hbqt_qabstractitemview.cpp
    ! Fixed backslash to forward slash.

  * contrib/hbct/tests/ctwtest.prg
  * contrib/hbnf/dispmsg.prg
  * contrib/hbnf/pegs.prg
  * contrib/hbnf/tbwhile.prg
  * contrib/hbnf/calendar.prg
  * contrib/gtwvg/tests/demowvg.prg
  * contrib/examples/terminal/trm_server.prg
  * contrib/examples/terminal/trm_client.prg
    ! Using manifest constants.

  * contrib/hbmysql/mysql.c
  * contrib/hbodbc/odbc.c
    * Minor cleanup.

  * contrib/hbodbc/tests/odbcdemo.prg
  * contrib/hbodbc/tests/odbccall.prg
  * contrib/hbodbc/tests/testodbc.prg
    * Minor.
2009-03-27 00:55:52 +00:00
Viktor Szakats
633c74dfde 2009-03-26 22:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbodbc/tests/odbcdemo.prg
  * contrib/hbodbc/tests/testodbc.prg
  * contrib/hbodbc/todbc.prg
  * contrib/hbodbc/odbc.c
  * contrib/hbodbc/Makefile
    + Platform protection moved to Makefile level.
    + Lots of type cleanups to use SQL types rather than Windows types.
    + Lots of type cleanups to use large integers where needed.
    * Synced Harbour integers API calls with SQL integer sizes.
    + Cleaned __DMC__ hacks.
    ! Fixed to compile with ODBCVER == 0x0100 and ODBCVER == 0x0200.
    * Update Harbour level function names as follows. Old names are
      still available, you can disabled them by defining HB_ODBC_LEGACY_LEVEL_OFF macro:
      SQLALLOCEN          => SQLALLOCENV
      SQLALLOCCO          => SQLALLOCCONNECT
      SQLDRIVERC          => SQLDRIVERCONNECT
      SQLDISCONN          => SQLDISCONNECT
      SQLFREECON          => SQLFREECONNECT
      SQLALLOCST          => SQLALLOCSTMT
      SQLFREESTM          => SQLFREESTMT
      SQLEXECDIR          => SQLEXECDIRECT
      SQLNUMRES           => SQLNUMRESULTCOLS
      SQLDESCRIB          => SQLDESCRIBECOL
      SQLEXTENDE          => SQLEXTENDEDFETCH
      SQLFETCHSC          => SQLFETCHSCROLL
      SQLROWCOUN          => SQLROWCOUNT
      SQLSETCONNECTOPTION => SQLSETCONNECTATTR
      SQLSETSTMTOPTION    => SQLSETSTMTATTR
      SQLGETCONNECTOPTION => SQLGETCONNECTATTR
      SQLGETSTMTOPTION    => SQLGETSTMTATTR

  * contrib/hbmysql/mysql.c
    % Replaced Windows headers with winsock2.h which seems to
      be required by mysql headers.

  * contrib/hbfbird/firebird.c
  * contrib/rddsql/sqlmix.c
  * contrib/hbssl/sslrand.c
    % Removed Windows headers.

  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.h
    + Readded ugly workaround for mingw64.
2009-03-26 21:02:42 +00:00
Przemyslaw Czerpak
fc44999440 2009-03-26 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbole/olecore.c
    ! added some very basic protection against possible GPF if wrong
      parameters are passed to some OLE*() functions
    + added timestamp support
    * minor formatting and some cleanups in casting
2009-03-26 19:47:39 +00:00
Viktor Szakats
eadb6a1a3a 2009-03-26 16:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
  - contrib/hbapollo
  * contrib/Makefile
  + contrib/examples/hbapollo
    * Moved hbapollo to examples.
    ; TODO: This, hbwhat, hbgf and hbsqlit2 should be IMO permanently 
            removed from repository. If there are no objections, I'll 
            do it next week.
2009-03-26 15:59:44 +00:00
Przemyslaw Czerpak
6ec04d8beb 2009-03-26 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbole/olecore.c
    * added two notes with default defines for windows header files
    ! small correction and fixes in casting
    ; Now this code can be compiled by MinGW and OpenWatcom if we uncomment
      CINTERFACE setting. Anyhow I'd prefer to use C++ friendly declarations.
      Mindaugas, this code uses static variable: s_lOleError.
      Can we make it thread local? It should resolve the problem with using
      this code in MT programs.
      The next thing is the place where OLE is uninitialized.
      It's done by hb_vmAtExit(). In some cases it may be problematic
      because after hb_vmAtExit() some .prg destructors can be executed
      yet, f.e. when public variables are destroyed. The HB_OLEAUTO()
      objects uses destructor which can be activated after executing
      hb_ole_exit(). To resolve this problem you can replicate the trick
      with pointer variable stored inside static .prg var I added to old
      OLE code in contrib/whbwin/ (.prg destructors are disabled just
      before releasing static variables). It's not elegant solution
      but it will work. Probably we should think about two levels of
      exit procedures. The second one can be used only for pure C code
      which does not try to reenter HVM.

  * harbour/contrib/gtwvg/gtwvg.h
    ! moved _WIN32_IE declaration before #include ... to fix MinGW32
      compilation
2009-03-26 14:58:57 +00:00
Viktor Szakats
e399ce49a0 2009-03-26 15:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added autodetection of embedded MinGW64 and MinGWCE 
      compilers.
2009-03-26 14:55:04 +00:00
Viktor Szakats
f599e6f38d 2009-03-25 15:47 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* doc/en/Makefile
  * doc/Makefile
  - doc/en
  + doc/en-EN
    * Renamed.

  + man
  + man/nfdoc
  + man/manpages
    + Added new dir for Harbour manuals.
    ; TODO: Move files here from /doc.

  * contrib/hbtpathy/tests/testtp.prg
    * Applied update/fix by Barry Jackson.

  * utils/hbmk2/hbmk2.prg
    + Added autodetection of MinGW compiler if installed in the
      Harbour directory tree in the mingw dir.
      This way it's possible to create a fully setup-free
      install kit, which is able to produce Harbour executables
      right after unzip by simply issuing command: hbmk2 hello.prg
2009-03-26 14:48:15 +00:00
Mindaugas Kavaliauskas
4d75ff9c20 2009-03-26 14:10 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/hbole/olecore.c
    * fixed compile time warning
2009-03-26 12:13:27 +00:00
Przemyslaw Czerpak
f0fd53ed38 2009-03-25 23:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed line number set for C preprocessor in #pragma begindump

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/genc.c
    * added detection of static Harbour functions in #pragma begindump
      code. I do not like it because it cannot be well implemented on
      other then real C compiler/preprocessor level but it's probably
      better then different workarounds I see in some [x]Harbour 3-rd
      party projects.
      Warning this functionality is not officially supported. It's a hack
      to existing #pragma begindump hack and activated only for dumped C
      code. It tries to detect Harbour static functions declared by
      HB_FUNC_STATIC( name ) but it does not make any real C preprocessing.
      Only strips comments and strings and then looks for above statement
      dividing the code to some basic tokens so it will give wrong results
      for code like:

         #if 0
            HB_FUNC_STATIC( MYFUNC )
         #else
            HB_FUNC( MYFUNC )
         #endif
            {
               hb_retc( "MyFunc" );
            }

      but it works correctly for simple code which does not use conditional
      compilation and does not try to redefine HB_FUNC_STATIC() macro, f.e:

         proc main()
            ? YEAR( DATE() ), MONTH( DATE() ), DAY( DATE() ), TEST()
         return
         #pragma begindump
         #include "hbapi.h"
         /* are comments stripped? If not then HB_FUNC_STATIC( DATE )
            in comment can create troubles. */
         // HB_FUNC_STATIC( YEAR ) just like this one in C++ comments
         #define MYHB_FUNC_STATIC( fun )  #fun // to test whole word tokens
         /* COMMENT */HB_FUNC_STATIC( TEST )
         {
            hb_retc( "HB_FUNC_STATIC( DAY )->" MYHB_FUNC_STATIC( MONTH ) );
         }
         #pragma enddump

      Before we had wrong results for any code like:

            HB_FUNC_STATIC( MYFUNC )
            {
               hb_retc( "MyFunc" );
            }

      so it's not making anything worse (I hope ;-)).
      The implementation is intentionally local to -gc output to not
      effect other compiler code.
2009-03-25 22:15:31 +00:00
Viktor Szakats
ca2a2fb169 2009-03-25 16:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
- doc/license.txt
    % Removed duplicate copy of this text. Now /COPYING is the
      only one in repo.
2009-03-25 15:35:49 +00:00
Viktor Szakats
3de4f48f71 2009-03-25 16:19 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
  * bin/hb-mkdyn.bat
  * bin/hb-mkdyn.sh
  * bin/postinst.bat
  * bin/postinst.cmd
  * bin/postinst.sh
  * contrib/examples/hbdoc/examples/core_es/array.txt
  * contrib/examples/hbdoc/examples/core_es/binnum.txt
  * contrib/examples/hbdoc/examples/core_es/browse.txt
  * contrib/examples/hbdoc/examples/core_es/clipper.txt
  * contrib/examples/hbdoc/examples/core_es/cmdline.txt
  * contrib/examples/hbdoc/examples/core_es/codebloc.txt
  * contrib/examples/hbdoc/examples/core_es/command.txt
  * contrib/examples/hbdoc/examples/core_es/compiler.txt
  * contrib/examples/hbdoc/examples/core_es/datetime.txt
  * contrib/examples/hbdoc/examples/core_es/dbdelim.txt
  * contrib/examples/hbdoc/examples/core_es/dbsdf.txt
  * contrib/examples/hbdoc/examples/core_es/dbstrux.txt
  * contrib/examples/hbdoc/examples/core_es/dir.txt
  * contrib/examples/hbdoc/examples/core_es/dirstruc.txt
  * contrib/examples/hbdoc/examples/core_es/diskspac.txt
  * contrib/examples/hbdoc/examples/core_es/error.txt
  * contrib/examples/hbdoc/examples/core_es/eval.txt
  * contrib/examples/hbdoc/examples/core_es/file.txt
  * contrib/examples/hbdoc/examples/core_es/garbage.txt
  * contrib/examples/hbdoc/examples/core_es/harbext.txt
  * contrib/examples/hbdoc/examples/core_es/hb_apiln.txt
  * contrib/examples/hbdoc/examples/core_es/hb_set.txt
  * contrib/examples/hbdoc/examples/core_es/hb_vm.txt
  * contrib/examples/hbdoc/examples/core_es/howtobsd.txt
  * contrib/examples/hbdoc/examples/core_es/hvm.txt
  * contrib/examples/hbdoc/examples/core_es/idle.txt
  * contrib/examples/hbdoc/examples/core_es/input.txt
  * contrib/examples/hbdoc/examples/core_es/lang.txt
  * contrib/examples/hbdoc/examples/core_es/license.txt
  * contrib/examples/hbdoc/examples/core_es/macro.txt
  * contrib/examples/hbdoc/examples/core_es/math.txt
  * contrib/examples/hbdoc/examples/core_es/memo.txt
  * contrib/examples/hbdoc/examples/core_es/memvar2.txt
  * contrib/examples/hbdoc/examples/core_es/misc.txt
  * contrib/examples/hbdoc/examples/core_es/nation.txt
  * contrib/examples/hbdoc/examples/core_es/objfunc.txt
  * contrib/examples/hbdoc/examples/core_es/pcode.txt
  * contrib/examples/hbdoc/examples/core_es/pragma.txt
  * contrib/examples/hbdoc/examples/core_es/rdd.txt
  * contrib/examples/hbdoc/examples/core_es/readme.txt
  * contrib/examples/hbdoc/examples/core_es/sayget.txt
  * contrib/examples/hbdoc/examples/core_es/setmode.txt
  * contrib/examples/hbdoc/examples/core_es/statics.txt
  * contrib/examples/hbdoc/examples/core_es/strotype.txt
  * contrib/examples/hbdoc/examples/core_es/subcodes.txt
  * contrib/examples/hbdoc/examples/core_es/tbrowse.txt
  * contrib/examples/hbdoc/examples/core_es/tclass.txt
  * contrib/examples/hbdoc/examples/core_es/tgetlist.txt
  * contrib/examples/hbdoc/examples/core_es/tlabel.txt
  * contrib/examples/hbdoc/examples/core_es/tracing.txt
  * contrib/examples/hbdoc/examples/core_es/treport.txt
  * contrib/examples/hbdoc/examples/core_es/var.txt
  * contrib/examples/hbdoc/examples/core_es/vm.txt
  * contrib/examples/pp/hbppcore.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgwin.c
  * contrib/hbct/datetime.c
  * contrib/hbct/pack.c
  * contrib/hbct/video.c
  * contrib/hbfbird/firebird.c
  * contrib/hbfbird/tfirebrd.prg
  * contrib/hbfimage/readme.txt
  * contrib/hbgd/doc/hbgd.txt
  * contrib/hbmisc/dates2.c
  * contrib/hbmisc/doc/en/dates2.txt
  * contrib/hbmisc/doc/en/ht_class.txt
  * contrib/hbmisc/doc/en/ht_conv.txt
  * contrib/hbmisc/doc/en/ht_dbf.txt
  * contrib/hbmisc/doc/en/ht_doc.txt
  * contrib/hbmisc/doc/en/ht_str.txt
  * contrib/hbmysql/mysql.c
  * contrib/hbnf/fttext.c
  * contrib/hbodbc/odbc.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/tpostgre.prg
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbsqlit3/hbsqlit3.ch
  * contrib/hbsqlit3/tests/blob.prg
  * contrib/hbsqlit3/tests/metadata.prg
  * contrib/hbsqlit3/tests/pack.prg
  * contrib/hbsqlit3/tests/sqlite3_test.prg
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_tprn.prg
  * contrib/rddads/doc/en/adsfuncs.txt
  * doc/class_tp.txt
  * doc/en/array.txt
  * doc/en/binnum.txt
  * doc/en/browse.txt
  * doc/en/command.txt
  * doc/en/datetime.txt
  * doc/en/dbdelim.txt
  * doc/en/dbsdf.txt
  * doc/en/dbstrux.txt
  * doc/en/dir.txt
  * doc/en/diskspac.txt
  * doc/en/error.txt
  * doc/en/eval.txt
  * doc/en/file.txt
  * doc/en/hb_api.txt
  * doc/en/hb_apier.txt
  * doc/en/hb_apifs.txt
  * doc/en/hb_apigt.txt
  * doc/en/hb_apiit.txt
  * doc/en/hb_apiln.txt
  * doc/en/hb_apird.txt
  * doc/en/hb_compa.txt
  * doc/en/hb_date.txt
  * doc/en/hb_macro.txt
  * doc/en/hb_set.txt
  * doc/en/hb_vm.txt
  * doc/en/hvm.txt
  * doc/en/input.txt
  * doc/en/lang.txt
  * doc/en/math.txt
  * doc/en/memo.txt
  * doc/en/menu.txt
  * doc/en/misc.txt
  * doc/en/nation.txt
  * doc/en/objfunc.txt
  * doc/en/rdd.txt
  * doc/en/rdddb.txt
  * doc/en/rddmisc.txt
  * doc/en/rddord.txt
  * doc/en/set.txt
  * doc/en/setmode.txt
  * doc/en/string.txt
  * doc/en/tclass.txt
  * doc/en/terminal.txt
  * doc/en/tgetlist.txt
  * doc/en/tlabel.txt
  * doc/en/treport.txt
  * doc/en/var.txt
  * doc/hdr_tpl.txt
  * harbour-wce-spec
  * harbour-win-spec
  * harbour.spec
  * include/hbapigt.h
  * include/hbclass.ch
  * include/hboo.ch
  * make_gnu.bat
  * make_gnu.sh
  * mpkg_deb.sh
  * mpkg_rpm.sh
  * mpkg_rpm_from_svn.sh
  * mpkg_rpm_wce.sh
  * mpkg_rpm_win.sh
  * mpkg_tgz.sh
  * mpkg_win.bat
  * mpkg_win.nsi
  * source/common/hbdate.c
  * source/common/hbstr.c
  * source/common/hbver.c
  * source/compiler/cmdcheck.c
  * source/compiler/hbmain.c
  * source/debug/dbgtwin.prg
  * source/debug/debugger.prg
  * source/lang/msgpt.c
  * source/lang/msgptiso.c
  * source/rtl/accept.c
  * source/rtl/alert.prg
  * source/rtl/console.c
  * source/rtl/dates.c
  * source/rtl/dateshb.c
  * source/rtl/errorapi.c
  * source/rtl/filesys.c
  * source/rtl/gete.c
  * source/rtl/getsys.prg
  * source/rtl/getsys53.prg
  * source/rtl/gtapi.c
  * source/rtl/gtcrs/hb-charmap.def
  * source/rtl/gtdos/gtdos.c
  * source/rtl/gtos2/gtos2.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/gtwvt/gtwvt.c
  * source/rtl/gx.c
  * source/rtl/idle.c
  * source/rtl/inkey.c
  * source/rtl/mouseapi.c
  * source/rtl/natmsg.c
  * source/rtl/natmsgu.c
  * source/rtl/net.c
  * source/rtl/objfunc.prg
  * source/rtl/round.c
  * source/rtl/setpos.c
  * source/rtl/tclass.prg
  * source/rtl/tgetlist.prg
  * source/rtl/tobject.prg
  * source/rtl/transfrm.c
  * source/rtl/valtype.c
  * source/rtl/xsavescr.c
  * source/vm/arrays.c
  * source/vm/classes.c
  * source/vm/eval.c
  * source/vm/extend.c
  * source/vm/extrap.c
  * source/vm/fm.c
  * source/vm/hvm.c
  * source/vm/itemapi.c
  * source/vm/memvars.c
  * source/vm/proc.c
  * tests/bnchmark/bnch_win.bat
  * tests/langmsg.prg
  * tests/rto_tb.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbtest/make_c5x.bat
    * Changed reference:
      doc/license.txt -> COPYING.
      One step to allow the reorganization of doc dir.
2009-03-25 15:34:09 +00:00
Viktor Szakats
bc6f0bce7d 2009-03-25 15:55 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* external/Makefile
    + Added HB_EXTERNAL_ADDON envvar support.

  * config/win/bcc.cf
    * -d moved to optimization switches.
2009-03-25 14:55:55 +00:00
Viktor Szakats
d1f143f7c6 2009-03-25 14:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
+ external/Makefile
    + Added missing file.
2009-03-25 13:35:41 +00:00
Viktor Szakats
b937df971b 2009-03-25 14:09 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
    + Added HB_INC_SQLITE3

  * include/hbapi.h
    + Added HB_IS*() flavour of classic Clipper compatibility IS*()
      macros. I'd recommend everyone to start using these new ones,
      as the old ones might be deprecated in future versions.

  * Makefile
    + Added new 'external' dir to host foreign, non-Harbour code.

  + external
  + external/sqlite3
  + external/sqlite3/_sqlite3.c
  + external/sqlite3/sqlite3.c
  + external/sqlite3/sqlite3.h
  + external/sqlite3/Makefile
  - contrib/hbsqlit3/sqlite3
    + Moved sqlite3 code into its dedicated place.

  * contrib/hbsqlit3/tests/hbsqlit3.hbp
    + Added sqlite3 to liblist.

  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbsqlit3/Makefile
    + Changed to use external headers just like other external
      dependent libs. The only difference here is that it will
      pickup the locally hosted sqlite3 source from
      external/sqlite3 if not specified by user.
    * Changed to no embed sqlite3 code anymore.
      ATTENTION: This also means that hbsqlit3 users will now
                 have to add sqlite3 lib to their liblist, since
                 this code isn't anymore embedded into hbsqlit3.

  * contrib/hbqt/hbqt_qfontcombobox.cpp
  * contrib/hbqt/hbqt_qgroupbox.cpp
  * contrib/hbqt/hbqt_qcombobox.cpp
  * contrib/hbqt/hbqt_qtoolbutton.cpp
  * contrib/hbqt/slots.h
  * contrib/hbqt/hbqt_qpushbutton.cpp
  * contrib/hbqt/hbqt_qpagesetupdialog.cpp
  * contrib/hbqt/hbqt_qprintpreviewdialog.cpp
  * contrib/hbqt/hbqt_qlabel.cpp
  * contrib/hbqt/hbqt_qinputdialog.cpp
  * contrib/hbqt/hbqt_qprogressdialog.cpp
  * contrib/hbqt/hbqt_qtoolbox.cpp
  * contrib/hbqt/hbqt_qcommandlinkbutton.cpp
  * contrib/hbqt/hbqt_qmenubar.cpp
  * contrib/hbqt/hbqt_qhboxlayout.cpp
  * contrib/hbqt/hbqt_qabstractbutton.cpp
  * contrib/hbqt/hbqt_qabstractprintdialog.cpp
  * contrib/hbqt/hbqt_qwizard.cpp
  * contrib/hbqt/hbqt_qabstractspinbox.cpp
  * contrib/hbqt/hbqt_qfont.cpp
  * contrib/hbqt/hbqt_qdial.cpp
  * contrib/hbqt/hbqt_qtablewidgetitem.cpp
  * contrib/hbqt/hbqt_qlcdnumber.cpp
  * contrib/hbqt/hbqt_qmainwindow.cpp
  * contrib/hbqt/hbqt_qprintdialog.cpp
  * contrib/hbqt/hbqt_qcalendarwidget.cpp
  * contrib/hbqt/hbqt_qabstractitemview.cpp
  * contrib/hbqt/hbqt_qaction.cpp
  * contrib/hbqt/hbqt_qspinbox.cpp
  * contrib/hbqt/hbqt_qwidget.cpp
  * contrib/hbqt/hbqt_slots.cpp
  * contrib/hbqt/hbqt_qdateedit.cpp
  * contrib/hbqt/hbqt_qcheckbox.cpp
  * contrib/hbqt/hbqt_qprogressbar.cpp
  * contrib/hbqt/hbqt_qframe.cpp
  * contrib/hbqt/hbqt_qfocusframe.cpp
  * contrib/hbqt/hbqt_qtabbar.cpp
  * contrib/hbqt/hbqt_qcqlendarwidget.cpp
  * contrib/hbqt/hbqt_qerrormessage.cpp
  * contrib/hbqt/hbqt_qfiledialog.cpp
  * contrib/hbqt/hbqt_qformlayout.cpp
  * contrib/hbqt/hbqt_qtoolbar.cpp
  * contrib/hbqt/hbqt_qdatetimeedit.cpp
  * contrib/hbqt/hbqt_qmenu.cpp
  * contrib/hbqt/hbqt_qabstractslider.cpp
  * contrib/hbqt/hbqt_qwebview.cpp
  * contrib/hbqt/hbqt_qlayout.cpp
  * contrib/hbqt/hbqt_qslider.cpp
  * contrib/hbqt/hbqt_qtableview.cpp
  * contrib/hbqt/hbqt_qfontdialog.cpp
  * contrib/hbqt/hbqt_qboxlayout.cpp
  * contrib/hbqt/hbqt_qtreeview.cpp
  * contrib/hbqt/hbqt_qtextedit.cpp
  * contrib/hbqt/hbqt_qradiobutton.cpp
  * contrib/hbqt/hbqt_qcolordialog.cpp
  * contrib/hbqt/hbqt_qapplication.cpp
  * contrib/hbqt/hbqt_qtimeedit.cpp
  * contrib/hbqt/hbqt_qsplitter.cpp
  * contrib/hbqt/hbqt_qlistview.cpp
  * contrib/hbqt/hbqt_qtabwidget.cpp
  * contrib/hbqt/hbqt_qabstractscrollarea.cpp
  * contrib/hbqt/hbqt_qvboxlayout.cpp
  * contrib/hbqt/hbqt_qdoublespinbox.cpp
  * contrib/hbqt/hbqt_qscrollbar.cpp
  * contrib/hbqt/hbqt_qscrollarea.cpp
  * contrib/hbqt/hbqt_qtablewidget.cpp
  * contrib/hbqt/hbqt_qsizegrip.cpp
  * contrib/hbqt/hbqt_qlayoutitem.cpp
  * contrib/hbqt/hbqt_qmessagebox.cpp
  * contrib/hbqt/hbqt_qlineedit.cpp
    * Formatting, indenting.
    ! ISNIL() usage removed.

  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
    ! ISNIL() usage removed.

  * contrib/hbfbird/tfirebrd.prg
  * contrib/hbpgsql/tests/simple.prg
  * contrib/hbpgsql/tests/test.prg
  * contrib/hbpgsql/tests/cache.prg
  * contrib/hbpgsql/tests/stress.prg
  * contrib/hbpgsql/tests/dbf2pg.prg
  * contrib/hbpgsql/tpostgre.prg
  * contrib/examples/uhttpd/uhttpd.prg
  * contrib/examples/uhttpd/uhttpdc.c
  * contrib/examples/terminal/trm_server.prg
    * ISNIL() usage and other code cleanup, formatting.
2009-03-25 13:22:38 +00:00
Mindaugas Kavaliauskas
7f9b899571 2009-03-25 13:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
- harbour/contrib/hbole/ole2.c
  * harbour/contrib/hbole/oleauto.prg
  + harbour/contrib/hbole/oleinit.c
  + harbour/contrib/hbole/olecore.c
    + added my own implementation of OLE library. It is bases on old 
      code written by Jose F. Gimenez. Code is changed to be reentrant,
      more clean, but only basic features are implemented.
2009-03-25 11:42:18 +00:00
Przemyslaw Czerpak
455e6e201f 2009-03-25 12:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    ! disabled inline assembler code to retrieve HVM stack pointer from TLS
      in Win64 builds. In summary I do not even know if Win64 uses the same
      memory addresses for TLS as Win32 so it's not safe to enable such code
      now. Maybe in the future though I hope that new 64 bit compilers will
      have fast enough native TLS support.
2009-03-25 11:23:35 +00:00
Viktor Szakats
2e33010e8a 2009-03-25 11:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/testhtml.prg
    * Update by Vailton Renato applied.

  * INSTALL
    * Minor formatting.

  * bin/postinst.bat
    + Minor cleanup to creation of hbrun/hbtest dll versions.
      (now it's more difficult to mislead it by already existing
      foreign .dlls)

  * contrib/hbqt/Makefile
  * contrib/hbapollo/Makefile
    - Disabled for mingw64.

  * contrib/rddads/rddads.h
    + Added workaround to compile under mingw64.

  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.h
    ! Fixed to _not_ override _WIN32_IE. Overriding these version
      numbers is generally a very bad idea. Instead the code should
      adapt to whatever values are defined by system headers.
      This fixes most mingw64 errors. Please test other compilers.

  * contrib/xhb/hbxml.c
  * contrib/hbfimage/fi_winfu.c
  * contrib/hbwin/wapi_commctrl.c
    ! Pointer/handle to integer conversion.

  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
    ! Fixed NULL used instead of 0.
    ! Fixed ISNIL() usage. GTWVG code is full of ISNIL() macros,
      which makes the code prone to GPFs and other unexpected
      behaviour when wrong type is passed. The solution is to
      change all these to type specific IS*() macros.

  ; TOFIX: (core and all contribs)

    C:/DOCUME~1/vszakats/LOCALS~1/Temp/ccVcE53g.s: Assembler messages:
    C:/DOCUME~1/vszakats/LOCALS~1/Temp/ccVcE53g.s:20: Error: `0x0e10(%rax,%ecx,4)' is not a valid base/index expression

    In these files:
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../hvm.c -ohvm.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../arrays.c -oarrays.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../asort.c -oasort.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../classes.c -oclasses.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../cmdarg.c -ocmdarg.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../debug.c -odebug.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../dynlibhb.c -odynlibhb.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../dynsym.c -odynsym.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../codebloc.c -ocodebloc.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../estack.c -oestack.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../eval.c -oeval.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../evalhb.c -oevalhb.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../extend.c -oextend.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../fm.c -ofm.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../garbage.c -ogarbage.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../hashes.c -ohashes.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../hashfunc.c -ohashfunc.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../itemapi.c -oitemapi.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../macro.c -omacro.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../memvars.c -omemvars.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../pcount.c -opcount.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../proc.c -oproc.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../pvalue.c -opvalue.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../runner.c -orunner.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../set.c -oset.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer  -DHB_MT_VM  -c ../../../thread.c -othread.o
    x86_64-pc-mingw32-gcc -I. -I../../../../../include -Wall -W -O3 -fomit-frame-pointer   -DHB_FM_STATISTICS -DHB_MT_VM  -c ../../../fm.c -ofm.o

    ../../dbfntx1.c: In function 'hb_ntxTagHeaderCheck':
    ../../dbfntx1.c:1054: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfntx1.c:1054: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfntx1.c:1055: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfntx1.c:1055: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfntx1.c:1055: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfntx1.c:1055: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c: In function 'hb_nsxTagHeaderCheck':
    ../../dbfnsx1.c:1282: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1284: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1285: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1285: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1285: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1285: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c: In function 'hb_nsxPageFree':
    ../../dbfnsx1.c:1573: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1573: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1573: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1573: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c: In function 'hb_nsxPageNew':
    ../../dbfnsx1.c:1622: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1622: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1622: warning: dereferencing type-punned pointer will break strict-aliasing rules
    ../../dbfnsx1.c:1622: warning: dereferencing type-punned pointer will break strict-aliasing rules

    ../../hb_btree.c: In function 'StackSkip':
    ../../hb_btree.c:643: warning: cast from pointer to integer of different size
    ../../hb_btree.c: In function 'Grow':
    ../../hb_btree.c:739: warning: cast from pointer to integer of different size

    ../../getenvrn.c: In function 'HB_FUN_FT_GETE':
    ../../getenvrn.c:178: warning: implicit declaration of function 'GetEnvironmentStrings'
    ../../getenvrn.c:178: warning: initialization makes pointer from integer without a cast

    ../../win_dll.c: In function 'DllExec':
    ../../win_dll.c:509: warning: cast from pointer to integer of different size
    ../../win_dll.c:603: warning: cast to pointer from integer of different size
    ../../win_dll.c:672: warning: cast to pointer from integer of different size
    ../../win_dll.c:689: warning: cast to pointer from integer of different size

    ../../hbserv.c: In function 's_serviceSetHBSig':
    ../../hbserv.c:638: warning: passing argument 1 of 'SetUnhandledExceptionFilter' from incompatible pointer type

    ../../firebird.c: In function 'HB_FUN_FBCREATEDB':
    ../../firebird.c:87: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:88: warning: initialization makes integer from pointer without a cast
    ../../firebird.c: In function 'HB_FUN_FBCONNECT':
    ../../firebird.c:115: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:143: warning: cast to pointer from integer of different size
    ../../firebird.c: In function 'HB_FUN_FBCLOSE':
    ../../firebird.c:149: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBSTARTTRANSACTION':
    ../../firebird.c:172: warning: cast from pointer to integer of different size
    ../../firebird.c:173: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:179: warning: cast to pointer from integer of different size
    ../../firebird.c: In function 'HB_FUN_FBCOMMIT':
    ../../firebird.c:184: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBROLLBACK':
    ../../firebird.c:195: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBEXECUTE':
    ../../firebird.c:206: warning: cast from pointer to integer of different size
    ../../firebird.c:207: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:215: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBQUERY':
    ../../firebird.c:249: warning: cast from pointer to integer of different size
    ../../firebird.c:250: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:253: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:270: warning: cast from pointer to integer of different size
    ../../firebird.c:375: warning: cast to pointer from integer of different size
    ../../firebird.c:379: warning: cast to pointer from integer of different size
    ../../firebird.c: In function 'HB_FUN_FBFETCH':
    ../../firebird.c:395: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBFREE':
    ../../firebird.c:419: warning: cast from pointer to integer of different size
    ../../firebird.c:421: warning: cast from pointer to integer of different size
    ../../firebird.c: In function 'HB_FUN_FBGETBLOB':
    ../../firebird.c:613: warning: cast from pointer to integer of different size
    ../../firebird.c:614: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:615: warning: initialization makes integer from pointer without a cast
    ../../firebird.c:624: warning: cast from pointer to integer of different size

    ../../fbirddd.c: In function 'fbConnect':
    ../../fbirddd.c:164: warning: initialization makes integer from pointer without a cast
    ../../fbirddd.c:192: warning: cast to pointer from integer of different size
    ../../fbirddd.c: In function 'fbOpen':
    ../../fbirddd.c:217: warning: initialization makes integer from pointer without a cast
    ../../fbirddd.c:218: warning: initialization makes integer from pointer without a cast
    ../../fbirddd.c:409: warning: assignment makes pointer from integer without a cast
    ../../fbirddd.c:410: warning: assignment makes pointer from integer without a cast
    ../../fbirddd.c: In function 'fbClose':
    ../../fbirddd.c:446: warning: passing argument 2 of 'isc_dsql_free_statement' from incompatible pointer type
    c:/devl/Firebird-2.1.1/include/ibase.h:629: note: expected 'isc_stmt_handle *' but argument is of type 'void **'
    ../../fbirddd.c:451: warning: passing argument 2 of 'isc_rollback_transaction' from incompatible pointer type
    c:/devl/Firebird-2.1.1/include/ibase.h:780: note: expected 'isc_tr_handle *' but argument is of type 'void **'
    ../../fbirddd.c: In function 'fbGoTo':
    ../../fbirddd.c:469: warning: passing argument 2 of 'isc_dsql_fetch' from incompatible pointer type
    c:/devl/Firebird-2.1.1/include/ibase.h:622: note: expected 'isc_stmt_handle *' but argument is of type 'void **'
    ../../fbirddd.c:531: warning: passing argument 2 of 'isc_dsql_free_statement' from incompatible pointer type
    c:/devl/Firebird-2.1.1/include/ibase.h:629: note: expected 'isc_stmt_handle *' but argument is of type 'void **'
    ../../fbirddd.c:538: warning: passing argument 2 of 'isc_commit_transaction' from incompatible pointer type
    c:/devl/Firebird-2.1.1/include/ibase.h:524: note: expected 'isc_tr_handle *' but argument is of type 'void **'
2009-03-25 10:49:21 +00:00
Przemyslaw Czerpak
fd62fc0a1b 2009-03-25 02:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/speedtst.prg
    * simplified xHarbour MT test - use mutexes as internal thread IDs
      as workarounds for race conditions in xHarbour .prg MT API.
2009-03-25 01:43:16 +00:00
Przemyslaw Czerpak
5ca4880a55 2009-03-24 18:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/tbrowse.prg
    ! fixed Clipper compatibility in configure() action - it does not
      set refreshAll flag and only invalidates all records
    ! recalculate visible columns in colorRect() method
    * enabled strict Clipper compatible behavior for non character
      footers and headers
2009-03-24 17:28:02 +00:00
Przemyslaw Czerpak
3b6f812c79 2009-03-24 13:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gttrm/gttrm.c
    * formatting
2009-03-24 12:21:37 +00:00
Przemyslaw Czerpak
535b8ad4ba 2009-03-24 01:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/speedtst.prg
    * updated to compile with FlagShip
2009-03-24 00:02:25 +00:00
Przemyslaw Czerpak
ea4067fcff 2009-03-23 22:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtwvg/wvggui.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgcore.c
    ! pacified MinGW-CE builds warnings
2009-03-23 21:02:04 +00:00
Przemyslaw Czerpak
7ba238f36a 2009-03-23 21:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbodbc/odbc.c
  * harbour/contrib/hbtpathy/tpwin.c
  * harbour/contrib/hbwin/win_ole.c
  * harbour/contrib/hbwin/win_regc.c
    ! casting
2009-03-23 20:36:34 +00:00
Przemyslaw Czerpak
7c08c8067e 2009-03-23 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    + added support for xBase++ method code declaration by
         METHOD <clasName>:<methodName>[ ( <parameters,...> ) ]
      f.e.:
         METHOD TBrowse:Configure( nMode )

  * harbour/source/rtl/tthreadx.prg
  * harbour/source/rtl/thfuncx.prg
    ! fixed 0 timeout parameter in some xBase++ compatible functions
      In xBase++ timeout 0 means wait forever

  * harbour/tests/speedtst.prg
    * update to compile with MT support using xBase++ MT .prg API.
      I tested it only using Harbour by compiling this code with
      -D__XPP__ macro and it works using only xBase++ MT .prg API
      we are emulating.
      Please make some tests with real xBase++ compiler.
2009-03-23 19:39:59 +00:00
Przemyslaw Czerpak
fff231daa2 2009-03-23 17:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/itemapi.c
  * harbour/source/common/hbprintf.c
    * use isfinite() instead of finite() in MinGW builds.
      It's possible that it can resolve problems with MinGW64 builds.
2009-03-23 15:57:39 +00:00
Przemyslaw Czerpak
7ed4401319 2009-03-23 16:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed typo in data constant values written to .ppo files
2009-03-23 15:00:44 +00:00
Przemyslaw Czerpak
e83d6ded69 2009-03-23 14:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/debian/dirs
  * harbour/harbour.spec
    ! removed doc/es form direcotry list
2009-03-23 13:48:23 +00:00
Przemyslaw Czerpak
4b7f25e83b 2009-03-23 02:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
  * harbour/source/common/hbdate.c
  * harbour/source/macro/macrolex.c
  * harbour/source/compiler/complex.c
    + added alternative support for date constant values as: d"YYYY-MM-DD"
      As delimiter the following characters can be used: "-", "/", "."
      Just like in t"..."
2009-03-23 01:11:27 +00:00
Francesco Saverio Giudice
33f0fe919b 2009-03-22 22:50 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/contrib/hbwin/win_ole.c
    * removed debug lines
2009-03-22 21:52:06 +00:00
Francesco Saverio Giudice
b3eb17af1b 2009-03-22 22:33 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/source/rtl/tscalart.c
    * fixed header
    ; copyright leaved to Przemek as I have only changed function name, but
      the code is the same
2009-03-22 21:35:10 +00:00
Francesco Saverio Giudice
6b23d7f2e9 2009-03-22 22:28 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/source/rtl/tscalart.c
    ! fixed SVN attributes
    ; I hope I did correctly
2009-03-22 21:29:40 +00:00
Francesco Saverio Giudice
36d05d2e93 2009-03-22 22:13 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
+ harbour/source/rtl/tscalart.c
    + Added scalar TIMESTAMP
  * harbour/source/rtl/Makefile
    + tscalart.c added
  * harbour/include/hbclass.ch
    * added HBTIMESTAMP scalar type to ENABLE TYPE CLASS
  * harbour/source/rtl/tscalar.prg
    + added scalar class TIMESTAMP with methods to extract
      parts from Timestamp:
      Date(), Time(), Year(), Month(), Day(), Hour(), Minute(), Sec()
    * added methods Year(), Month(), Day() to Date scalar class
  * harbour/contrib/hbwin/win_ole.c
    * updated for new Timestamp type
2009-03-22 21:15:31 +00:00
Przemyslaw Czerpak
b58785b9e4 2009-03-22 21:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/valtoexp.prg
    + added timestamp support to hb_valToExp() and hb_cStr() functions
2009-03-22 20:48:05 +00:00
Przemyslaw Czerpak
1834b0d653 2009-03-22 18:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    * added alternative asm inline function to __MINGW32__ builds which
      operates on 64bit pointers. It's used when __MINGW64__ macro is
      defined. I do not know if such macro existing in 64bit MinGW version.

  * harbour/include/hbdefs.h
    + added HB_PTRUINT

  * harbour/source/common/hbprintf.c
    * used HB_PTRUINT for %p casting
2009-03-22 17:10:43 +00:00
Pritpal Bedi
26cad22e55 2009-03-21 09:01 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/Makefile
    + Added new files.

  * harbour/contrib/hbqt/hbqt.h
  + harbour/contrib/hbqt/slots.h
    + Slots.h could be renamed to hbqt_slots.h, Marcos ?

  + harbour/contrib/hbqt/hbqt_qabstractscrollarea.cpp
  + harbour/contrib/hbqt/hbqt_qabstractslider.cpp
  + harbour/contrib/hbqt/hbqt_qabstractspinbox.cpp
  + harbour/contrib/hbqt/hbqt_qaction.cpp
  + harbour/contrib/hbqt/hbqt_qapplication.cpp
  + harbour/contrib/hbqt/hbqt_qboxlayout.cpp
  + harbour/contrib/hbqt/hbqt_qcalendarwidget.cpp
  + harbour/contrib/hbqt/hbqt_qcheckbox.cpp
  + harbour/contrib/hbqt/hbqt_qcolordialog.cpp
  + harbour/contrib/hbqt/hbqt_qcombobox.cpp
  + harbour/contrib/hbqt/hbqt_qcommandlinkbutton.cpp
  + harbour/contrib/hbqt/hbqt_qcoreapplication.cpp
  + harbour/contrib/hbqt/hbqt_qcqlendarwidget.cpp
  + harbour/contrib/hbqt/hbqt_qdateedit.cpp
  + harbour/contrib/hbqt/hbqt_qdatetimeedit.cpp
  + harbour/contrib/hbqt/hbqt_qdial.cpp
  * harbour/contrib/hbqt/hbqt_qdialog.cpp
  + harbour/contrib/hbqt/hbqt_qdoublespinbox.cpp
  + harbour/contrib/hbqt/hbqt_qerrormessage.cpp
  + harbour/contrib/hbqt/hbqt_qfiledialog.cpp
  + harbour/contrib/hbqt/hbqt_qfocusframe.cpp
  + harbour/contrib/hbqt/hbqt_qfont.cpp
  + harbour/contrib/hbqt/hbqt_qfontcombobox.cpp
  + harbour/contrib/hbqt/hbqt_qfontdialog.cpp
  + harbour/contrib/hbqt/hbqt_qformlayout.cpp
  + harbour/contrib/hbqt/hbqt_qframe.cpp
  + harbour/contrib/hbqt/hbqt_qgroupbox.cpp
  + harbour/contrib/hbqt/hbqt_qhboxlayout.cpp
  + harbour/contrib/hbqt/hbqt_qinputdialog.cpp
  + harbour/contrib/hbqt/hbqt_qlabel.cpp
  + harbour/contrib/hbqt/hbqt_qlayout.cpp
  + harbour/contrib/hbqt/hbqt_qlayoutitem.cpp
  + harbour/contrib/hbqt/hbqt_qlcdnumber.cpp
  + harbour/contrib/hbqt/hbqt_qlinedit.cpp
  + harbour/contrib/hbqt/hbqt_qlineedit.cpp
  + harbour/contrib/hbqt/hbqt_qlistview.cpp
  + harbour/contrib/hbqt/hbqt_qmainwindow.cpp
  + harbour/contrib/hbqt/hbqt_qmenu.cpp
  + harbour/contrib/hbqt/hbqt_qmenubar.cpp
  + harbour/contrib/hbqt/hbqt_qmessagebox.cpp
  + harbour/contrib/hbqt/hbqt_qobject.cpp
  + harbour/contrib/hbqt/hbqt_qpagesetupdialog.cpp
  + harbour/contrib/hbqt/hbqt_qprintdialog.cpp
  + harbour/contrib/hbqt/hbqt_qprintpreviewdialog.cpp
  + harbour/contrib/hbqt/hbqt_qprogressbar.cpp
  + harbour/contrib/hbqt/hbqt_qprogressdialog.cpp
  + harbour/contrib/hbqt/hbqt_qpushbutton.cpp
  + harbour/contrib/hbqt/hbqt_qradiobutton.cpp
  + harbour/contrib/hbqt/hbqt_qscrollarea.cpp
  + harbour/contrib/hbqt/hbqt_qscrollbar.cpp
  + harbour/contrib/hbqt/hbqt_qsizegrip.cpp
  + harbour/contrib/hbqt/hbqt_qslider.cpp
  + harbour/contrib/hbqt/hbqt_qspinbox.cpp
  + harbour/contrib/hbqt/hbqt_qsplitter.cpp
  + harbour/contrib/hbqt/hbqt_qtabbar.cpp
  + harbour/contrib/hbqt/hbqt_qtableview.cpp
  + harbour/contrib/hbqt/hbqt_qtablewidget.cpp
  + harbour/contrib/hbqt/hbqt_qtablewidgetitem.cpp
  + harbour/contrib/hbqt/hbqt_qtabwidget.cpp
  + harbour/contrib/hbqt/hbqt_qtextedit.cpp
  + harbour/contrib/hbqt/hbqt_qtimeedit.cpp
  + harbour/contrib/hbqt/hbqt_qtoolbar.cpp
  + harbour/contrib/hbqt/hbqt_qtoolbox.cpp
  + harbour/contrib/hbqt/hbqt_qtoolbutton.cpp
  + harbour/contrib/hbqt/hbqt_qtreeview.cpp
  + harbour/contrib/hbqt/hbqt_qvboxlayout.cpp
  + harbour/contrib/hbqt/hbqt_qwebview.cpp
  * harbour/contrib/hbqt/hbqt_qwidget.cpp
  + harbour/contrib/hbqt/hbqt_qwizard.cpp
  + harbour/contrib/hbqt/hbqt_slots.cpp
  + harbour/contrib/hbqt/moc_slots.cpp
    + Added re-worked code supplied by Marcos Gambeta, thanks.
      Please ensure that all future developments should respect
      hbqt.h api conventions.

  + harbour/contrib/hbqt/tests
  + harbour/contrib/hbqt/tests/demoqt.prg
    + Added a small test. Marcos please check which MinGW flag is
      needed so that it does not show up console screen as parent
      of App or Dialogs.

    ; NOTE: Marcos, can you update your PHP script to write
            output file in format I showed in above files?
2009-03-21 16:05:10 +00:00
Przemyslaw Czerpak
26a11bd859 2009-03-21 16:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! restored default optimization flag (-O3) in hb* scripts

  * harbour/harbour.spec
    ! fixed recent modification

  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/hbmisc/strfmt.c
  * harbour/contrib/hbcrypt/sha1.c
    ! fixed wrongly used C reference operator

  * harbour/contrib/hbwin/win_prn2.c
  * harbour/contrib/hbwin/wapi_commctrl.c
  * harbour/source/vm/maindllp.c
    ! fixes for unicode builds

  * harbour/include/std.ch
    + added SET TIME FORMAT [TO] <f>

  * harbour/include/set.ch
  * harbour/include/hbset.h
  * harbour/source/vm/set.c
    + added _SET_TIMEFORMAT
      The folowing modifiers are supported:
         hh - hours
         mm - minutes
         ss - seconds
         fff - fraction part of seconds
         p - 1-st letter from PM / AM signature. When used time is shown
             in 12 hour format otherwise 24 hour format is used
      ex: Set( __SET_TIMEFORMAT, "hh:mm pm" )
      default _SET_TIMEFORMAT value is "hh:mm:ss:fff"
    + added C function: char * hb_setGetTimeFormat( void );

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    + added support for timestamp constant values in the form:
         t"YYYY-MM-DD HH:MM:SS.fff"
      The exact accepted timestamp pattern is is:
         YYYY-MM-DD [H[H][:M[M][:S[S][.f[f[f[f]]]]]]] [PM|AM]
      i.e.:
         tValue := t"2009-03-21 5:31:45.437 PM"
      or:
         YYYY-MM-DDT[H[H][:M[M][:S[S][.f[f[f[f]]]]]]] [PM|AM]
      with literal "T" as date and time part delimiters (XML timestamp
      format), i.e.:
         tValue := t"2009-03-21T17:31:45.437"
      The folowing characters can be used as date delimiters: "-", "/", "."
      if PM or AM is used HH is in range < 1 : 12 > otherwise
      in range < 0 : 23 >

  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
    + added support for t"YYYY-MM-DD HH:MM:SS.fff" time stamp constant
      to compiler
    + added support for VFP datetime constant values:
         { ^ [ YYYY-MM-DD [,] ] [ HH[:MM[:SS][.FFF]] [AM|PM] ] }
      The following characters can be used as date delimiters: "-", "/".
      Dot "." as date delimiter is not supported.
      There is no limit on number of characters in YYYY, MM, DD, HH, MM,
      SS, FFF parts. Important is only their value. This is the format
      in semi PP notation:
         { ^ <YEAR> <sep:/-> <MONTH> <sep:/-> <DAY> [[<sep2:,>]
           [ <HOUR> [ : <MIN> [ : <SEC> [ . <FRAQ> ] ] ] [AM|PP] ] }
      In practice it allows to also parse xHarbour datetime constant
      values with compatible conditions though xHarbour support onlu "/"
      as date delimiter.
      NOTE: there is one important difference to VFP and xHarbour in
      decoding above format. In VFP and xHarbour when date part is
      missing then it's set by default to: 1899-12-30 so this code:
         { ^ 12:00 }
      gived the same results as:
         { ^ 1899/12/30 12:00 }
      Harbour does not set any default date value when timestamp
      constant value contains only time part.
      If you want we can change it for strict VFP compatiblity.
      Now this extension is enabled by default for testing. In the future
      it will be probably covered by HB_COMPAT_FOXPRO macro.

  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyh
  * harbour/source/macro/macrolex.c
    + added support for t"YYYY-MM-DD HH:MM:SS.fff" time stamp constant
      to macro compiler

  * harbour/include/hbmacro.h
  * harbour/source/vm/macro.c
    + added new function:
      void hb_macroGenPushTimeStamp( LONG lDate, LONG lTime, HB_COMP_DECL );

  * harbour/include/hberrors.h
  * harbour/source/compiler/hbgenerr.c
    + added new compile time error: "Invalid timestamp constant '%s'"

  * harbour/source/compiler/cmdcheck.c
    * use Harbour API timestamp functions instead of calling system
      functions

  * harbour/include/hbpcode.h
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/compiler/hbopt.c
    + added new PCODE HB_P_PUSHTIMESTAMP (replaced one unused PCODE value)
      to store timestamp constant values in the PCODE

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
    + added new function:
      void hb_compGenPushTimeStamp( LONG lDate, LONG lTime, HB_COMP_DECL );

  * harbour/include/hbexprop.h
  * harbour/source/common/expropt1.c
    + added new C functions:
      HB_EXPR_PTR hb_compExprNewTimeStamp( LONG, LONG, HB_COMP_DECL );

  * harbour/include/hbexprb.c
  * harbour/include/hbcompdf.h
  * harbour/source/common/expropt2.c
    + added timestamp expressions support
    + added compile time optimization for timestamp expressions
    * updated function optimization for timestamp expressions

  * harbour/include/hbdate.h
  * harbour/source/common/hbdate.c
    * changed hb_dateMilliSeconds() to return UTC julian timestamp in
      milliseconds
    * changed existing seconds, time and timestamp functions to operate
      on common OS specific functions to eliminate possible problems
      with different OS time counters
    + added new functions to operates on time and timestamp values.
      See source code for details.

  + harbour/source/rtl/cputime.c
    * moved double hb_secondsCPU( int n ) function to separate file

  * harbour/source/rtl/seconds.c
    - removed old version of date/seconds functions

  * harbour/source/vm/hashes.c
  * harbour/source/vm/arrays.c
    + added support for timestamp values as hash item indexes

  * harbour/source/vm/hashfunc.c
    + added support for find timestamp values in hash and array items
      by simple date value in AScan(), hb_HScan(), hb_AScan() and hb_RAScan()
      functions when exact comparison is not used.

  * harbour/source/vm/asort.c
    + added support for sorting timestamp values

  * harbour/source/vm/classes.c
    + added support for timestamp scallar classes
    + added support for timestamp typed instance variables

  * harbour/source/vm/memvars.c
    + added support for timestamp values in .mem files

  * harbour/source/vm/estack.c
    + show timestamp values in stack dump

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    + added new C functions:
      double hb_arrayGetTD( PHB_ITEM pArray, ULONG ulIndex );
      BOOL hb_arraySetTD( PHB_ITEM pArray, ULONG ulIndex, double dTimeStamp )
      BOOL hb_arrayGetTDT( PHB_ITEM pArray, ULONG ulIndex,
                           LONG * plJulian, LONG * plMilliSec );
      BOOL hb_arraySetTDT( PHB_ITEM pArray, ULONG ulIndex,
                           LONG lJulian, LONG lMilliSec );

  * harbour/include/hbapi.h
  * harbour/source/vm/extend.c
    + accept timestamp items in date functions - use only date part of
      timestamp value
    + added new C functions:
      double hb_partd( int iParam, ... );
      BOOL hb_partdt( LONG * plJulian, LONG * plMilliSec , int iParam, ... );
      void hb_rettd( double dTimeStamp );
      void hb_rettdt( LONG lJulian, LONG lMilliSec );
      int hb_stortd( double dTimeStamp, int iParam, ... );
      int hb_stortdt( LONG lJulian, LONG lMilliSec, int iParam, ... );

  * harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + accept timestamp items in date functions - use only date part of
      timestamp value
    + added new C functions:
      char * hb_itemGetTS( PHB_ITEM pItem, char * szDateTime );
      PHB_ITEM hb_itemPutTS( PHB_ITEM pItem, const char * szDateTime );
      double hb_itemGetTD( PHB_ITEM pItem );
      PHB_ITEM hb_itemPutTD( PHB_ITEM pItem, double dTimeStamp )
      BOOL hb_itemGetTDT( PHB_ITEM pItem, LONG * plJulian, LONG * plMilliSec );
      PHB_ITEM hb_itemPutTDT( PHB_ITEM pItem, LONG lJulian, LONG lMilliSec );
    + support for timestamp items in hb_itemString(), hb_itemPadConv() and
      hb_itemTypeStr() functions

  * harbour/include/hbvm.h
  * harbour/include/hbxvm.h
  * harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
    + added HB_IT_TIMESTAMP items
    * modified HB_IT_DATE internal item structure to use common structure
      with HB_IT_TIMESTAMP - it  simplifies HVM code and eliminates additional
      RT conditions.
    + added HB_IS_TIMESTAMP() and ISTIMESTAMP() macros
    + added HB_IS_DATETIME() and ISDATETIME() macros - they return true
      if item/parameter is DATE or TIMESTAMP type.
    + added void hb_vmPushTimeStamp( long lJulian, long lMilliSec );
      and xhb_vmPushTimeStamp()
    + added support for timestamp values in relational operators:
         <, <=, >, >=, =, ==
      When two timestamp values are compared then VM compares date and
      time parts in both values.
      When date and timestamp values are used in <, <=, >, >=, = operations
      then VM compares only date part in both values.
      When date and timestamp values are used in == operation then VM
      compares date part in both values and then check if time part
      of timestamp value is 0.
    + added support for timestamp values in + and - math operations.
      The following rules are used in timestamp arithmetic:
         <t> + <t> => <t>
         <t> - <t> => <n>
         <t> + <n> => <t>
         <n> + <t> => <t>
         <t> - <n> => <t>
         <d> + <t> => <t>
         <t> + <d> => <t>
         <d> - <t> => <n>
         <t> - <d> => <n>
      When number is result or argument of timestamp operation then the
      its integer part is a number of day and fractional part is the time.

  * harbour/source/rtl/dateshb.c
    + added new .prg functions to mange date and timestamp values:
      HB_DATETIME() -> <tTimeStamp>
      HB_CTOD( <cDate> [, <cDateFormat> ] ) -> <dDate>
      HB_DTOC( <dDate> [, <cDateFormat> ] ) -> <cDate>
      HB_NTOT( <nValue> ) -> <tTimeStamp>
      HB_TTON( <tTimeStamp> ) -> <nValue>
      HB_TTOC( <tTimeStamp>, [ <cDateFormat> ] [, <cTimeFormat> ] ) ->
                                                            <cTimeStamp>
      HB_CTOT( <cTimeStamp>, [ <cDateFormat> ] [, <cTimeFormat> ] ) ->
                                                            <tTimeStamp>
      HB_TTOS( <tTimeStamp> ) -> <cYYYYMMDDHHMMSSFFF>
      HB_STOT( <cDateTime> ) -> <tTimeStamp>
         <cDateTime> should be in one of the above form:
            - "YYYYMMDDHHMMSSFFF"
            - "YYYYMMDDHHMMSSFF"
            - "YYYYMMDDHHMMSSF"
            - "YYYYMMDDHHMMSS"
            - "YYYYMMDDHHMM"
            - "YYYYMMDDHH"
            - "YYYYMMDD"
            - "HHMMSSFFF"
            - "HHMMSSF"
            - "HHMMSS"
            - "HHMM"
            - "HH"
         Important is number of digits.
      HB_TSTOSTR( <tTimeStamp> ) -> <cTimeStamp> // YYYY-MM-DD HH:MM:SS.fff
      HB_STRTOTS( <cTimeStamp> ) -> <tTimeStamp>
         <cTimeStamp> should be in one of the above form:
            YYYY-MM-DD [H[H][:M[M][:S[S][.f[f[f[f]]]]]]] [PM|AM]
            YYYY-MM-DDT[H[H][:M[M][:S[S][.f[f[f[f]]]]]]] [PM|AM]
         The folowing characters can be used as date delimiters: "-", "/", "."
         T - is literal "T" - it's for XML timestamp format
         if PM or AM is used HH is in range < 1 : 12 > otherwise
         in range < 0 : 23 >
      HB_HOUR( <tTimeStamp> ) -> <nHour>
      HB_MINUTE( <tTimeStamp> ) -> <nMinute>
      HB_SEC( <tTimeStamp> ) -> <nSeconds>   // with milliseconds

  * harbour/source/rtl/datec.c
    + accept timestamp parameters in CMONTH() and CDOW() functions

  * harbour/source/rtl/empty.c
    + added support for timestamp items

  * harbour/source/rtl/itemseri.c
    + added support for timestamp items serialization

  * harbour/source/rtl/minmax.c
    + added support for timestamp values to MIN() and MAX() functions.
      when only one of given parameters is timestamp value and other
      is date value and date parts are equal then always date item
      is returned as both MIN() or MAX() value.

  * harbour/source/rtl/dates.c
    + added new C functions: hb_timeFormat(), hb_timeUnformat(),
      hb_timeStampFormat(), hb_timeStampUnformat()

  * harbour/source/rtl/valtype.c
    + added .prg functions: HB_ISDATETIME(), HB_ISTIMESTAMP()

  * harbour/source/rtl/transfrm.c
    + added support for timestamp items formatting.
    + added new function modifier @T.
      When @T is used without @D then only time part of timestamp value
      is formatted and return.
      When @D is used without @T then only date part of timestamp value
      is formatted and return.

  * harbour/source/rtl/tbrowse.prg
    + display timestamp values

  * harbour/source/rtl/philes.c
    + accept timestamp value as second parameter of HB_FSETDATETIME()
      function
    + store file data and time in second parameter of HB_FGETDATETIME()
      as timestamp value.
    Old parameters (2-dDate, 3-cTime) are still supported but please think
    about removing them - they are redundant.

  * harbour/source/rtl/filesys.c
    * updated function names


  * harbour/source/rdd/dbf1.c
    + added native support for time and timestamp fields

  * harbour/include/hbrddcdx.h
  * harbour/include/hbrddnsx.h
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    + added support for indexing timestamp fields
    + added support for using DATE values with timestamp fields
      which replicate HVM behavior.
      SEEK and SEEKLAST with date value when active index is on
      timestamp positions to 1-st or last record where date part
      of indexed timesamp value is equal.
      Settings scopes to date values when active index is on timestamp
      value reduce the visible record range to these ones which have
      date part of timestamp value in the range of dates values used
      for scopes. It possible to mix date and timestamp values in scope
      and set one scope to date value and the second to timesamp.

  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
    + added support for exporting timestamp fields

  * harbour/source/rdd/dbsql.c
    ! fixed typo in logical value export
    + export timestamp fields.
      Please update the format to given SQL syntax.


  * harbour/contrib/hbct/files.c
    + changed SETFDATI() to optionally accept timestamp parameter
      instead of two parameters dDate and cTime

  * harbour/contrib/hbct/misc1.c
    + added timestamp support to XTOC() function

  * harbour/contrib/hbct/misc2.c
    + added timestamp support to COMPLEMENT() function

  * harbour/contrib/hbct/dattime2.c
    + accept timestamp values in ADDMONTH(), DOY(), ISLEAP(), QUARTER()
      LASTDAYOM(), WEEK() functions

  * harbour/contrib/hbmzip/hbmzip.c
    + updated HB_ZipFileCreate( hZip, cZipName, tDateTime, cTime, ... )
      functions to optionaly accept timestamp value in 3-rd parameter
      instead od dDate, and cTime in 3-rd and 4-th parameters.
    + updated HB_UnzipFileInfo( hUnzip, @cZipName, @tDateTime, @cTime, ... )
      to return timestamp value in 3-rd parameter instead of date value.
      TODO: Please think about removing 4-th parameter from:
               HB_ZipFileCreate( hZip, cZipName, tDateTime, cTime, ... )
               HB_UnzipFileInfo( hUnzip, @cZipName, @tDateTime, @cTime, ... )
            Now it's redundant.
  * harbour/contrib/hbmzip/readme.txt
    * updated parameters description for above functions

  * harbour/contrib/hbnf/descendn.c
    + added timestamp support to FT_DESCEND() function

  * harbour/contrib/hbclipsm/date.c
    + accept timestamp values in DATEASAGE(), DATEASARRAY() and DATEISLEAP()
      functions

  * harbour/contrib/hbmisc/dates2.c
    + accept timestamp values in ISLEAPYEAR(), DAYSINMONTH(), EOM(), BOM(),
      WOM(), WOY(), EOY() and BOY() functions


   The following contrib files should be updated but I'm leaving it to
   other developers who want to keep this code alive:
         contrib/hbtip/utils.c
         contrib/hbvpdf/hbvpdf.prg
         contrib/hbvpdf/hbvpdft.prg
         contrib/hbwin/win_dll.c
            some minor cleanups if necessary and authors will find
            timestamp values usable

         contrib/hbole/ole2.c
         contrib/hbwin/win_ole.c
            add support for timestamp values in OLE

         contrib/rddado/adordd.prg
         contrib/rddads/ads1.c
         contrib/rddads/adsx.c
         contrib/rddsql/...
            add support for timestamp values in RDDs

   Warning: this implementation is not xHarbour compatible. There are many
   important differences. Mostly on C level and used API. Please be careful
   in porting xHarbour source code to Harbour.
2009-03-21 15:04:43 +00:00
Viktor Szakats
e686ad05b8 2009-03-21 15:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbtpathy/tpwin.c
  * contrib/hbwin/win_regc.c
    ! mingw64 reported (64-bit) problems fixed.

  * contrib/hbwin/wapi_winbase.c
    ! mingw64 reported (64-bit) problem fixed.
    ! ISNIL() -> ISCHAR(). It appear many times, but using ISNIL()
      has the same cost IS<ACTUAL_TYPE>(), yet only covers one
      case, so it's very dangerous and leave potential GPFs when
      passing wrong type. So, when there is no strong special reason
      to use ISNIL() (like we really want to allow all types except NIL),
      always use ISCHAR(), ISNUM(), ISPOINTER(), ... instead.

  * ChangeLog
    - Deleted resolved mingw64 warnings from entry.
2009-03-21 14:54:29 +00:00