Commit Graph

2785 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
3f148040d0 2011-06-17 20:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/src/rtl/gtwvt/gtwvt.c
    + added support for HB_GTI_MAXIMIZED
      Patch created by Heinz V. Bergen - thank you.

  * harbour/src/common/hbstr.c
    % simplified hb_strAt() code and added missing stop condition.
      This modification also quite nicely optimized the average speed
      of AT() function and $ operator.
2011-06-17 18:27:14 +00:00
Viktor Szakats
50f49dbf55 2011-06-14 11:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/strtran.c
    ! minor in webpage URL

  * src/rtl/gtwvt/gtwvt.c
    ! Patch from Heinz V. Bergen, fixing full screen and alt-enter
      GT features when GTWVT windows was not open yet, also fixing
      screen positioning/sizing regression.

  * src/rtl/inkey.c
  * include/harbour.hbx
    + added HB_KEYLAST() which allows to pass a mask
      (I'm not sure if this is ultimate solution, but there is goes
      for now. Pls remove it if there is better one)

  * package/winuni/RELNOTES
    * updated 3rd party version numbers
2011-06-14 09:52:19 +00:00
Przemyslaw Czerpak
4bebbd6ac3 2011-06-09 15:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/rtl/filesys.c
    % removed unnecessary PID setting in POSIX file lock function.
    + added new C function:
         int hb_fsLockTest( HB_FHANDLE hFileHandle, HB_FOFFSET nStart,
                            HB_FOFFSET nLength, HB_USHORT uiMode );
      It allows to test file range lock status.
      It returns -1 on error, 0 when lock can be set and value greater
      then 0 if part of given range is locked by other process. In POSIX
      systems this value is PID of current lock owner. In other systems
      it's always 1.
      In uiMode only FLX_SHARED bit is significant.

  * harbour/include/hbapifs.h
  * harbour/src/rtl/filebuf.c
    + added new C function:
         int hb_fileLockTest( PHB_FILE pFile, HB_FOFFSET nStart,
                              HB_FOFFSET nLen, int iType );
      It's redirected to hb_fsLockTest()

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbmemio/memio.c
    + implemented hb_fileLockTest() low level code

  * harbour/include/dbinfo.ch
    + added DBI_LOCKTEST

  * harbour/src/rdd/dbf1.c
    % small code simplification
    + implemented DBI_LOCKTEST
         dbInfo( DBI_LOCKTEST [, <nRecNo> ] ) -> <nStatus>
      returns corresponding results to C level hb_fsLockTest() function.
      If current workarea is already locked then 0 is returned.
      If low level FS is located on POSIX system (accessed directly or by
      HBNETIO) then value greater then 0 is PID of current lock owner.
      If the lock is hold by aliased area or other thread of calling
      process then <nStatus> is current PID. In Other systems 1 is returned
      when lock cannot be set in current workarea.
      If <nRecNo> is given then the test is for RLOCK() otherwise FLOCK()
      operation.
2011-06-09 13:32:19 +00:00
Przemyslaw Czerpak
c72ee124b3 2011-06-02 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    * set sleep timeout in *nix version of hb_threadReleaseCPU() to 10 ms

  * harbour/src/compiler/hbpcode.c
    ! fixed typo which could cause compile time crash when debugger code
      is generated (-b) and file name with extenssion has only one or
      two characters

  * harbour/include/hbcompdf.h
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbstripl.c
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyc
    ! removed old code designed to optimize line numbers generated in PCODE.
      It cannot work correctly and in some cases it was generating HB_P_LINE
      pcodes in wrong places.
    % enabled new code for HB_P_LINE PCODEs optimization also in debugger (-b)
      compilation so it can be used to replaced the old one.
2011-06-02 19:05:56 +00:00
Przemyslaw Czerpak
20b5875721 2011-05-27 19:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/codepage/Makefile
  + harbour/src/codepage/uc858.c
    + added CP858 - basically it's CP850 but contains EURO SIGN (U+20AC) at position 0xD5
      instead of Turkish dotless-i (U+0131)
2011-05-27 17:04:24 +00:00
Viktor Szakats
464af38648 2011-05-21 13:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  + src/vm/pbyref.c
  * src/vm/Makefile
    + added HB_PISBYREF() (renamed because HB_PARAM* prefix would 
      be new, whereas HB_P*() is already utilized)
      [Przemek]

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhbfunc.c
    - commented HB_ISBYREF(). it's broken.
