Commit Graph

2649 Commits

Author SHA1 Message Date
Viktor Szakats
94cfb1a339 2010-07-31 02:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
  + include/hbexturs.ch
  * include/hbextern.ch
    + Moved User RDD declarations to separate file so that they
      can be included without the full set of Harbour functions.

  * include/Makefile
    ! Added missing hbcom.ch
2010-07-31 00:45:35 +00:00
Viktor Szakats
5445328e42 2010-07-30 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rdd/usrrdd/usrrdd.c
    ! Fixed typo in function name: WRITEBHEADER() -> WRITEDBHEADER()
      Eagle-eye spotted by Marcos Gambeta.

  * contrib/make.hbs
    ! Fixed to include dependent .hbc files instead of referencing
      own .hbc file in HB_BUILD_CONTRIB_DYN mode. It was not good
      solution as it was referencing itself that way.
    + Will now request dynamic version of dependencies when building
      HB_BUILD_CONTRIB_DYN dynlibs. This is required otherwise f.e.
      hbxbp lib will contain a static copy of hbqt libs, which is not
      very good.
    ! Fixed to not attempt to build dynamic version of referenced 
      projects in HB_BUILD_CONTRIB_DYN mode.

  * contrib/hbct/hbct.hbc
  * contrib/hbqt/hbqt.hbc
  * contrib/rddsql/rddsql.hbc
  * contrib/hbtip/hbtipssl.hbc
  * contrib/hbtip/hbtip.hbc
  * contrib/hbwin/hbwin.hbc
  * contrib/hbssl/hbssl.hbc
    + Experimental move to support linking dynamic version of the
      dependencies when building dynamic lib in HB_BUILD_CONTRIB_DYN
      mode. This is starting to get insanely ugly (thanks Microsoft)
      so I'll with it some more and probably leave it.
    ; I hope I didn't miss any contribs which can also be a dependency
      (probably I did)

  * contrib/pkglist
  * contrib/hbtip/hbtip.hbp
    * hbtipssl made a separate project instead of being a sub-project
      of hbtip. hbtipssl has different dependencies, so this move
      was needed for libdyn support.

  * INSTALL
    * tdragon mingw marked as non-recommended. They due to
      incompatible with previous release tool naming, our make
      systems cannot currently support it. (it needs CCPOSTFIX
      for windres tool when using the dwarf-2 installation)
2010-07-30 19:18:08 +00:00
Viktor Szakats
a64a5ff52f 2010-07-30 16:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed RTE when using post-process command on systems without
      implib functionality. Recent regression.
    % Fixed bad performance in default -head=partial mode, which made
      it slower than -head=full. Now they are on par, so maybe -head=full
      should be made the default and partial mode deleted.
    ; Thanks to Przemek for bug reports.

  * include/hbset.h
  * include/hbgtcore.h
  * include/hbapi.h
    + Added some HB_EXPORT flags.