2011-05-21 11:14:46 +00:00
Viktor Szakats
5553c16493 2011-05-21 12:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbrandom.c
    * HB_RANDOMMAX() -> HB_RANDOMINTMAX()
    ; TOFIX: now broken under mingw in all places where HB_RANDOMINT()
             is potentially called with larger than HB_RANDOMINTMAX()
             value. This will be impossible f.e. in RANDOM() CT function.

  * src/rtl/hbrandom.c
  * src/rtl/hbrand.c
    + hb_random_block() changed to use ARC4 backend.

  * examples/httpsrv/modules/showcounter.prg
    % hb_ntos()
2011-05-21 10:42:24 +00:00
Przemyslaw Czerpak
7fbc9044fe 2011-05-21 12:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/valtoexp.prg
    ! fixed typo in recent modifications causing RTE in HB_VALTOEXP()

  * harbour/contrib/hbwin/win_prn2.c
    ! allocate dynamic memory for print buffer in WIN_PRINTFILERAW()
      32KB variable on process execution stack is potential source of
      random GPFs in programs using deeper recursive calls and killer
      for MT mode when smaller thread stack is allocated.
    ! fixed potential data lost in WIN_PRINTFILERAW() when not all data
      is transfered in single WritePrinter() call
    ! interrupt printing in WIN_PRINTFILERAW() if WritePrinter() returns
      error

  * harbour/include/harbour.hbx
  * harbour/src/rtl/hbrandom.c
    ! restored my old fix - it was correct and the results over RAND_MAX
      range expected
    + added new PRG function:
         HB_RANDOMMAX() -> <nRAND_MAX>
2011-05-21 10:02:49 +00:00
Viktor Szakats
14d0d4161d 2011-05-17 19:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbrandom.c
    + HB_RAND32() -> <32-bit random number>

    ; TOFIX: random numbers are broken under mingw 4.5.2, only high 16bits are random.
             in all HB_RAND*() functions
2011-05-17 17:03:32 +00:00
Przemyslaw Czerpak
6b92949b7d 2011-05-17 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/xhb/hboutdbg.c
  * harbour/contrib/xhb/xhbfunc.c
    ! use 'hb_cmdargARGVN( 0 )' instead of 'hb_cmdargARGV()[ 0 ]' to avoid
      GPF when no arguments are initialized

  * harbour/contrib/hbwin/hbolesrv.hbc
    * use {allmingw} instead of {mingw} macro for MinGW64 builds

  * harbour/src/codepage/Makefile
  * harbour/src/codepage/uc646_yu.c
  + harbour/src/codepage/uc646yuc.c
  * harbour/include/hbapicdp.h
    + added JUS I.B1.003 - Cyrillic script variant of ISO-646-YU
      for Serbian and Macedonian language

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cpsr646.c
  + harbour/src/codepage/cpsr646c.c
  * harbour/include/hbcpage.hbx
    + added SR646 and SR646C Harbour codeapges.
      Both code pages uses the same 8-bit representation but different
      unicode values - SR646 uses Latin script and SR646C Cyrillic script.
      It means that it's useless to make any translations between SR646
      and SR646C because both versions uses the same ASCII values but they
      can help in translation to other encodings or CPs, i.e. to convert
      some Serbian text in one of the above CPs to Latin letters in UTF8
      encoding then it's enough to make:
         hb_strToUTF8( <cText>, "SR646" ) -> <cUtf8LatinText>
      and for conversion to UTF8+Cyrillic:
         hb_strToUTF8( <cText>, "SR646C" ) -> <cUtf8CyrillicText>
2011-05-17 13:40:56 +00:00
Viktor Szakats
66fdcc3bbb 2011-05-16 09:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/vm/runner.c
    + HB_HRBGETFUNLIST() -> <aArray>: New function posted to the
      list by Francesco Saverio Giudice
      (NOTE: I changed the name a little bit)

  * tests/gfx.prg
    ! fixed console output. Patch by Tamas Tevesz
    * changed rest of ? commands to outstd()
2011-05-16 07:34:46 +00:00
Przemyslaw Czerpak
0889e6b43e 2011-05-13 04:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/hvm.c
    ! fixed stack preloading in hb_vmRequestReenterExt() when new stack has to be allocated
2011-05-13 02:05:59 +00:00
Viktor Szakats
5f731939fd 2011-05-11 16:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + HB_HCLEAR
  * contrib/hbide/hbide.hbp
    * deactivating HB_TR_ALWAYS
2011-05-11 14:25:20 +00:00
Przemyslaw Czerpak
16037cfc6f 2011-05-11 16:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/hashes.c
    + add new public C function: HB_BOOL hb_hashClear( PHB_ITEM pHash )
    * do not generate RTE when unexisting key is passed to HB_HDEL()
      now code which makes sth like:
         if xKey $ hValue
            hb_hDel( hValue, xKey )
         endif
      can be reduced to:
         hb_hDel( hValue, xKey )

  * harbour/src/vm/hashfunc.c
    + added new PRG function: HB_HCLEAR( <hValue> ) -> <hValue>
2011-05-11 14:02:04 +00:00
Viktor Szakats
fa0db205a8 2011-05-11 02:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbtrace.ch
    * added way to disable HB_TR_ALWAYS
      for more: 2011-04-16 23:04 UTC+0200 Viktor Szakats

  * contrib/hbxbp/hbxbp.hbp
  * contrib/hbqt/hbqt_common.hbm
    + disabled HB_TR_ALWAYS permanent messages from SVN builds
    ; TODO: move this logic to hbpre.hbm
2011-05-11 00:52:35 +00:00
Viktor Szakats
41e5bf2b5d 2011-05-09 21:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
  + include/hbstrict.ch
  * contrib/hbpost.hbm
    + added experimental -u+ header to catch some common code style
      problems. currently IF() is caught, but it interferec with std.ch
      hbsix.ch and possibly more, so it's not enabled

  * config/global.mk
  * src/dynlib/2nd/Makefile
  * src/dynlib/Makefile
    * secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
    * renamed secondary harbour dynlib to harbour2*
    + it's now possible (again) to build harbour .dll in ST mode by
      using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
      the secondary dynlib will be MT. (pls note the secondary dynlib 
      is never directly used by hbmk2, so it's there for mere build convenience
      only)

  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbpfiledialog.prg
  * contrib/hbxbp/xbpprintdialog.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpprinter.prg
  * contrib/hbxbp/xbpdataref.prg
    ! IF() -> IIF() (with the help of hbstrict.ch)

  * contrib/hbformat/hbfmtcls.prg
    ! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
2011-05-09 19:46:56 +00:00
Viktor Szakats
20dd966f91 2011-05-05 16:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/libnamec.c
    + added HB_LIBPOSTFIX(). not finalized. it returns 
      the dynamic lib postfix used by Harbour convention
      (f.e. '-21', or '-21-wce-arm') by harbour core dll 
      and contrib dlls

  * src/vm/maindllp/dllpcode.c
    * reduced win specific macros

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhberr.prg
    + added XHB_ERRORLOG( [<cFileName>], [<lAppend>] ) -> { cOldName, lOldAppend }
      to replace xhb _SET_ERRORLOG extension
      (build test only)
    ! fixed != operator on string
2011-05-05 14:53:44 +00:00
Przemyslaw Czerpak
340395f7bb 2011-05-04 17:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbinit.h
    * formatting

  * harbour/src/common/hbstr.c
    * pacified warnings generated by C compilers having
      modf() function wrongly defined in header files

  * harbour/src/rtl/hbtoken.c
    ! fixed bug reported by Patrick on xHarbour devel list

  * harbour/src/rdd/dbfcdx/dbfcdx1.c
    * modified to use different startup function names as workaround
      for problems with non unique function names reported by compilers
      using HB_INITSEG_STARTUP - it's not a fix but workaround only.
2011-05-04 15:02:01 +00:00
Viktor Szakats
3313096d1d 2011-04-30 16:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/inkey.c
  * contrib/xhb/hbcompat.ch
    + added HB_KEYNEXT( [<nEventMask>] ) -> <nKey>
      (same as now disabled dirty xhb extension for NEXTKEY())