2010-07-30 14:10:16 +00:00
Viktor Szakats
4dac6f539c 2010-07-30 14:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added usrrdd functions.
2010-07-30 12:09:25 +00:00
Viktor Szakats
b2b189377a 2010-07-30 09:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.h
  * src/rtl/hbsocket.c
    ! Fixed type in C level function name.

  * src/rtl/hbdoc.prg
    ! Fixed to always use CRLF as EOL in internal doc data.

  * contrib/hbtip/utils.c
    ! HB_BASE64() marked as HB_LEGACY_LEVEL3.
    + Added TIP_CRLF()

  * contrib/hbtip/smtpcli.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/ftpcli.prg
  * contrib/hbtip/mail.prg
    * Using TIP_CRLF() instead of HB_INETCRLF().

  * config/postinst.hbs
    + More meaningful message when doing 'make install' without 
      HB_INSTALL_PREFIX being set.

  * contrib/hbpost.hbm
    + Added extra protection to not try to install anything when 
      using 'install' without target dir being specified.

  * INSTALL
    * Updated to reflect the optional nature of make 'install' 
      option.
    * Updated to reflect change in HB_INSTALL_PREFIX.
    * {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
2010-07-30 07:56:36 +00:00
Viktor Szakats
929b57a7e0 2010-07-29 00:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/Makefile
  * include/hbapifs.h
  * include/hbextern.ch
  + src/rtl/fslink.c
  + tests/flink.prg
    + Added new C level functions to create file links:

       HB_BOOL hb_fsLink( const char * pszExisting, const char * pszNewFile );
       HB_BOOL hb_fsLinkSym( const char * pszTarget, const char * pszNewFile );

    + Added new Harbour level functions to create file links:

       HB_FLINK( <cExistingFileName>, <cNewFileName> ) -> <nSuccess>
       HB_FLINKSYM( <cTargetFileName>, <cNewFileName> ) -> <nSuccess>

    ; They work on POSIX and Windows Vista/7 systems.

  * src/rtl/fserr.c
    + Mapped Windows error ERROR_PRIVILEGE_NOT_HELD to DOS error 5.
2010-07-28 22:38:23 +00:00
Viktor Szakats
6b758c4f6d 2010-07-25 10:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcompat.ch
    + Added xhb translations for hb_eol() and hb_ps().

  * contrib/make.hbs
    - Deleted SetCancel().

  * src/debug/tbrwtext.prg
  * src/debug/debugger.prg
  * src/rtl/errsys.prg
  * src/rtl/profiler.prg
  * src/rtl/hbini.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/ttextlin.prg
  * src/rtl/teditor.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * tests/hbpptest/hbpptest.prg
  * tests/longstr2.prg
  * tests/cdow.prg
  * tests/output.prg
  * tests/dirtest.prg
  * tests/tstdbi.prg
  * tests/speedold.prg
  * tests/dates3.prg
  * tests/set_test.prg
  * tests/rto_get.prg
  * tests/cpinfo.prg
  * tests/speedtst.prg
  * tests/dates.prg
  * tests/set_num.prg
  * tests/rto_tb.prg
  * tests/testhtml.prg
  * tests/round.prg
  * tests/dates2.prg
  * tests/dates4.prg
  * tests/version.prg
  * tests/seconds.prg
  * tests/gtkeys.prg
  * tests/adirtest.prg
  * include/simpleio.ch
  * include/assert.ch
  * contrib/hbct/tests/tab.prg
  * contrib/hbct/tests/expomant.prg
  * contrib/xhb/traceprg.prg
  * contrib/xhb/hblog.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/dbgfx.prg
  * contrib/xhb/xhberr.prg
  * contrib/xhb/cstruct.prg
  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt_errorsys.prg
  * contrib/hbqt/generator2/hbqtgen2.prg
  * contrib/hbxpp/hbxpp.ch
  * contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbnetio/utils/rpcdemo.hbs
  * contrib/hbnetio/utils/netiocmd.prg
  * contrib/hbpgsql/tests/dbf2pg.prg
  * contrib/hbmisc/tests/readfile.prg
  * contrib/hbmisc/tests/testhbf.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbtip/client.prg
  * contrib/hbwin/tests/testsim.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/tests/testsvc.prg
  * contrib/hbssl/tests/bio.prg
  * contrib/hbssl/tests/pem.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * examples/hbextern/hbextern.prg
  * examples/uhttpd2/umain.prg
  * examples/guestbk/inifiles.prg
  * examples/guestbk/testcgi.prg
  * examples/httpsrv/uhttpd.prg
  * examples/hscript/hscript.prg
    * hb_osnewline() -> hb_eol()
      (deleting temp variables and temp pp macros used in the past
      to workaround the long typing of the old function name)
    * Some formatting along the way in tests dir.

  * src/rtl/errsys.prg
    - Deleted usage of ISNIL(). It's a quite pointless macro.

  * src/rtl/errsys.prg
  * src/rtl/listbox.prg
  * src/rtl/profiler.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/tgetlist.prg
  * src/rtl/teditor.prg
    % DO CASE -> SWITCH

  * src/rtl/alert.prg
    * Replaced DEFAULT TO with simple NIL check.

  * src/compiler/gencc.c
    * Formatting of generated code.

  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
    * hb_osPathSeparator() (and static variable) -> hb_ps()
2010-07-25 08:45:50 +00:00
Viktor Szakats
2f99a667e8 2010-07-19 23:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
  * include/hbthread.h
    ! Fix for two cygwin build breakers.
2010-07-19 21:19:40 +00:00
Viktor Szakats
d78d9c8ef4 2010-07-17 20:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_SIZE_SIGNED macro which enables signed HB_SIZE
      types. It so far dangerous setting because it may generate
      breakage without compiler warning, f.e. STUFF() GPFs
      in hbtest after enabling it. Plus there is about 40-60
      new warnings shown, I'm out of ideas how to fix most
      of them.

  * src/rtl/filesys.c
    * Changed to pass LPDWORD to ReadFile()/WriteFile()
      win32 branch, instead of *HB_SIZE. It caused warnings
      for signed HB_SIZE.
    ; Please review me.

  * ChangeLog
    * Updated VxWorks notes in 2010-07-16 18:22 UTC+0200 Viktor Szakats
      with missing hb_secondsCPU() support yet.

  * contrib/gtalleg/gtallegs.hbp
  * contrib/hbcurl/hbcurls.hbp
  * contrib/hbssl/hbssls.hbp
  * contrib/hbtip/hbtipssl.hbp
    + Added -hblib options to make it easy for tools to detect
      target types.

  * contrib/gtalleg/gtalleg.c
    ! Fixed C mode MSVC function pointer cast warning.

  * src/rtl/hbsocket.c
    * Minor cosmetic.

  * contrib/hbqt/qtgui/QFormLayout.cpp
  * contrib/hbqt/doc/en/*.txt
    * Regenerated.

  * contrib/hbqt/generator/hbqtgen.prg
    ! Fixed missing initialization for enums returned
      by reference. An msvc warning was shown about them.

    ; TOFIX: I've reported similar warnings long ago with msvc. Anybody to fix them?
             ---
             hbqt_hbqplaintextedit.cpp
             ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
                     ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
             hbqt_hbqsyntaxhighlighter.cpp
             ...\qt\4.5.3\include\qtcore\../../src/corelib/global/qglobal.h(2078) : warning C4512: 'QForeachContainer<T>' : assignment operator could not be generated
                     with
                     [
                         T=QMap<QString,HBQSyntaxHighlighter::HighlightingRule>
                     ]
                     hbqt\hbqt_hbqsyntaxhighlighter.cpp(172) : see reference to class template instantiation 'QForeachContainer<T>' being compiled
                     with
                     [
                         T=QMap<QString,HBQSyntaxHighlighter::HighlightingRule>
                     ]
             moc_hbqt_hbqplaintextedit.cpp
             ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
                     ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
             QMimeData.cpp
             ...\qt\4.5.3\include\qtcore\../../src/corelib/global/qglobal.h(2078) : warning C4512: 'QForeachContainer<T>' : assignment operator could not be generated
                     with
                     [
                         T=QList<QUrl>
                     ]
                     hbqt\qtcore\QMimeData.cpp(451) : see reference to class template instantiation 'QForeachContainer<T>' being compiled
                     with
                     [
                         T=QList<QUrl>
                     ]
             HBQPlainTextEdit.cpp
             ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
                     ...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
             ---
2010-07-17 18:20:37 +00:00
Viktor Szakats
3a97d58533 2010-07-17 15:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
  * src/rtl/hbsocket.c
  * include/hbthread.h
    * Moved header collision avoidance hack to the root of
      the problem, right after '#include <stdint.h>'.
      This way it's done centrally.

  * config/vxworks/diab.mk
    - Deleted fixed TOFIX.
2010-07-17 13:20:28 +00:00
Viktor Szakats
a93ad12a66 2010-07-17 14:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
    * Updated VxWorks notes in 2010-07-16 18:22 UTC+0200 Viktor Szakats

  * include/hbsetup.h
    * Enabled HB_USE_SHARELOCKS_OFF for VxWorks. This fixes creation
      of plain .dbf files, _but_ it will make a weird bug surface
      when creating .dbf+.dbt: The content of the .dbt file is
      written into the .dbf and the .dbt is kept as a zero length
      file. Przemek if you read this, do you have any idea what
      this could be?

  * src/rtl/hbgtcore.c
  * src/rtl/gtsys.c
    ! Fixed to set default GT for vxworks also in hbgtcore. Made NOTE
      in source that needs to be kept in sync. This finally fixes
      the uninitialized GT error.
    * Reset default vxworks GT to GTSTD instead of GTCGI.

  * utils/hbmk2/hbmk2.prg
    * Minor.
2010-07-17 13:05:21 +00:00
Viktor Szakats
33b2e5b3fe 2010-07-17 08:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    + Enabled ioctl() calls for VxWorks.
    ! Worked around 'socklen_t' vs 'int' warnings with VxWorks.
      (still remains some 'const char *' and 'caddr_t' vs 'char *
      warnings, nothing serious though)

  * include/hbthread.h
    ! Enabled HB_CRITICAL_NEED_INIT for VxWorks. Avoids the compiler
      warnings caused by PTHREAD_COND_INITIALIZER having one less 
      structure member than initialized structure.
      MT mode still doesn't work though.

  * contrib/hbodbc/odbc.c
    + Added HB_ODBCVER() function to return build-time ODBC version 
      reported by ODBCVER macro.

  * contrib/hbodbc/tests/testodbc.prg
    + Show ODBC version number.

  - contrib/hbqt/doc/html
    - Deleted. doc dirs now have to abide by the HBDOC rules posted 
      on the dev list, which means doc may contain (non-empty) language 
      dirs only. html should be generated by client app or by install 
      process.

  * contrib/hbwin/hbwinole.h
    ! Patch by Tamas Tevesz, fixing NONAMELESSUNION issue for watcom.
2010-07-17 06:44:19 +00:00
Viktor Szakats
1a3fa64e36 2010-07-16 20:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
  * src/vm/hvm.c
  * contrib/hbmisc/hb_f.c
    ! Added workaround for diab bug. Now build goes fine without HB_LONG_LONG_OFF
      trick.

  * config/vxworks/diab.mk
    + Minor change to sync one C compiler option with VxWorks Workbench
      generated one. (missed from prev commit)
2010-07-16 18:56:07 +00:00
Viktor Szakats
e000a6a0b4 2010-07-16 15:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbinit.h
    ! Fix to prev. Missed another 'static' qualifier.
    ; Now hbtest runs OK on vxworks/diab. (there are more
      errors though due to HB_LONG_LONG_OFF)

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not request GTTRM in vxworks builds.
2010-07-16 13:16:40 +00:00
Viktor Szakats
03a15d50b5 2010-07-16 13:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbtest/hbtest.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_vars.ch
    + Enabled GTCGI for Harbour builds. This makes it independent
      for GTs, to there is better chance to run it. Now it also
      works on VxWorks.
    + Will now detect .dbf creation failure and continue gracefully
      with a message and skipping all related tests.

  * src/rtl/hbsocket.c
  * external/minizip/ioapi.h
  * include/hbthread.h
    + Added/cleaned hacks to avoid collision between VxWorks's own
      system types.

  * external/minizip/ioapi.h
    ! Disabled 64-bit FSIO for whole VxWorks.

  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/vxworks/global.mk
    + _VX_CPU is now defined in vxworks/global.mk.

  * src/common/hbarch.c
    ! Fixed hb_put_le_uint64() definition to match declaration.

  * include/hbdefs.h
    ! Fixed compatibility type definitions in HB_LONG_LONG_OFF mode.

  * include/hbsetup.h
    + Added bzero() declaration hack for vxworks.

  * include/hbinit.h
    + Added support for diag compiler init function.
      It requires the constructor to have public visibility.

  * src/common/hbver.c
    + Changed to always display x.x.x.x format verison no for diab.
      (in generic way).

  * INSTALL
    * Updated list of CPUs supported by vxworks.
2010-07-16 11:34:05 +00:00
Viktor Szakats
f1fdb9b02c 2010-07-16 00:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/diab.mk
    + Implemented support for Wind River Compiler.
      Incomplete yet, as I couldn't test each build
      feature due to errors in earlier build stages.

  * src/common/hbver.c
    + Added fourth version number level.
    + Added version detection for Wind River Compiler (diag).
    * Formatting.

  * src/common/hbprintf.c
  * external/minizip/ioapi.h
    + Fixes for Wind River Compiler (diag)

  * src/rtl/hbdyn.c
    ! Dirty fix to compile in HB_LONG_LONG_OFF mode.
      Przemek if you see this, can you take a look at it if 
      it's right or at least not terribly off?

  * include/hbsetup.h
    ! Temporary hack for Wind River Compiler to use
      HB_LONG_LONG_OFF, otherwise the compiler crashes with
      internal error in hvm.c (without hvmall and optimizations
      also). Now, this flag caused another slew of problems,
      so as it looks now support for this compiler cannot
      be added:
         "../../../hvm.c", line 9827: internal compiler error (etoa:1000): - Failed allocating register pair
         please contact support@windriver.com */

  * include/hbinit.h
    + Enabled Wind River compiler to use the GCC init mode.
      (didn't actually test it, but it compiles)

  * utils/hbmk2/hbmk2.prg
    + Added new debug switch -debugpars to get a list of
      input parameters processed by hbmk2.
    + Synced automatic HB_CCPOSTFIX configuration based on cpu
      setting with GNU Make logic.

  * config/vxworks/gcc.mk
    * Cleanups.
    + Added more CPU postfixes.

  * INSTALL
    * Minor convenience added to prev.
2010-07-15 22:32:24 +00:00
Viktor Szakats
da9890f57e 2010-07-15 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
    ! Hacked around collision between vxWorks headers.

  * ChangeLog
    ! Fixed casing of vxWorks.

  * utils/hbmk2/hbmk2.prg
    + Added vxworks/gcc libpaths.
    ! Fixed vxworks/gcc system lib list.
    ! Fixed ar to have postfix.
    ; All these are syncs with GNU Make.

  * src/rtl/hbsocket.c
    ! Typos in previous vxworks patchs.

  * config/global.mk
    ! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
      situations. (it's still wrong as it assumes nix->win cross-builds)

  ; Now vxworks/gcc/x86 build is clean.
    There are iTODOs left, and
    - this particular class of warnings, which seems
      to be a bug down the <pthread.h> system header:
         hbnetio\netiocli.c:155: warning: missing initializer
         hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
    - also this, each time FD_ZERO() and friends are used:
         warning: implicit declaration of function 'bzero'
    - "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
      warnings in hbsocket.c code.

  ; TOFIX:
       - Unrecoverable error 9998: Harbour terminal (GT) initialization failure
         when running hbtest.
       - GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
2010-07-15 17:21:15 +00:00
Viktor Szakats
00cd9e92f3 2010-07-15 16:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  + config/vxworks
  + config/vxworks/libs.mk
  + config/vxworks/gcc.mk
  + config/vxworks/diab.mk
  + config/vxworks/global.mk
    + Started experimental VxWorks port.
    ; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
            who were so kind to mail me a full VxWorks development
            environment, for the purpose of porting Harbour to this
            platform. Thank you very much guys.

            [ The free license is valid for one month, so if anyone
            is interested in helping in this project, I can help with
            real tests, builds and information. BTW, the devenv is
            Eclipse based plus cmdline, running on Windows (available
            for Linux and Solaris, too) and the target VxWorks exes
            run in a virtual environment. ]

  * config/global.mk
    + Added autodetection of VxWorks platform.

  * utils/hbmk2/hbmk2.prg
    + Added VxWorks support. It's incomplete yet.
    ! Fixed to quote *nix/gcc compiler family in
      Windows-host cross-platform situations.

  * src/vm/thread.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbtrace.c
  * src/common/hbdate.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/net.c
  * src/rtl/hbproces.c
  * src/rtl/gtsys.c
  * src/rtl/hbcom.c
  * external/zlib/inflate.c
  * external/jpeg/jmorecfg.h
  * external/pcre/Makefile
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/hbserv.c
    + vxworks/gcc port. First phase.
    ; Please review.
    ; NOTE: - vxworks has no termios, for serial comm
              support it has sioLib.h.
            - vxworks supports another C compiler, which
              was not tested yet.
            - vxworks supports lots of CPUs, only x86 was
              tested yet.
            - There are still mutex related warnings to sort out.
            - Some parts had to disabled, like HB_LIB*() functionality.
    ; TODO: Regenarate .difs in external/.

  * src/vm/hashfunc.c
    * Silenced warnings shown by vxworks/gcc.
2010-07-15 15:02:33 +00:00
Viktor Szakats
bf4f1b0679 2010-07-14 22:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/hbdoc.prg
    + Added __HBDOC_LOADHBD( <cFileName> ) -> <hbdoc> | NIL
    + Added __HBDOC_SAVEHBD( <cFileName>, <hbdoc> ) -> <lSuccess>

  - doc/en/Makefile
  * doc/Makefile
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni_extra_copy.bat
  * package/winuni/mpkg_win_uni.nsi
    - Don't install doc sources.

  * config/postinst.hbs
    + Will now build .hbd files from doc sources at 'install' phase.
      .hbd files will be installed in HB_DOC_INSTALL path, which
      is /doc by default.
    ; NOTE: Apps like hbide can now use __HBDOC_LOADHBD() to load
            these .hbd files.
    ; NOTE: We may add other doc generators to hbrtl, plus we may
            further enhance .hbd format to be more easily usable
            for client apps (and f.e. to consume less disk space).
    ; TODO: Config HB_DOC_INSTALL also on *nix systems.

  * contrib/gtwvg/wvgwing.c
    ! Fixes after previous commit.
      Patch by Tamas Tevesz.

  * contrib/make.hbs
    * Minor.
2010-07-14 20:14:17 +00:00
Viktor Szakats
9e9e5129f8 2010-07-14 14:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/hbdoc.prg
    + Added __HBDOC_FROMSOURCE( <cStream> ) -> <aEntry>

  + tests/stripdoc.hbs
    + Strips NFDOC/HBDOC from .c/.prg sources.

  + tests/hbdocext.prg
    + Extracts NFDOC/HBDOC from source code.

  * contrib/hbct/bitnum.c
  * contrib/hbct/strdiff.c
  * contrib/hbct/token2.c
  * contrib/hbct/charlist.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/charonly.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/ctmath.c
  * contrib/hbct/ctset.c
  * contrib/hbct/ctwin.c
  + contrib/hbct/doc
  + contrib/hbct/doc/en
  + contrib/hbct/doc/en/strdiff.txt
  + contrib/hbct/doc/en/token1.txt
  + contrib/hbct/doc/en/token2.txt
  + contrib/hbct/doc/en/keyset.txt
  + contrib/hbct/doc/en/ct.txt
  + contrib/hbct/doc/en/charmirr.txt
  + contrib/hbct/doc/en/ctc.txt
  + contrib/hbct/doc/en/charlist.txt
  + contrib/hbct/doc/en/charlihb.txt
  + contrib/hbct/doc/en/relation.txt
  + contrib/hbct/doc/en/atadjust.txt
  + contrib/hbct/doc/en/charonly.txt
  + contrib/hbct/doc/en/ctmath.txt
  + contrib/hbct/doc/en/atnum.txt
  + contrib/hbct/doc/en/numconv.txt
  + contrib/hbct/doc/en/charsort.txt
  + contrib/hbct/doc/en/count.txt
  + contrib/hbct/doc/en/posdiff.txt
  + contrib/hbct/doc/en/ftoc.txt
  + contrib/hbct/doc/en/charmix.txt
  + contrib/hbct/doc/en/charevod.txt
  + contrib/hbct/doc/en/finan.txt
  + contrib/hbct/doc/en/range.txt
  + contrib/hbct/doc/en/wordrepl.txt
  + contrib/hbct/doc/en/charrepl.txt
  + contrib/hbct/doc/en/exponent.txt
  + contrib/hbct/doc/en/addascii.txt
  + contrib/hbct/doc/en/ctmath2.txt
  + contrib/hbct/doc/en/strswap.txt
  + contrib/hbct/doc/en/trig.txt
  + contrib/hbct/doc/en/tab.txt
  + contrib/hbct/doc/en/video.txt
  + contrib/hbct/doc/en/charswap.txt
  + contrib/hbct/doc/en/dattime2.txt
  + contrib/hbct/doc/en/dattime3.txt
  + contrib/hbct/doc/en/replace.txt
  + contrib/hbct/doc/en/charop.txt
  + contrib/hbct/doc/en/misc1.txt
  + contrib/hbct/doc/en/asciisum.txt
  + contrib/hbct/doc/en/color.txt
  + contrib/hbct/doc/en/charone.txt
  + contrib/hbct/doc/en/num1.txt
  + contrib/hbct/doc/en/pos1.txt
  + contrib/hbct/doc/en/pos2.txt
  + contrib/hbct/doc/en/numat.txt
  + contrib/hbct/doc/en/charophb.txt
  + contrib/hbct/doc/en/atrepl.txt
  + contrib/hbct/doc/en/ascpos.txt
  + contrib/hbct/doc/en/wordtoch.txt
  + contrib/hbct/doc/en/ctpad.txt
  + contrib/hbct/doc/en/datetime.txt
  + contrib/hbct/doc/en/print.txt
  + contrib/hbct/doc/en/justify.txt
  + contrib/hbct/doc/en/remove.txt
  + contrib/hbct/doc/en/ctstr.txt
  + contrib/hbct/doc/en/screen1.txt
    + Moved embedded docs to separate files.

  * contrib/hbct/charsort.c
  * contrib/hbct/ftoc.c
  * contrib/hbct/charmix.c
  * contrib/hbct/charevod.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/exponent.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/files.c
  * contrib/hbct/strswap.c
  * contrib/hbct/trig.c
  * contrib/hbct/video.c
  * contrib/hbct/charswap.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/charop.c
  * contrib/hbct/ct.prg
  * contrib/hbct/cursor.c
  * contrib/hbct/misc2.c
  * contrib/hbct/color.c
  * contrib/hbct/charone.c
  * contrib/hbct/num1.c
  * contrib/hbct/pos1.c
  * contrib/hbct/ctcom1.c
  * contrib/hbct/charophb.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/numconv.prg
  * contrib/hbct/ctstr.c
  * contrib/hbct/screen1.c
  * contrib/hbct/token1.c
  * contrib/hbct/keyset.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/ctc.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/charlihb.c
  * contrib/hbct/relation.c
  * contrib/hbct/setlast.c
  * contrib/hbct/atnum.c
  * contrib/hbct/count.c
  * contrib/hbct/disk.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/finan.c
  * contrib/hbct/range.c
  * contrib/hbct/addascii.c
  * contrib/hbct/ctmath2.c
  * contrib/hbct/tab.c
  * contrib/hbct/dattime2.c
  * contrib/hbct/replace.c
  * contrib/hbct/misc1.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/pos2.c
  * contrib/hbct/numat.c
  * contrib/hbct/fcopy.prg
  * contrib/hbct/atrepl.c
  * contrib/hbct/ctcom2.c
  * contrib/hbct/wordtoch.c
  * contrib/hbct/ctpad.c
  * contrib/hbct/datetime.c
  * contrib/hbct/print.c
  * contrib/hbct/justify.c
  * contrib/hbct/remove.c
    - Stripped NFDOC/HBDOC from source code.

  + contrib/hbnf/doc
  + contrib/hbnf/doc/en
  + contrib/hbnf/doc/en/acctmnth.txt
  + contrib/hbnf/doc/en/savearr.txt
  + contrib/hbnf/doc/en/rand1.txt
  + contrib/hbnf/doc/en/madd.txt
  + contrib/hbnf/doc/en/dispmsg.txt
  + contrib/hbnf/doc/en/numlock.txt
  + contrib/hbnf/doc/en/mouse1.txt
  + contrib/hbnf/doc/en/settime.txt
  + contrib/hbnf/doc/en/restsets.txt
  + contrib/hbnf/doc/en/page.txt
  + contrib/hbnf/doc/en/prtscr.txt
  + contrib/hbnf/doc/en/color2n.txt
  + contrib/hbnf/doc/en/byt2bit.txt
  + contrib/hbnf/doc/en/month.txt
  + contrib/hbnf/doc/en/byt2hex.txt
  + contrib/hbnf/doc/en/findith.txt
  + contrib/hbnf/doc/en/at2.txt
  + contrib/hbnf/doc/en/acctweek.txt
  + contrib/hbnf/doc/en/gcd.txt
  + contrib/hbnf/doc/en/poke.txt
  + contrib/hbnf/doc/en/pegs.txt
  + contrib/hbnf/doc/en/min2dhm.txt
  + contrib/hbnf/doc/en/acctqtr.txt
  + contrib/hbnf/doc/en/dosver.txt
  + contrib/hbnf/doc/en/mkdir.txt
  + contrib/hbnf/doc/en/nooccur.txt
  + contrib/hbnf/doc/en/dayofyr.txt
  + contrib/hbnf/doc/en/metaph.txt
  + contrib/hbnf/doc/en/menu1.txt
  + contrib/hbnf/doc/en/byteand.txt
  + contrib/hbnf/doc/en/setlastk.txt
  + contrib/hbnf/doc/en/sqzn.txt
  + contrib/hbnf/doc/en/bytexor.txt
  + contrib/hbnf/doc/en/workdays.txt
  + contrib/hbnf/doc/en/byteor.txt
  + contrib/hbnf/doc/en/asum.txt
  + contrib/hbnf/doc/en/sleep.txt
  + contrib/hbnf/doc/en/wda.txt
  + contrib/hbnf/doc/en/aavg.txt
  + contrib/hbnf/doc/en/woy.txt
  + contrib/hbnf/doc/en/alt.txt
  + contrib/hbnf/doc/en/any2any.txt
  + contrib/hbnf/doc/en/adessort.txt
  + contrib/hbnf/doc/en/setdate.txt
  + contrib/hbnf/doc/en/netpv.txt
  + contrib/hbnf/doc/en/amedian.txt
  + contrib/hbnf/doc/en/blink.txt
  + contrib/hbnf/doc/en/ctrl.txt
  + contrib/hbnf/doc/en/vertmenu.txt
  + contrib/hbnf/doc/en/qtr.txt
  + contrib/hbnf/doc/en/linked.txt
  + contrib/hbnf/doc/en/aredit.txt
  + contrib/hbnf/doc/en/shift.txt
  + contrib/hbnf/doc/en/fttext.txt
  + contrib/hbnf/doc/en/xbox.txt
  + contrib/hbnf/doc/en/ftround.txt
  + contrib/hbnf/doc/en/hex2dec.txt
  + contrib/hbnf/doc/en/nwuid.txt
  + contrib/hbnf/doc/en/dectobin.txt
  + contrib/hbnf/doc/en/chdir.txt
  + contrib/hbnf/doc/en/bitset.txt
  + contrib/hbnf/doc/en/aemaxlen.txt
  + contrib/hbnf/doc/en/nwlstat.txt
  + contrib/hbnf/doc/en/invclr.txt
  + contrib/hbnf/doc/en/popadder.txt
  + contrib/hbnf/doc/en/lastday.txt
  + contrib/hbnf/doc/en/dispc.txt
  + contrib/hbnf/doc/en/ftattr.txt
  + contrib/hbnf/doc/en/tempfile.txt
  + contrib/hbnf/doc/en/diskfunc.txt
  + contrib/hbnf/doc/en/stod.txt
  + contrib/hbnf/doc/en/scregion.txt
  + contrib/hbnf/doc/en/mouse2.txt
  + contrib/hbnf/doc/en/d2e.txt
  + contrib/hbnf/doc/en/kspeed.txt
  + contrib/hbnf/doc/en/descendn.txt
  + contrib/hbnf/doc/en/pickday.txt
  + contrib/hbnf/doc/en/firstday.txt
  + contrib/hbnf/doc/en/daytobow.txt
  + contrib/hbnf/doc/en/getenvrn.txt
  + contrib/hbnf/doc/en/anomatch.txt
  + contrib/hbnf/doc/en/menutonf.txt
  + contrib/hbnf/doc/en/pvid.txt
  + contrib/hbnf/doc/en/proper.txt
  + contrib/hbnf/doc/en/isbiton.txt
  + contrib/hbnf/doc/en/isbit.txt
  + contrib/hbnf/doc/en/cntryset.txt
  + contrib/hbnf/doc/en/datecnfg.txt
  + contrib/hbnf/doc/en/caplock.txt
  + contrib/hbnf/doc/en/easter.txt
  + contrib/hbnf/doc/en/bytenot.txt
  + contrib/hbnf/doc/en/ftisprn.txt
  + contrib/hbnf/doc/en/setkeys.txt
  + contrib/hbnf/doc/en/ntow.txt
  + contrib/hbnf/doc/en/aeminlen.txt
  + contrib/hbnf/doc/en/floptst.txt
  + contrib/hbnf/doc/en/pchr.txt
  + contrib/hbnf/doc/en/savesets.txt
  + contrib/hbnf/doc/en/tbwhile.txt
  + contrib/hbnf/doc/en/year.txt
  + contrib/hbnf/doc/en/calendar.txt
  + contrib/hbnf/doc/en/e2d.txt
  + contrib/hbnf/doc/en/sysmem.txt
  + contrib/hbnf/doc/en/elapsed.txt
  + contrib/hbnf/doc/en/n2color.txt
  + contrib/hbnf/doc/en/bitclr.txt
  + contrib/hbnf/doc/en/eltime.txt
  + contrib/hbnf/doc/en/putkey.txt
  + contrib/hbnf/doc/en/aading.txt
  + contrib/hbnf/doc/en/dfile.txt
  + contrib/hbnf/doc/en/elapmil.txt
  + contrib/hbnf/doc/en/pending.txt
  + contrib/hbnf/doc/en/peek.txt
  + contrib/hbnf/doc/en/clrsel.txt
  + contrib/hbnf/doc/en/ontick.txt
  + contrib/hbnf/doc/en/acctyear.txt
  + contrib/hbnf/doc/en/byteneg.txt
  + contrib/hbnf/doc/en/isshare.txt
  + contrib/hbnf/doc/en/sinkey.txt
  + contrib/hbnf/doc/en/iamidle.txt
  + contrib/hbnf/doc/en/ftidle.txt
  + contrib/hbnf/doc/en/rmdir.txt
  + contrib/hbnf/doc/en/scancode.txt
  + contrib/hbnf/doc/en/vidmode.txt
  + contrib/hbnf/doc/en/origin.txt
  + contrib/hbnf/doc/en/nwsem.txt
  + contrib/hbnf/doc/en/acctadj.txt
  + contrib/hbnf/doc/en/week.txt
  + contrib/hbnf/doc/en/vidcur.txt
  + contrib/hbnf/doc/en/readme.txt
  + contrib/hbnf/doc/en/prtesc.txt
  + contrib/hbnf/doc/en/miltime.txt
    + Moved embedded docs to separate files.

  * contrib/hbnf/kspeed.c
  * contrib/hbnf/iamidle.c
  * contrib/hbnf/miltime.prg
  * contrib/hbnf/mouse1.prg
  * contrib/hbnf/setkeys.c
  * contrib/hbnf/origin.c
  * contrib/hbnf/chdir.c
  * contrib/hbnf/hex2dec.prg
  * contrib/hbnf/mouse2.prg
  * contrib/hbnf/ftisprn.c
  * contrib/hbnf/putkey.c
  * contrib/hbnf/floptst.prg
  * contrib/hbnf/mkdir.c
  * contrib/hbnf/rmdir.c
  * contrib/hbnf/setlastk.c
    ! Fixed NFDOC formatting.
    ; TODO: Strip docs.
2010-07-14 12:48:39 +00:00
Viktor Szakats
62ec573bbf 2010-07-14 11:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/Makefile
  + src/common/hbstrbm.c
    + Added hb_strAtTBM() which provides fast text search using
      Turbo Boyer-Moore(-Crochemore) algorithm. The interface is
      the same as hb_strAt().
      HB_AT()/AT() could use it beyond some haystack sizes to
      speed up the results.

  + contrib/hbqt/tests/testbrow.prg
    + Added useful browse example implemented using QT.

  * tests/utf8at.prg
    + Changed to not use high chars.
2010-07-14 09:47:43 +00:00
Viktor Szakats
ec5c6619dc 2010-07-14 10:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicdp.h
  * src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
  + tests/utf8at.prg
    + Added hb_cdpUTF8StringAt()
    ; Patch by Carlos Bacco. Many thanks!

  * include/hbextern.ch
  * include/hbapicdp.h
  * src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
    ; my modifications to above patch:
    - Using HB_BOOL instead of int for flag value.
    % HB_UTF8AT(), HB_UTF8RAT() optimized to use hb_param(),
      plus optimized out variables.
    ! HB_UTF8AT(), HB_UTF8RAT() fixed 'nEnd < nStart' case.
    ! Some formatting.
    + Added new functions to hbextern.ch.

  * tests/utf8at.prg
    * Changed to use UTF8 string as base.
    * Avoiding "OEM" and "ANSI" Microsoft misleading terms,
      using standard CP names instead.
    ! Using HB_TRANSLATE() to convert between CPs (instead
      of non-portable, Windows-only HB_OEMTOANSI()/HB_ANSITOOEM()
      functions).
    * Formatting.
    * Using '?' instead of QOUT(), plus added simpleio.ch to
      allow redirection of output.

  * contrib/make.hbs
    * Minor step to make dependency evaluation and automatic
      sorting of components for build.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added -vcshead support for Monotone version control
      software.
    % Cleaned and optimized "in dir" C compiler run mode.
      (currently used by mingw)
    ! Fixed "in dir" C compiler run mode when using -jobs=
      option for multithreaded builds.
    % Little optimization to --hbinfo option.
2010-07-14 08:14:32 +00:00
Viktor Szakats
29cd12b694 2010-07-13 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbdoc.prg
  * include/hbextern.ch
    + Added __HBDOC_TOSOURCE( <aEntry> ) which is able to
      rebuild original HBDOC source from memory variable.
      ATM language information is lost in the process, this
      will have to be solved in the future.

  * utils/hbmk2/hbmk2.prg
    + Added experimental optimization to mingw build, where the
      compiler is called only once to compile all files. Since
      gcc doesn't have a switch for that, it's done in tricky
      way by changing directory and recalculating source dir
      relative from workdir. Now it's active by default, pls
      report any build errors, especially in multithreaded mode.

  * contrib/hbqt/generator/hbqtgen.prg
    * Cleanups

  * contrib/hbwin/win_shell.c
    ! Reverted previous patch 2010-07-13 08:55, it broke mingw builds.
2010-07-13 10:04:06 +00:00
Viktor Szakats
96e069c19e 2010-07-12 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/hbdoc.prg
    + Added __HBDOC_LOADDIR() internal RTL function to read
      NFDOC formatted documentation source directories into
      memory. The result will be a list of hashes which contain
      the raw content of doc files. The function does format
      validation (but not content) and add all agreed-on metadata
      to the hashes.
      It's a start and I hope others can join to create new
      layers of function for below functionality:
         - doc content validation
         - pre-formatting
         - output generators
      The goal is to avoid local solutions and standardize
      the format.

  + tests/hbdoctst.prg
    + Added small test app which will find and parse all
      documentation inside the Harbour source tree and
      save them in .hbd (serialized doc hash) format.
      Such .hdb files can be generated by the build process
      in the future, so tools like HBIDE can use the content
      to display intellisense or built-in help.
    ; TODO: HBQT doc/html should be removed as it's 
            hbdoc tools' job to convert HBDOC source 
            format to html or whatever else format needed.

  * harbour.spec
  * debian/rules
  - doc/man
  + src/pp/hbpp.1
  + src/main/harbour.1
  + utils/hbmk2/hbmk2.1
  + utils/hbtest/hbtest.1
  + utils/hbrun/hbrun.1
    * Moved man doc files to their own component dirs.

  * doc/Makefile
  * doc/en/Makefile
  + doc/clipper.txt
  - doc/en/clipper.txt
    * Moved non-NFDOC formatted doc file to doc dir.

  * doc/en/Makefile
    ! Fixed missing 1stread.txt

  * doc/en/hb_apigt.txt
  * doc/en/hbinet.txt
  * doc/en/tbrowse.txt
  * doc/en/hb_apifs.txt
    ! Fixed NFDOC non-standard entries.

  * bin/hbxpatch.hbs
    ! Fixed detecting dirs. (could cause errors only in rare cases)

  * contrib/hbdoc2/tmplates.prg
    * Formatting.
2010-07-12 16:47:24 +00:00
Viktor Szakats
7115477a90 2010-07-10 10:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbassert.h
    ! Fixed to only enable assert()s when HB_BUILD_DEBUG is activated.
      (So far assert() was disabled for msvcarm only in normal builds.)
      Pls check me. In some places assert(0) is used which is a permanent 
      exit, so maybe these would need to be replaced with hb_errInternal()?

  * include/assert.ch
    ! Typo in comment.

  * contrib/make.hbs
    % Minor opt.
2010-07-10 08:49:17 +00:00
Viktor Szakats
1eeff56090 2010-07-10 08:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtsln/kbsln.c
  * include/hbapigt.h
    ! Fixed code to use HB_INKEY_RAW constant.
    * Marked C level INKEY_RAW constant with HB_LEGACY_LEVEL3.
2010-07-10 06:53:15 +00:00
Przemyslaw Czerpak
22100001e8 2010-07-08 12:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/vm/macro.c
    ! fixed code used to decide about early and late macro
      evaluation in codeblocks to be exactly Clipper compatible.
      Now if codeblock contains at least one macro variable
      (i.e.: &var, any&var, any&var.2) then it's always early
      evaluated.
      Please remember that codeblocks which contains only simple
      macro variable ( &var[.] ), i.e.:
         {|| &var }
      are modified during compilation by Clipper and Harbour compilers to:
         &( "{||" + var + "}" )
      and then PCODE is generated. It allows to use LOCALs, STATICs and
      FIELDs as 'var' in such expressions. In xHarbour above functionality
      was extended to work also with macrotext variables, i.e.:
         {|| &var.2 }
      If you think it's important extension then I can make the same
      in Harbour or I can even implement it for all codeblock expressions
      with macros using declared non memvar symbols, i.e.
         {|| &var + 1 }
      what should effectively eliminate E0047 compile time error
    ! fixed compile time error E0042 "Macro of declared symbol..."
      to be generated with the same conditions as in Clipper.
    ! fixed compile time error E0047
         "Code block contains both macro and declared symbol references..."
      to be generated with the same conditions as in Clipper.
      Note: -km switch disables macro text evaluation so also above errors
      unless macro is not used in codeblock

      Warning: above modifications can cause compile time errors in some
               code which was not Clipper compatible and in such case they
               will have to be updated.

  * harbour/utils/hbtest/rt_math.prg
    ! updated code with Clipper incompatible code exploited by above
      modifications
2010-07-08 10:35:53 +00:00
Viktor Szakats
53093e704f 2010-07-08 09:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/hashes.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/rtl/hbgtcore.c
  * src/compiler/hbmain.c
  * include/hbgtcore.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbexprop.h
    * Variable name cleanups.
    * Corrections/completions in declarations.
2010-07-08 07:24:58 +00:00
Viktor Szakats
8e23274cd7 2010-07-07 23:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/sdf1.c
  * src/rdd/delim1.c
  * include/hbrddsdf.h
  * include/hbrdddel.h
    * HB_SIZE/HB_FOFFSET renames in structs (ul* -> n*).
      (objects verified)

  * include/hbcomp.h
  * include/hbapicdp.h
    * More HB_SIZE var renames (in decl only).

  * src/rtl/filesys.c
  * include/hbapifs.h
    * HB_FOFFSET renames (ul*, ll* -> n*).
      (object verified)
2010-07-07 21:11:33 +00:00
Viktor Szakats
c863e84065 2010-07-07 18:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
    ! Added missing renames from prev session.

  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/hbmain.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbcompdf.h
  * include/hbexpra.c
  * include/hbexprb.c
    * Some final renames in compiler area.
      (compiler objects verified)

  * contrib/make.hbs
    * Updated header.
2010-07-07 16:53:35 +00:00
Viktor Szakats
f9270e4a0e 2010-07-07 18:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbpcode.c
  * src/compiler/hbdead.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * include/hbcompdf.h
    * lPCodeSize -> nPCodeSize
    * pulLabels -> pnLabels
      (objects verified)
2010-07-07 16:14:11 +00:00
Viktor Szakats
f1bea060aa 2010-07-07 18:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/hbstripl.c
  * src/compiler/harbour.y
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexprb.c
    * lPCodePos -> nPCodePos
      (objects verified)
2010-07-07 16:09:23 +00:00
Viktor Szakats
a892e7e868 2010-07-07 17:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
    ! Renamed back one variable in header which caused an 
      avalanch of problems in .c code.
      I'll redo this later.
2010-07-07 15:25:43 +00:00
Viktor Szakats
14122cb345 2010-07-07 15:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapicdp.h
  * include/hbstack.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbcomp.h
  * include/hbsxfunc.h
  * include/hbexprop.h
  * include/hbapigt.h
  * include/hbhash.h
  * include/hbregex.h
    * HB_SIZE/HB_ISIZ/some HB_MAXINT variables renamed.
2010-07-07 13:42:39 +00:00
Viktor Szakats
a5231252b5 2010-07-06 23:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbffind.c
  * src/common/hbwin.c
  * src/common/hbstr.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbmem.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * include/hbhash.h
  * src/rtl/substr.c
  * src/rtl/hbzlibgz.c
  * src/rtl/hbtoken.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/hbadler.c
  * src/rtl/hbcomhb.c
  * src/rtl/hbmd5.c
  * src/rtl/hbascii.c
  * src/rtl/hbregexc.c
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/hbregex.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/gtclip.c
  * src/rtl/itemseri.c
  * src/rtl/hbsockhb.c
  * src/rtl/hardcr.c
  * src/rtl/hbzlib.c
  * src/rtl/hbhex.c
  * src/rtl/gete.c
  * src/rtl/hbproces.c
  * src/rtl/cdpapihb.c
  * src/rtl/ati.c
  * src/rtl/memofile.c
  * src/rtl/hbstrsh.c
    * Renamed HB_SIZE variables to have 'n' prefix.
      (verified to generate the same objects as before)
2010-07-06 21:32:46 +00:00
Viktor Szakats
6ac45c3680 2010-07-06 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hashfunc.c
  * src/vm/macro.c
  * src/vm/pcount.c
  * src/vm/estack.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/fm.c
  * src/vm/proc.c
  * src/vm/memvars.c
  * src/vm/arrayshb.c
  * src/vm/eval.c
  * src/vm/classes.c
  * include/hbstack.h
  * include/hbapi.h
    * Renamed HB_ISIZ variables to have 'n' prefix.
      (verified to generate the same objects as before)

  * src/vm/fm.c
    ! Fixed HB_ISIZ values to be displayed using HB_PFS format
      string.

  * src/vm/hvm.c
    * HB_ISIZ -> HB_LONG in places where it was wrong.
2010-07-06 20:29:34 +00:00
Viktor Szakats
db1fbb5aed 2010-07-06 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Don't search passed program in PATH and hbrun dir, if
      program name has path component.

  * contrib/xhb/xhbenum.c
  * contrib/xhb/xhbqself.c
  * contrib/xhb/xhbwith.c
  * contrib/xhb/xhberrc.c
    ! Fixed msvc64 warnings after HB_SIZE extension in stack API.

  * contrib/make.hbs
    + Added logic to protect against case when 'clean install'
      is used but hbrun or hbmk2 isn't available when launching
      the make process. In this case 'clean' phase won't be executed
      for contribs, which is solved by forcing a -rebuild in
      'install' phase.

  * src/vm/strapi.c
  * src/vm/runner.c
  * src/vm/itemapi.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/set.c
  * src/vm/classes.c
  * src/rtl/lennum.c
  * src/rtl/strcase.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/strtran.c
  * src/rtl/strtoexp.c
  * src/rtl/padl.c
  * src/rtl/saverest.c
  * src/rtl/right.c
  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/left.c
  * src/rtl/xsavescr.c
  * src/rtl/setkey.c
  * src/rtl/stuff.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/inkeyapi.c
  * src/rtl/inkey.c
  * src/rtl/mtran.c
  * src/rtl/colorind.c
  * src/rtl/rat.c
  * include/hbapi.h
  * include/hbapistr.h
    * Renamed HB_SIZE variables to have 'n' prefix.
      (verified to generate the same objects as before)

  * src/rtl/philes.c
    * Changed hb_retnint()/hb_retni() to hb_retns().

  * contrib/hbgd/gdwrp.c
    * Formatting.
2010-07-06 19:02:19 +00:00
Viktor Szakats
aed8cb147e 2010-07-06 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/console.c
  * src/rtl/philes.c
  * include/hbextern.ch
    + Added: HB_PS() function, which does the same as HB_OSPATHSEPARATOR().
    + Added: HB_EOL() function, which does the same as HB_OSNEWLINE().
    ; These are very often used functions with an exceptionally long and
      hard to type name, so most programs employed macros for it. Now this
      is unnecessary. Long names are deprecated.

  * contrib/Makefile
  - contrib/makefile.hbs
  + contrib/make.hbs
    * Renamed to be shorter.
    + Little steps for standlone running mode.
    + Using HB_EOL() and HB_PS().
    ; TODO: Change it all over Harbour SVN.
2010-07-06 11:03:51 +00:00
Viktor Szakats
388945fedf 2010-07-05 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
  * src/rtl/Makefile    [t]
  * src/rdd/Makefile    [t]
  * include/hbdefs.h
  * include/hbsetup.h
  + config/bsd/pcc.mk
  * config/rules.mk     [t]
    + First step to add support for pcc (Portable C Compiler) on bsd.
    ; Patch by Tamas Tevesz.
    ; TODO: ? I guess the -gc3 and -l disabler hacks are temporary.
            (in files marked with [t])
2010-07-04 22:58:12 +00:00
Viktor Szakats
1ae025e9e2 2010-07-04 12:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
  * include/hbapicdp.h
    + Added new low level hb_cdpList() function.
    ! cdp list generation logic now protected with mutex.
    ! HB_CDPLIST() .prg level function moved to cdpapihb.c,
      thus clearing the last pending TOFIX here regarding
      layer separation. Low level can now be moved to
      common lib (or is there anything else missing?).

  * contrib/hbqt/hbmk2_plugin_qt.prg
    * Minor correction in one stdalone error msg.
2010-07-04 10:23:11 +00:00
Viktor Szakats
b83ec8bb29 2010-07-02 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * include/hbpp.h
    + Added #pragma __binarystreaminclude. Works the same as
      other stream include pragmas, but here it the size limit
      is ~16MB and it accepts binary files for input.
    ; TODO: The encoding now contains high ascii chars which
            is unsafe as it can be converted by editors thus
            corrupting the embedded binary.

  * contrib/hbqt/hbmk2_plugin_qt.prg
    % Optimized .qrc to .prg converter to not split the lines.
      Harbour is able to compile very long source lines, pbly 
      todays patch from Przemek was needed for that. Nice!
2010-07-02 13:04:35 +00:00
Przemyslaw Czerpak
b87112ecde 2010-07-02 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/pp/hbpp.c
  * harbour/src/pp/pplib.c
  * harbour/src/compiler/complex.c
    * eliminated HB_USHORT limit for maximum token size
    * changed prefix of HB_SIZE numeric values from 'ul' to 'n'

  * harbour/contrib/rddads/adsfunc.c
    + added wrapper to AdsGetMemoDataType() function
2010-07-02 12:21:18 +00:00
Viktor Szakats
4be088168f 2010-07-01 00:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/std.ch
    + Added .hbv version of SAVE TO / RESTORE FROM commands.
      Use 'SAVE HBV ...' and 'RESTORE HBV ...' commands to
      use Harbour specific mem file format (with .hbv extension).
      The file format supports long variable names and much
      larger amount of data then Clipper compatible .mem files. 
      The file format is NOT compatible with Clipper.
    ; Pls review. This is my first time extending Harbour
      commands, plus I'm not very much a command freak, so
      maybe there is more natural (and compatible) way to
      extend existing SAVE/RESTORE command.

  * utils/hbrun/hbrun.prg
    * Variable scope cleanup to prev.
2010-06-30 22:47:20 +00:00
Viktor Szakats
26ca5da0db 2010-06-30 19:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapi.h
    + Added hb_retclen_const() to return constant byte arrays.

  * contrib/hbqt/hbmk2_plugin_qt.prg
  * contrib/hbide/hbide.prg
    + Implemented pure Harbour .c QT resource support.
      Commented, waiting for HBQT API to load resources
      from byte stream.
      This method will create a pure .c source files
      from binary QT resource, so it doesn't require
      QT headers to be present.

  * contrib/hbqt/hbmk2_plugin_qt.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideskeletons.prg
    * Changed 'ui' prefix to 'hbqtui_' for compiled .ui
      file entry function names.

  * utils/hbmk2/hbmk2.prg
    + Added hbmk2_FNameToSymbol() plugin function to convert
      filename to Harbour symbol name.

  * contrib/hbide/hbide.env
    - Deleted QT setup from compilers where QT is not supported.
2010-06-30 17:18:38 +00:00
Mindaugas Kavaliauskas
8d2c665f98 2010-06-28 17:22 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/include/hbcom.ch
  * harbour/rtl/hbcom.c
    * implemented new error code HB_COM_ALREADYOPEN in hb_comOpen()
  * harbour/contrib/hbct/ctcom1.c
    * changed COM_OPEN() behaviour to be compatible with HBCOM API 
      and original CT behaviour
2010-06-28 14:23:11 +00:00
Viktor Szakats
b38dbedf33 2010-06-27 00:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicom.h
    ! Fixed missing HB_EXTERN_BEGIN/END
    + Added HB_EXTERN

  * external/patchup.prg
    ; Patch and log text by Tamas Tevesz:
    + don't let first `map' source be non-flat (would break
      tree top search)
    + on errors, also cite line numbers for easier makefile debugging
    + check and enforce destination files to fit in the 8+3 naming
      scheme
    + document (mis)features of, and requirements for `URL' + small
      clarifications
2010-06-26 22:39:46 +00:00
Viktor Szakats
f751b21d31 2010-06-25 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added two new abstract types: HB_AREANO, HB_FIELDNO

  * src/rdd/wacore.c
  * src/rdd/dbcmd.c
  * src/rdd/dbcmd53.c
  * src/rdd/wafunc.c
    + Using above abstract types as casts to pacify long time 
      msvc warnings.
    + Using HB_USHORT cast to pacify msvc warnings in hb_rddList()
      and hb_rddRegister() (shouldn't these have 'int' parameters?)

  * contrib/xhb/xhb.hbp
    * Synced with actual file list.
2010-06-24 22:23:13 +00:00
Przemyslaw Czerpak
8434f5ab14 2010-06-24 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    + added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
      filter inkey key codes. This codeblock receives as 1-st parameter
      actually processed inside INKEY() function key code. It should return
      final inkey code (it can be the same or 0 if key should be ignored.
      I.e. this code change key 'a' to 'B' and blocks 'c':

         hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
                                          SWITCH nKey
                                             CASE ASC( 'a' )
                                                RETURN ASC( 'B' )
                                             CASE ASC( 'c' )
                                                RETURN '0'
                                          ENDSWITCH
                                          RETURN nKey
                                       } )

    + added HB_GTI_INKEYREAD which allows to set/get codeblock executed
      just before INKEY() reads key code from the GT typeahead buffer.
      If it returns non 0 numeric value then this value is returned instead
      as inkey code. Otherwise standard inkey procedure is activated and
      key code is read from the GT typeahead buffer.

  * harbour/include/hbextern.ch
  * harbour/src/rtl/inkey.c
    - removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions

  * harbour/contrib/xhb/Makefile
  * harbour/contrib/xhb/xhbgt.c
  + harbour/contrib/xhb/xhbinkey.prg
  * harbour/contrib/xhb/hbcompat.ch
    * updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
      hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
      Incompatibility warning!
      In Harbour timeout value passed to inkey() is correctly respected
      and not reset internally on each call to inkey after block.
      If inkey before block returns non 0 numeric value then it's not
      ignored but returned as INKEY() function result without touching
      GT typeahead buffer.
2010-06-24 21:21:48 +00:00
Viktor Szakats
73db2d44f1 2010-06-24 18:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/inkey.c
  * include/hbextern.ch
    + Enabled .prg level control function for pre/post INKEY() block
      with names below:
         HB_INKEYSETPREBLOCK([<bBlock>]) -> <bOldBlock>
         HB_INKEYSETPOSTBLOCK([<bBlock>]) -> <bOldBlock>

  * contrib/xhb/xhbgt.c
  * contrib/xhb/hbcompat.ch
    + Added translations for just enabled HB_INKEYSET*() functions
      to/from xhb function equivalents:
         HB_INKEYSETPREBLOCK() <-> HB_SETINKEYBEFOREBLOCK()
         HB_INKEYSETPOSTBLOCK() <-> HB_SETINKEYAFTERBLOCK()
2010-06-24 16:32:34 +00:00
Viktor Szakats
3d52caf679 2010-06-23 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
    * Changed to use hex notation instead of octal in recent change.
      (see: 2010-02-20 01:03 UTC+0100, 2009-06-05 20:59 UTC+0200, 
      2008-11-09 11:48 UTC+0100)

  * include/hbdefs.h
    - Deleted HB_RECNO.
2010-06-23 11:03:05 +00:00