2011-04-30 15:00:50 +00:00
Viktor Szakats
7b3c518a60 2011-04-21 10:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * include/hbapi.h
  * src/common/hbver.c
  * src/rtl/version.c
    + hb_verHostCPU() to return CPU architecture the host OS
      is running under. (long time TODO)
      It may or may not give precise answer depending on 
      target OS. For win, it works as exptected.
    + HB_OSCPU() -> <cCPU> same for .prg level apps.

  * contrib/hbmxml/3rd/minixml/mxml_str.c
    ! Ultimate isdigit() fix. [Tamas Tevesz]
2011-04-21 08:36:15 +00:00
Viktor Szakats
54463d9f13 2011-04-19 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/version.c
    * Renamed recently added function HB_OSBITWIDTH() to HB_OSIS64BIT()
2011-04-19 15:55:35 +00:00
Przemyslaw Czerpak
e761af46e6 2011-04-19 15:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/procaddr.c
    ! removed dummy entry at the end of function table

  * harbour/src/common/hbstr.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/contrib/xhb/fparse.c
    * pacified warnings

  * harbour/include/hbsetup.h
    * disabled flatten function attribute in ANDROID builds,
      it causes that Android_NDK-GCC GPFs compiling src/vm/procaddr.c

  * harbour/include/hbdate.h
    * enabled localtime_r() in Android builds

  * harbour/src/common/hbgete.c
    * enabled setenv() in Android builds

  * harbour/src/common/hbtrace.c
    ! fixed ANDROID_LOG_* flags
    ; QUESTION: why Android log is used instead of syslog?
                It causes that harbour has to be linked with
                log library (-llog).

  * harbour/src/common/hbprintf.c
    * disabled modfl() in Android builds

  * harbour/src/rtl/filesys.c
    * added hack for missing functions in android libc library

  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/disksphb.c
    * use statfs instead of statvfs in Android builds

  * harbour/contrib/hbct/dattime3.c
    * disabled stime() in Android builds

  * harbour/contrib/hbmzip/3rd/minizip/ioapi.h
    * do not use 64bit FILE functions in Android builds

  * harbour/contrib/xhb/hbsyslog.c
    * disabled using Android log in Android builds - use standard syslog
      instead. This code needs deeper modification to switch to Android log.

  ; I have just recompiled whole Harbour code for android-3, android-5
    and android-9 at ARM using standard Harbour Linux build files.
    Android does not have pthread and rt libraries (they are merged
    with android c library) so to avoid link errors I simply created
    soft links from libpthread.a and librt.a to libc.a.
    With this hack could use unmodified hbmk2 and linux .mk files.
    BTW exporting HB_CPU="arm" was not enough to switch to cross build
    in my x86@64 Linux machine so I had to export HB_HOST_BIN and set
    HB_BUILD_3RDEXT="no"
2011-04-19 13:11:43 +00:00
Przemyslaw Czerpak
517cba758b 2011-04-18 17:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/rtl/filesys.c
    + added new C function:
         int hb_fsIsPipeOrSock( HB_FHANDLE hPipeHandle );

  * harbour/src/rtl/filesys.c
    + added protection against slow function interrupting by signals
      in *nixes
2011-04-18 15:21:36 +00:00
Viktor Szakats
76ede8f870 2011-04-18 16:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + added HB_PREAD
2011-04-18 14:29:04 +00:00
Przemyslaw Czerpak
1df7b744c3 2011-04-18 09:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/rtl/filesys.c
    + added new C functions:
         HB_BOOL hb_fsPipeCreate( HB_FHANDLE hPipe[ 2 ] );
         HB_SIZE hb_fsPipeIsData( HB_FHANDLE hPipeHandle, HB_SIZE nBufferSize,
                                  HB_MAXINT nTimeOut );
         HB_SIZE hb_fsPipeRead( HB_FHANDLE hPipeHandle,
                                void * buffer, HB_SIZE nSize,
                                HB_MAXINT nTimeOut );

  * harbour/src/rtl/philes.c
    + added new PRG function:
         HB_PREAD( <nPipeHandle>, <@cBuffer>, [<nBytes>], [<nTimeOut>] )
               -> <nBytesRead>
      It can be used for unblocking read from pipes, i.e. using handles
      returned by hb_processOpen() function.
      <nPipeHandle> is pipe read handle
      <cBuffer> is string variable passed by reference with read buffer
      <nBytes> is maximum number of bytes which can be read
      <nTimeOut> is timeout in milliseconds to wait for data to read,
                 this function returns when at least one byte can be read
      <nBytesRead> is number of bytes read from the pipe,
                   on error this function return -1.

  * harbour/src/rtl/hbproces.c
    + add new implementation of hb_fsProcessValue() and hb_fsProcessClose()
      for OS2 which uses OS2 API
    * use hb_fsPipeCreate()

  * harbour/src/rtl/hbjson.c
    * minor code reorganization to cleanup warning
2011-04-18 07:34:17 +00:00
Viktor Szakats
6f535fd1e8 2011-04-16 20:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbstack.h
  * include/hbapi.h
    ! Marked functions as HB_EXPORT (should be HB_EXPORT_INT in the future)
      which are used by hbdebug lib. It caused link error when using
      '-b -shared' hbmk2 options on non-mingw windows compilers:
         hb_stackDebugInfo
         hb_macroGetType
         hb_macroGetValue
         hb_memvarGetValueBySym
2011-04-16 18:28:20 +00:00
Viktor Szakats
78eccb928c 2011-04-16 19:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbtrace.c
  * contrib/xhb/hbsyslog.c
    + Added Android specific logging support. Untested.

  * contrib/xhb/hbsyslog.c
    ! Disabled syslog() call for Symbian.

  * include/hbsetup.h
    + Added Android OS platform detection. Untested.

  * utils/hbmk2/hbmk2.prg
    % Disabled some very old HB_INSTALL_PREFIX autodetection logic,
      which supports some obsolete looking scenarios when hbmk2 executable
      is not in standard location. Rest of logic and failure detection
      rearranged accordingly. After this step hbmk2 no more requires
      harbour executable to be present next to it.
      IMPORTANT: This is live testing, pls report any problems.
2011-04-16 17:41:23 +00:00
Viktor Szakats
76ea49c864 2011-04-15 22:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/harbour.hbx
  * src/common/hbver.c
  * src/rtl/version.c
    + added hb_verHostBitWidth( void ) -> int which retrieves bit width of host OS
    + added HB_OSBITWIDTH() -> <nBits>
    ; It will currently work on win platform, falling back to target arch bits
      for others. Pls extend it for *nixes. For MS-DOS, 32 will be returned with
      both currently supported compilers.
2011-04-15 20:04:02 +00:00
Viktor Szakats
2b2549b74a 2011-04-15 10:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
    + added HB_MUTEXEVAL

  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/*.po
    + Added note to -l option: 'Do not add core Harbour libraries, they are automatically added as needed.'

  * utils/hbmk2/hbmk2.hbp
    ! Deleted bad hack linking in hbcplr, hbpp, hbcommon on non-mingw
      win compilers.
2011-04-15 08:21:50 +00:00
Przemyslaw Czerpak
30a8610407 2011-04-13 11:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for user defined character encoding.
      Now it's possible to easy create and register in HVM CPs using any
      encoding so I expected that users interested in adding support for
      some exotic character encoding will create such mapping instead
      of asking for it.
    % moved support for codepages using multibyte characters mapped to
      single unicode values to user defined encoding - it nicely simplify
      the code and eliminate unnecessary overhead in other CPs.
    * allow to chose UTF8 as HVM CP

  * harbour/src/rtl/idle.c
    ! fixed idle mode flag resetting

  * harbour/src/rdd/hbsix/sxutil.c
    ! fixed SX_SLIMFAST() results when nested quoting with (") and (') is
      used

  + harbour/tests/big5_gen.prg
    + added code to generate C source with conversion tables between
      BIG5 and UCS16 using data defined by Unicode, Inc. in BIG5.TXT

  + harbour/src/codepage/cp_utf8.c
    + added alternative UTF8 Harbour CP (UTF8ASC) as an example Harbour
      user defined codapged using multibyte character encoding

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cp_u16le.c
    + added Harbour codepage using UTF16 little endian encoding

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/big5.c
  + harbour/src/codepage/cp_big5.c
    + added BIG5 Harbour CP. It can be used with programs using Harbour
      STR API with automatic translations.
    ; This CP needs really big translation tables. I added code which
      makes some very simple compression which reduced raw size from
      176100 bytes to 77354 but it's still large 77KB so maybe we should
      think about moving this CP to other Harbour codpage library which
      is not part of harbour shared library harbour*{.dll|.so|.dyn|...}
      Alternatively I can try to reduce static size to about 30KB and
      then build necessary tables dynamically at runtime when they are
      used first time though in such case I will need additional 177KB
      of dynamic memory instead of 77KB of static memory used by current
      code.
2011-04-13 09:07:47 +00:00
Przemyslaw Czerpak
528fda3770 2011-04-10 12:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    * removed fCtrl parameter from hb_cdp*() functions. It was used only
      in very specific case for GT output translations to show characters
      with ASCII codes in range < 0x00 : 0x1F > as corresponding CGA/EGA/VGA
      glyphs and was not necessary in normal conversions
    + added new function for character translation in GT output operations:
      hb_cdpTranslateDispChar(), hb_cdpGetU16Disp(),hb_cdpStrToUTF8Disp()
    * some small fixes, simplifications and improvements in CDP translation
      code

  * harbour/src/vm/strapi.c
  * harbour/src/rtl/cdpapihb.c
  * harbour/src/rtl/hbjson.c
  * harbour/contrib/hbexpat/internal.c
    * removed not longer necessary parameter from hb_cdp*() functions

  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/wvggui.c
    * use hb_cdp*Disp() functions instead of old ones with fCtrl=HB_TRUE
      parameter
    * removed not longer necessary fCtrl parameter from other hb_cdp*()
      functions

  * harbour/src/codepage/uc646_yu.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_6.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/ucnext.c
    * removed not longer necessary unicode codes in range < 0x00 : 0x1F >
      Now it's possible to define additional characters in this range though
      I suggest to not use edit/flow control codes (BEL, BS, TAB, LF, CR,
      XON, XOFF)

  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1026.c
    * restored EBCDIC control codes
2011-04-10 10:44:45 +00:00
Przemyslaw Czerpak
4a996c7ce7 2011-03-30 13:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
    ! fixed wrong decimal value defined for HB_GTI_KBD_RALT.
    * translated HB_GTI_KBD_* values from decimal to hex numbers
      to avoid such mistakes in the future.
2011-03-30 11:40:28 +00:00
Przemyslaw Czerpak
a5fa7383a9 2011-03-27 12:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/rtl/hbrandom.c
    added new C functions which fills memory block with random values:
         void hb_random_block( void * data, HB_SIZE len )
    this function should be used with "good enough" random generator
    so in the future it may be changed to use internally sth different
    then rand().

  * harbour/src/vm/thread.c
    * pacified minor warning
2011-03-27 10:45:35 +00:00
Przemyslaw Czerpak
14777609cf 2011-03-26 03:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbproces.c
    ! fixed one HB_TRUE wrongly used instead of TRUE
    * minor simplification

  * harbour/include/hbgtinfo.ch
  * harbour/src/rtl/hbgtcore.c
    + added HB_GTI_VERSION - it returns version information just like
      hb_gtVersion() - usually the same but can be different in some
      multilevel GTs, i.e. when different GT drivers are used locally
      and remotely.

  * harbour/include/inkey.ch
  * harbour/src/rtl/hbgtcore.c
    + added HB_K_CONNECT and HB_K_DISCONNECT inkey codes.
      They can be used to signal that remote terminal is connected or
      diconnected.

  * harbour/tests/gtkeys.prg
    + added HB_K_* keycodes

  * harbour/contrib/hbnetio/netiosrv.c
    * removed unnecessary casting
2011-03-26 02:32:52 +00:00
Przemyslaw Czerpak
f5529ea16d 2011-03-17 09:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
    + added HB_GTI_ONLINE - Is terminal connected?

  * harbour/src/rtl/hbproces.c
    ! fixed MS-Windows version of hb_fsProcessRun() to unlock HVM stack
      when thread is waiting for child process
2011-03-17 08:38:14 +00:00
Przemyslaw Czerpak
6057dd5088 2011-03-15 14:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/src/vm/thread.c
    + added internal functions hb_threadStateClone() and hb_threadStart()
    * modified code to use new functions

  * harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added public function hb_vmThreadStart() which creates new thread
      with HVM stack
    + added protection against executing hb_vmThreadRelease() for
      not registered thread state
2011-03-15 13:26:47 +00:00
Przemyslaw Czerpak
37bfb36fc3 2011-03-10 17:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbvmpub.h
  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprop.h
  * harbour/include/hbhash.h
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.y
    * simplified function type declarations

  * harbour/src/common/hbstr.c
    ! fixed potential GPF in hb_strnicmp() HB_TR_DEBUG message
2011-03-10 16:12:35 +00:00
Przemyslaw Czerpak
d8ee19c19b 2011-03-08 09:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    * added new public C function:
         HB_BOOL hb_vmRequestReenterExt( void );
      hb_vmRequestReenterExt() checks if given thread has registered HVM
      stack and if not it creates new one otherwise it makes the same
      operations as hb_vmRequestReenter(). It should be also used with
      hb_vmRequestRestore() which checks if new stack was allocated and
      if yes then it releases it.
      For ST HVM hb_vmRequestReenterExt() works exactly like
      hb_vmRequestReenter().

  * harbour/include/hbthread.h
    ! typo in comment

  * harbour/contrib/hbwin/win_svc.c
    ! fixed to work with MT HVM
    + accept function symbol (@func()) as 2-nd parameter of
      WIN_SERVICESTART() function
    * replaced one HB_TCHAR_*() function by Harbour STR API one.
      (for full UNICODE support we should eliminate all HB_TCHAR_*()
      functions)
2011-03-08 08:45:00 +00:00
Przemyslaw Czerpak
a46f493ab8 2011-03-05 15:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    + enabled o:var += <cString> optimization when -ko switch is used
      I added this optimization few years ago but I haven't enabled it
      so far.

  + harbour/tests/speedstr.prg
    + added test code for <exp> += <cString> optimization
      Try this code compiled with -kc switch (disabled += optimization)
      without any -k? switches (default, += optimized for all expressions
      except <obj>:<msg>) and finally with -ko switch (+= optimized for
      all expressions)
      (Warning for larger string non optimized code begins to be _very_
      slow, i.e. for '#define N_LOOP 1000000' it needs fee minutes to
      pass single test)
2011-03-05 14:41:30 +00:00
Viktor Szakats
08e4e055a1 2011-03-02 15:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicls.h
    ! Added missing export from C level class creation 
      functions (to make shared HBQT apps work on non-mingw targets)
2011-03-02 14:30:43 +00:00
Viktor Szakats
a61dbea633 2011-03-01 09:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtinfo.ch
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
    + HB_GTI_ISFULLSCREEN checking and setting inside GTWIN done.
    ! Minor fix for GTWVT, code patched to work on Windows 95 (tested).
    ; [Aleksander Czajczynski]

  * config/beos/gcc.mk
  * config/bsd/clang.mk
  * config/bsd/pcc.mk
  * config/linux/clang.mk
    + add soname specs to some gnu lds [Tamas Tevesz]
2011-03-01 08:44:17 +00:00
Przemyslaw Czerpak
f9823284df 2011-02-28 21:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbapilng.h
  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/src/pp/pplib.c
  * harbour/src/pp/ppcore.c
  * harbour/src/common/hbstr.c
  * harbour/src/rtl/sha2.c
  * harbour/src/rtl/hbinet.c
  * harbour/src/compiler/ppcomp.c
  * harbour/src/compiler/hbfunchk.c
  * harbour/src/compiler/hbgenerr.c
  * harbour/contrib/hbtip/utils.c
    % added missing const to some variable declarations so they can be
      stored in readonly segments

  * harbour/doc/xhb-diff.txt
    ! fixed few typos
2011-02-28 20:43:05 +00:00
Viktor Szakats
0d92423b1c 2011-02-28 21:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtinfo.ch
  * src/rtl/hbgtcore.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtwvt/gtwvt.c
  * contrib/hbct/ctwin.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtalleg/gtalleg.c
  * contrib/hbrun/hbrun.prg
  * tests/wvt_fs.prg
  * examples/gtwvw/gtwvw.c
    * Renamed HB_GTI_FULLSCREEN to HB_GTI_ISSCREENPOS
      HB_GTI_FULLSCREEN is now deprecated and will be deleted in future
      version of Harbour, use the new name instead.
    * Renamed HB_GTI_FULLSCREEN to HB_GTI_ISFULLSCREEN
      in context of GT window being fullscreen on physical display
      recently added in 2011-02-26 20:07 UTC+0100 Viktor Szakats
    ; If someone has further name suggestions, pls tell.

  * src/rtl/hbgtcore.c
    * Setting defaults for HB_GTI_ISFULLSCREEN and HB_GTI_ALTENTER.
2011-02-28 20:09:19 +00:00
Viktor Szakats
d430d3b278 2011-02-28 20:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_EXPORT_INT macro similar to HB_EXPORT, but used for
      exported _internal_ functions. (we may easily rename this
      to something else if a better idea pops up)
    ; TODO: Change HB_EXPORT to HB_EXPORT_INT for rest of internal functions.

  * include/hbpp.h
  * include/hbapi.h
  * include/hbcomp.h
  * include/hbexprop.h
  * include/hbhash.h
    + Using HB_EXPORT_INT to export functions.

  * contrib/hbide/hbide.hbp
  * contrib/hbrun/hbrun.hbp
    ! Deleted bad hack linking in hbcplr, hbpp, hbcommon on non-mingw
      win compilers.
2011-02-28 19:54:13 +00:00
Viktor Szakats
a13f7b1c0c 2011-02-26 20:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtinfo.ch
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  + tests/wvt_fs.prg
    + Added ability to switch GTWVT screen into fullscreen. See example
      for usage. Patch by Aleksander Czajczynski. Many thanks!
      Pls test.

  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    ! Fixed bug introed in 2011-02-24 18:03 UTC-0800 Pritpal Bedi
      where char array declaration used runtime size value.
      Replaced with hb_strdup(). In previous commit I've also fixed
      an strcpy() usage. strcpy() is strictly forbidden in Harbour
      codebase. Hopefully it fixes MSVC build failure.
2011-02-26 19:09:48 +00:00
Viktor Szakats
6e5efdd168 2011-02-19 20:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
  * include/hbver.h
  * config/global.mk
    + Changed version number to:
         2.1.0rc2 (from 2.1.0rc1)
2011-02-19 19:50:00 +00:00
Przemyslaw Czerpak
cdde182682 2011-02-15 20:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/src/vm/hvm.c
  * harbour/src/vm/thread.c
    * on main thread exit unlock all main thread PRG mutexes before other
      thread terminates and EXIT functions are executed.
    * wake-up all thread waiting on subscribe operation when main thread
      is terminated.
2011-02-15 19:55:35 +00:00
Viktor Szakats
709be07f83 2011-02-15 09:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbmk2_qt.hbs
    * Whitespace.

  * include/harbour.hbx
  * src/rtl/hbdoc.prg
  * tests/stripdoc.hbs
    * Added __HBDOC_FILTEROUT( <cFile> ) -> <cFile> internal
      function to strip all NG doc content from a file and
      return the stripped file.

  * contrib/hbide/idedocwriter.prg
    + Use core __HBDOC_TOSOURCE() to generate NG doc source.
      (just build tested)
    ; TOFIX: idedocwriter.prg and ideharbourhelp.prg
             still makes direct reference to NG doc physical
             format. Pls change these to use __HBDOC_* functions.
2011-02-15 08:21:47 +00:00
Przemyslaw Czerpak
a3d538cae5 2011-02-15 00:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/src/vm/classes.c
    + added new C function
         HB_SIZE hb_clsGetVarIndex( HB_USHORT uiClass, PHB_DYNS pVarSym );
      which can be used as hack to speedup accessing some object instance
      variables
2011-02-14 23:48:59 +00:00
Przemyslaw Czerpak
11654224c1 2011-02-14 19:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    + added some class(y) compatible commands for delegated messages

  * harbour/include/hboo.ch
  * harbour/src/vm/classes.c
  * harbour/src/rtl/tclass.prg
    * native support for delegated messages - work in progress

  * harbour/src/rtl/hbsocket.c
    ! fixed error checking to eliminate possible error code overload

  * harbour/ChangeLog
    * marked old TODO as [DONE]
2011-02-14 18:48:59 +00:00