Commit Graph

716 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
aae6eda0c0 2012-03-30 15:53 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    ! fixed typos in HB_FSNAMECONV() definition

  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
  * harbour/src/rtl/hbcom.c
  * harbour/contrib/hbmzip/mzip.c
    ! fixed casting in recent modifications (missing const)

  * harbour/src/rtl/gtcrs/hb-charmap.def
    * formatting
2012-03-30 13:53:42 +00:00
Viktor Szakats
8ebe50a5ce 2012-03-30 12:07 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/fslink.c
  * contrib/hbmzip/mzip.c
    ! fixed missing Windows macro for legacy C compilers (bcc, lcc, dmc)
      regression from 2012-03-28 20:09 UTC+0200 and 2012-03-19 12:55 UTC+0100
      reported by Grigory Filatov
2012-03-30 10:09:44 +00:00
Viktor Szakats
c41dffe86e 2012-03-29 03:45 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/fstemp.c
    * hb_fsCreateTempEx(): changed to have only one return point
    ! hb_fsCreateTempEx(): do not call hb_fsNameConv() before
      calling hb_fsCreateEx(). Latter does this since a few
      commits, causing a regression here.
    ! low level hb_fsTempName() fixed to use HB_FSNAMECONV()
      instead of HB_TCHAR_*() macros. This is slightly inappropriate
      for 'prefix' parameter, but will do for now.
    ! low level hb_fsTempName() fixed to convert back result
      to _SET_OSCODEPAGE. This fixes caller hb_fsCreateTemp()
      which passes the value to hb_fsCreateEx().
    ! hb_fsTempDir(): fixed to convert result to _SET_OSCODEPAGE.
    ; NOTE: These are supposed to fix some recent and not so recent
            oddities with HB_FCREATETEMP[EX]() and HB_DIRTEMP()
            functions when used with non-ASCII chars, especially
            on Windows. Tests done only on Windows, please review
            and test, also on other platforms, non-UNICODE mode.
            Regressions are possible.
            Oddly, HB_FCREATETEMP() won't work well without properly
            set _SET_OSCODEPAGE, probably something requiring further
            fixes (and/or internal unicode support?).
    ; NOTE: As a loose rule of thumb, each Harbour high-level (.prg)
            and low-level (.c) public APIs should expect and return
            strings in _SET_CODEPAGE, while applying FSCONV transformations
            on input filenames, and converting to/from _SET_OSCODEPAGE
            when interfacing with OS-level FS APIs (_SET_OSCODEPAGE
            should be ignored if OS-level FS APIs are capable of
            handling unicode, f.e. in Windows default build mode).
            Currently, low-level code uses a mixture of different
            methods to achieve this, HB_TCHAR_* macros and equivalent
            APIs, HB_FSNAMECONV(), hb_osDecodeCP()/hb_osEncodeCP(),
            hb_fsNameConv(), Str API.

  * contrib/hbmzip/mzip.c
    + Changed to use HB_FSNAMECONV() instead of HB_TCHAR_*() macros.
    
  ; review me!
2012-03-29 01:45:42 +00:00
Przemyslaw Czerpak
e4b3fb8a71 2012-03-29 00:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/itemapi.c
    % removed redundant trailing 0 setting

  * harbour/src/rtl/fslink.c
    ! fixed hb_osDecodeCP() usage

  * harbour/ChangeLog
    * marked last TOFIX as [DONE]
2012-03-28 22:07:12 +00:00
Viktor Szakats
5e6c54d918 2012-03-28 23:56 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/fslink.c
    + use hb_vmUnlock()/hb_vmLock()
2012-03-28 21:57:21 +00:00
Viktor Szakats
82a592de34 2012-03-28 20:09 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/fslink.c
    + replaced HB_TCHAR_CONVTO() with HB_FSNAMECONV() on win
    + added hb_fsNameConv() support on *nix
      !!! review me !!!
    ! HB_FLINKSYM()/hb_fsLinkSym() fixed to work with directories on win,
      performance should be better also
    ! HB_FLINKREAD()/hb_fsLinkRead() fixed to return information for
      directories on win.
    + HB_FLINKREAD()/hb_fsLinkRead() now returns value in core codepage.
      TOFIX: It crashes now on *nix, after hours of trying I give up,
             please review the hb_osDecodeCP() call and fix it.
    ; TODO: this leaves only one HB_TCHAR_COPYFROM() macro in this file.

  * tests/flink.prg
    ! fixed typo in HB_FLINKSYM() directory test
    * minor cleanup for directory link name
2012-03-28 18:10:19 +00:00
Viktor Szakats
3a09b74d01 2012-03-28 14:18 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/fslink.c
    % using HB_TCHAR_COPYFROM() macro instead of locally rolled 
      (equivalent) logic.
2012-03-28 12:19:01 +00:00
Viktor Szakats
729faa1eb5 2012-03-27 02:52 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/tbrowse.prg
    ! ignore non-string column picture value like Clipper (instead of RTE)
      (reported by Rossine)
    ; review/check me

  * INSTALL
    + added TROUBLESHOOTING / 13. on testing compatibility components
      against original implementation.
2012-03-27 00:53:27 +00:00
Przemyslaw Czerpak
de28a00d37 2012-03-20 19:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
  * harbour/src/codepage/cp_utf8.c
    * slightly modified algorithms for decoding UTF8 characters to work
      better with broken UTF8 strings (i.e. to not eat characters after
      broken and unclosed multibyte one)
    * some minor improvements in HB_UTF8STUFF()
    * formating
2012-03-20 18:06:41 +00:00
Przemyslaw Czerpak
1038fb15fb 2012-03-20 18:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbwinuni.h
    + added HB_FSNAMECONV() macro - it's automatically redirected to
      hb_fsNameConv() or hb_fsNameConvU16() functions depending on
      UNICODE windows macro

  * harbour/include/hbapifs.h
  * harbour/src/rtl/filesys.c
    + added hb_fsNameConvU16() C function - it makes similar operatin to
      hb_fsNameConv() but returns UTF16 string.
    + added hb_fsPipeUnblock() C function - currently it works only
      in POSIX systems
    * HB_FSNAMECONV() instead of HB_TCHAR_*() macros

  * harbour/src/rtl/hbcom.c
    * HB_FSNAMECONV() instead of HB_TCHAR_*() macros
    % encapsulate port open and close operations inside
      hb_vmUnlock()/hb_vmLock() - on some systems this can
      be slow operations, i.e. close() is delayed until
      byte in output buffer are not transmitted.

  * harbour/src/rtl/hbproces.c
    % prefer read then write in pipe operations
    ! in POSIX systems set unblocking mode for PIPE handles in
      hb_fsProcessRun() function - it fixes potential deadlock

  * harbour/src/common/strwild.c
    * formatting

  * harbour/src/rtl/dircmd.prg
    % use space( n ) instead of repl( chr( 0 ), n ) for allocating
      dirty buffer

  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtsln/kbsln.c
    * ignore broken UTF8 characters in input
2012-03-20 17:40:34 +00:00
Przemyslaw Czerpak
9723beb5c0 2012-03-13 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/package/harbour.spec
    ! added missing attribute for harbour.ld.conf file
    ! added optional hbhttpds library

  * harbour/contrib/hbct/envparam.c
  * harbour/contrib/hbct/dummy.c
  * harbour/contrib/hbct/hbct.hbp
  * harbour/contrib/hbct/hbct.hbx
    + added ENVPARM() - now it's implemented for all platforms but
      it should be tested on different *nixes - some of them may not
      support 'char * environ' public variable

  * harbour/contrib/xhb/hbserv.c
    * added missing dummy functions in DOS builds

  * harbour/utils/hbmk2/hbmk2.prg
    ! do not set binding to hb_forceLinkMainWin() when -nohblib and -gui
      switches are used together


  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new C functions hb_cdpnDupUpper(), hb_cdpnDupLower(),
      hb_cdpnDup2Upper() and hb_cdpnDup2Lower().
      They should be used instead of hb_strUpper() and hb_strLower()
      functions because they can work well with CPs where upper and
      lower characters uses different number of bytes, i.e. UTF8 has
      such characters.

  * harbour/src/rtl/strcase.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/hbsix/sxsem.c
    * replaced obsolete hb_strUpper() and hb_strLower() functions with
      new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.

  * harbour/src/rdd/hbsix/sxutil.c
    * replaced obsolete hb_charUpper() function with hb_cdpnDupUpper()

  * harbour/contrib/sddpg/sddpg.c
  * harbour/contrib/sddsqlt3/sddsqlt3.c
  * harbour/contrib/sddmy/sddmy.c
  * harbour/contrib/sddfb/sddfb.c
  * harbour/contrib/sddodbc/sddodbc.c
  * harbour/contrib/sddoci/sddoci.c
    ! fixed memory leaks
    * replaced obsolete hb_strUpper() and hb_strLower() functions with
      new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.
    ; TODO: these conversions are redundant - I'll remove them in next
            commit.
2012-03-13 11:55:43 +00:00
Przemyslaw Czerpak
de755848ab 2012-02-17 21:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcom.ch
  * harbour/src/rtl/hbcom.c
    + added new serial error code: HB_COM_ERR_PIPE
      It's usable for some devices which use EPIPE error to
      signal disconnected state.

  * harbour/src/3rd/zlib/zlib.h
    + added missing declarations for exported public functions

  * harbour/src/3rd/zlib/gzlib.c
  * harbour/src/3rd/zlib/gzguts.h
    ! fixed POCC and XCC compilation
    * enabled support for vsnprintf() in OpenWatcom builds

  * harbour/src/3rd/zlib/Makefile
    ! fixed all non windows and WATCOM builds - critical macro
      set by ./configure in ZLIB was not defined
    ; warning long file support is broken on most of 32bit platforms
      so be careful with GZIP functions.

  * harbour/contrib/gtwvg/gtwvg.h
    + define WINVER 0x0500 - it's necessary for some macros and
      structures used by GTWVG code

  * harbour/contrib/gtwvg/wvgwin.c
    * removed redundant line with 'break;' instruction
2012-02-17 20:04:42 +00:00
Viktor Szakats
9f59d4f4d0 2012-02-09 13:49 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/rtl/hbjson.c
    + HB_JSONDECODE(): retain physical order of value pair in returned hash

  * utils/hbmk2/hbmk2.prg
    ! formatting

  * INSTALL
    ! wording
2012-02-09 12:50:36 +00:00
Viktor Szakats
20f5ea7f26 2012-02-07 20:48 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/vm/set.c
    ! SET( _SET_DEVICE ) to accept anything starting with "PRIN"
      as "PRINTER" for Cl*pper compatibility.

  * src/rtl/filesys.c
    ! use utimes() instead of utime() on non-watcom linux platform
      to avoid warning (and to follow the other similar utimes() call).

  ; lightly tested, review me
2012-02-07 19:54:22 +00:00
Przemyslaw Czerpak
c68616972b 2012-01-30 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
    + added HB_FUNC_EXCLUDE HB_MT
      TOFIX: it also disabled HB_MTVM() function. It should not happen.

  * harbour/include/hbcpage.hbx
    + added HB_FUNC_EXCLUDE HB_CODEPAGE_BIG5

  * harbour/include/harbour.hbx
  * harbour/include/hbusrrdd.hbx
  * harbour/include/hbscalar.hbx
  * harbour/include/hblang.hbx
  * harbour/include/hbcpage.hbx
    * regenerated automatically

  * harbour/src/rtl/valtype.c
    + added new PRG function: HB_ISHASHKEY( <xVal> ) -> <lValidHashKey>

  * harbour/src/lang/msgskiso.c
  * harbour/src/lang/msgskwin.c
  * harbour/src/lang/msgskkam.c
  * harbour/src/lang/msgsk852.c
    * modification in Slovak CPs by Jaroslav Janik - many thanks.
2012-01-30 13:33:49 +00:00
Viktor Szakats
e83d6afbe2 2012-01-30 10:27 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/rtl/getsyshb.prg
    % optimization

  * contrib/hbqt/hbmk2_qt.hbs
    ! fixed version guards to add complete .prg level
      interface when the whole class is unsupported
      in the QT version we're building against
2012-01-30 09:30:22 +00:00
Viktor Szakats
e02cbc6c06 2012-01-29 17:22 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/rtl/tget.prg
  * src/rtl/getsyshb.prg
    + added support for hash GET variables

  * utils/hbmk2/hbmk2.prg
    + added REQUESTs to blowfish, md5, sha1 and few sha2 functions
      for 3rd party plugins

  * contrib/hbhttpd/core.prg
    * fmt
2012-01-29 16:25:03 +00:00
Viktor Szakats
a33320a273 2012-01-12 18:48 UTC+0100 Viktor Szakats (harbour syenar.net)
- src/rtl/hbdynhb.c
    - deleted support to accept raw function pointers. INCOMPATIBLE.
      (note the C-level and XBase++ compatibility .prg-level interfaces
      continue to offer that option)

    ; HB_DYNCALL() should be called as follows:

        HB_DYNCALL( { <cFunction>, <cLibrary> | <pLibrary> [, <nFuncFlags> [, <nArgFlags1>, ..., <nArgFlagsn> ]] }, ... ) -> <xResult>

        where
           <nFuncFlags> can be:
              hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_*, HB_DYN_CALLCONV_* )
           <nArgFlags*> can be:
              hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_* )
2012-01-12 17:53:12 +00:00
Viktor Szakats
521f3c61f8 restored mistakenly undone e-mail address change 2012-01-11 23:25:01 +00:00
Viktor Szakats
97b38b702d 2012-01-12 00:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/rtl/memvarhb.prg
    % '&varname := value' -> __mvPut( varname, value )
    * formatting

  * contrib/hbrun/hbrun.prg
    ! formatting
2012-01-11 23:15:38 +00:00
Mindaugas Kavaliauskas
88a8e73167 2012-01-11 19:25 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* contrib/hbcairo/core.c
    ! fixed typo

  * contrib/hbssl/ssl.c
    ! fixed typo in SSL_GET_MODE()

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/x509.c
  * contrib/hbssl/ssl.c
    + implemented release option for X509 collectable pointer
    ; openSSL increments reference counter for X509 returned
      by SSL_get_peer_certificate(), but does not increment it
      for SSL_get_certificate(). Unnecessary freeing of X509
      pointer caused random GPF later

  * src/rtl/hbsockhb.c
    * changed .prg level hb_socketSetBlockingIO() return value 
      type from lSuccess to nSuccess, to have the same return
      value meaning precision as C level function

  * src/rtl/hbsockhb.c
  * include/harbour.hbx
    + hb_socketGetFD( hSocket ) --> nFD
2012-01-11 17:26:24 +00:00
Viktor Szakats
1b4008723b 2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
  * (whole tree)
    * changed e-mail address
2012-01-06 15:28:23 +00:00
Przemyslaw Czerpak
31cf695ec8 2012-01-05 14:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/hbgtcore.c
    + added default value (0) for HB_GTI_KBDSHIFTS in GTs which
      do not support this HB_GTI_* flag
2012-01-05 13:07:59 +00:00
Przemyslaw Czerpak
cf3e9d7021 2012-01-04 00:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/filebuf.c
    ! modified the code to work with optimizations like -fstrict-overflow
      in GCC which assumes signed overflow does not occur.
2012-01-03 23:12:44 +00:00
Przemyslaw Czerpak
accac7cd8e 2012-01-03 15:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/filebuf.c
    ! fixed next three integer overflows exploited by HB64 locking mode.
      BTW probably I'll move the lock range to not operate on last positive
      offset because such overflow problems can be also exploited in low
      level OS or network transport layer code - it happened in the past.
      I'll do that when we confirm that current Harbour implementation
      is correct.
2012-01-03 14:41:08 +00:00
Przemyslaw Czerpak
ff6a1d420f 2012-01-03 10:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/filebuf.c
    ! fixed integer overflow in code scanning the lock pool.
      It fixes the problem with releasing FLOCK() reported by Viktor.
2012-01-03 09:40:12 +00:00
Przemyslaw Czerpak
a186aabf28 2012-01-02 23:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtwvg/gtwvg.c
    ! always set trailing 0 in the buffer containing font name set
      by HB_GTI_FONTNAME - protection against too long strings.

  * harbour/contrib/gtwvg/wvgwing.c
    ! fixed memory leak in last commit - thanks to Mindaugas.
    % use HB_ITEMCOPYSTR() in WVG_FONTCREATE() to eliminate memory
      allocation.
2012-01-02 22:10:36 +00:00
Przemyslaw Czerpak
2421162fb1 2011-12-30 13:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/ChangeLog
    ! fixed typo in file name in my previous commit.
      It should be gtwvg.c not gtwvg.h

  * harbour/src/rtl/disksphb.c
    ! fixed variable declaration for strict ANSI C compilers
2011-12-30 12:15:50 +00:00
Przemyslaw Czerpak
2cd688f7a6 2011-12-29 23:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapistr.h
  * harbour/src/vm/strapi.c
    + added new C functions:
         hb_wstrncpy(), hb_wstrncat()

  * harbour/src/common/hbstr.c
    ; minor updated in comment

  * harbour/include/hbwinuni.h
    + added new macros:
         HB_STRLEN(), HB_STRNLEN(), HB_STRDUP(), HB_STRNDUP(),
         HB_STRNCPY(), HB_STRNCAT(), HB_STRCMP(), HB_STRNCMP()

  * harbour/src/rtl/disksphb.c
  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
    * eliminated HB_TCHAR_*() macros
2011-12-29 22:51:29 +00:00
Viktor Szakats
7ad3481808 2011-12-24 03:32 UTC+0100 Viktor Szakats (harbour syenar.hu)
* ChangeLog
  * (whole tree)
    * removed obsolete antispam measure from my e-mail address
2011-12-24 02:47:24 +00:00
Przemyslaw Czerpak
d4128116bb 2011-12-23 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    ! fixed typo in hb_cdpUTF8StringPeek() declaration
2011-12-23 09:43:30 +00:00
Przemyslaw Czerpak
f8ca5b43dc 2011-12-07 16:24 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/debian/changelog
  * harbour/debian/rules
    * changed version number to 3.1.0-1
    * removed HB_BUILD_DEBUG=yes
    * use 'dh_prep' instead of deprecated 'dh_clean -k'

  * harbour/src/rtl/gttrm/gttrm.c
    ! fixed my C&P typo in HB_TRACE() message

  + harbour/doc/locks.txt
    + added descirption of DBF locking schemes
2011-12-07 15:24:59 +00:00
Przemyslaw Czerpak
8f7e9eda97 2011-12-06 11:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbrdddbf.h
    * modified DB_DBFLOCK_HB64 locking scheme
         - extended RLOCK/FLOCK area from 2^31-2 to 2^32-2
           it effectively changes maximum number of records in this
           locking scheme to 4'294'967'294
         - use COMIX like hyper locking mode
           it should increase performance
      Warning: INCOMPATIBLE!
               all applications using DB_DBFLOCK_HB64 locking mode should
               be updated - it is not safe to concurrently access the
               same files using programs compiled with older Harbour
               versions and current one.
    * renamed the following DB_DBFLOCK_* macros:
         DB_DBFLOCK_CLIP    to DB_DBFLOCK_CLIPPER
         DB_DBFLOCK_CL53    to DB_DBFLOCK_COMIX
         DB_DBFLOCK_CL53EXT to DB_DBFLOCK_HB32
    * added new locking scheme: DB_DBFLOCK_CLIPPER2
      This locking scheme is designed to replicate _real_ locking scheme
      used by Cl*pper applications linked with NTXLOCK2.OBJ
      It's different then the documented one.
    ; Now Harbour supports the following locking schemes:
         DB_DBFLOCK_CLIPPER  1 default Clipper locking scheme
         DB_DBFLOCK_COMIX    2 COMIX and CL53 DBFCDX hyper locking scheme
         DB_DBFLOCK_VFP      3 [V]FP, CL52 DBFCDX, SIx3 SIXCDX, CDXLOCK.OBJ
         DB_DBFLOCK_HB32     4 Harbour hyper locking scheme for 32bit file API
         DB_DBFLOCK_HB64     5 Harbour hyper locking scheme for 64bit file API
         DB_DBFLOCK_CLIPPER2 6 extended Clipper locking scheme NTXLOCK2.OBJ

  * harbour/include/hbrdddbf.h
  * harbour/include/hbrddntx.h
  * harbour/include/hbrddnsx.h
  * harbour/include/hbrddcdx.h
  * harbour/src/rdd/dbf1.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
    + finished support for COMIX like hyper locking.
      This modification enables periodical switch to write locks
      by readers to eliminate starvation effect on some systems
      where many readers can completely block writer.
      By default readers use exclusive lock once per each 16 operations.
    + added optional support for delayed index write locks (flush locks)
      in hyper locking modes.
      If index RDD can use such locks then write lock can be divided into
      two parts:
         1) block writers and new readers (write lock)
         [prepare index modifications in memory]
         2) wait for old readers still active (flush lock)
         [write modifications to index file]
         [release locks]
      This mode reduces time when index is locked exclusively increasing
      reader performance and also increase writer performance because
      waiting for active readers it can prepare index modifications in
      memory.

  * harbour/src/rdd/dbfcdx/dbfcdx1.c
    + added support for delayed index write locks (flush locks) in DBFCDX

  * harbour/src/rtl/filebuf.c
    * automatically change write file locks to read locks when file is
      open in readonly mode in POSIX systems.

  * harbour/src/vm/classes.c
    * disabled inheriting of class variables values from ancestor classes
      when new class is dynamically created.
      Warning: INCOMPATIBLE!
               This modification is not backward compatible and can
               interact with some existing code which has to be updated
               for new behavior.
2011-12-06 10:42:41 +00:00
Przemyslaw Czerpak
d8bb277c4d 2011-11-23 17:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
==> ChangeLog <==
2011-11-17 09:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * harbour/src/rtl/filebuf.c
    ! fixed silly typo in previous fix: 2011-09-02 14:03 UTC+0200
    ! fixed race condition in code emulating DOS/Windows file lock
      behavior in POSIX systems. The problem could be exploited by
      Harbour MT programs using the same files in many threads in
      more then on process. Many thanks to Zsolt for the info and
      test code example.
      [TOMERGE 3.0]
2011-11-23 16:54:49 +00:00
Viktor Szakats
0c38ab1529 2011-11-23 00:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbini.prg
    ! fixed HB_HKEEPORDER() usage in prev patch.
      Thx for input to Qatan and Mindaugas.
2011-11-22 23:09:03 +00:00
Viktor Szakats
5ee6af4c38 2011-11-22 18:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbini.prg
    + keep order of ini items.
      Patch by Qatan.
    * modified to use HB_HKEEPORDER() instead of HB_HSETORDER() 
      to be consistent along the patch and because former is the 
      native, faster synonym.
2011-11-22 17:19:20 +00:00
Przemyslaw Czerpak
7132c43df2 2011-11-15 23:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbproces.c
    * added workaround for missing chroot() in OpenWatcom 1.9 linux libraries
2011-11-15 22:28:33 +00:00
Przemyslaw Czerpak
d48fad60fc 2011-11-14 13:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    + added support for selecting text with mouse and coping it
      to clipboard buffer.
      By default this functionality is disabled and can be enabled by:
         hb_gtInfo( HB_GTI_SELECTCOPY, .t. )
      Marked mode is started by LEFT MOUSE button pressed with SHIFT key
      and stopped when LEFT MOUSE button is released. Selected text is
      highlight in similar way to GTWVT.
2011-11-14 12:23:40 +00:00
Przemyslaw Czerpak
59acee8c4b 2011-11-14 11:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    * minor code cleanup
2011-11-14 10:54:15 +00:00
Przemyslaw Czerpak
7f7d2e8f04 2011-11-10 10:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! create initial console window in fullscreen mode if user called
         hb_gtInfo( HB_GTI_ISFULLSCREEN, .T. )
      before window was created
  * harbour/tests/gtkeys.prg
    * modified to optionally test different CPs some extended GT keys
2011-11-10 09:34:55 +00:00
Przemyslaw Czerpak
0ceb3f3ee7 2011-11-09 17:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    * return HB_GTI_RESIZEMODE_ROWS for HB_GTI_RESIZEMODE
      HB_GTI_RESIZEMODE_FONT is not supported yet by GTXWC
    + added support for HB_GTI_ISFULLSCREEN and HB_GTI_ALTENTER
      They work like in GTWVT with HB_GTI_RESIZEMODE_FONT.
      Some window managers may not support it so please test it.
    + added support for HB_K_CLOSE, HB_K_GOTFOCUS and HB_K_LOSTFOCUS
      like in GTWVT
2011-11-09 16:17:21 +00:00
Przemyslaw Czerpak
065818dc1a 2011-11-08 19:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    + added support for 'Root' input context for systems where
      XLib supports Xutf8LookupString()
      It should resolve problems with national characters and
      some local signs supported by different keyboards
      (i.e. 1/2, euro sign, itp.)
      Please test it with different systems.
2011-11-08 18:53:29 +00:00
Przemyslaw Czerpak
c779d18252 2011-11-08 12:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
    * minor code cleanup

  * harbour/src/rtl/gttrm/gttrm.c
    + added support for HB_GTI_WINTITLE for XTerm compatible terminals
2011-11-08 11:29:25 +00:00
Przemyslaw Czerpak
e3efbb6652 2011-10-30 01:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbdyn.c
    * added dummy assignment to pacify warning

  * harbour/src/rtl/hbsocket.c
    * added workaround for EREFUSED == ECONNREFUSED.
      It has to be tested with different OS-es
2011-10-29 23:35:28 +00:00
Viktor Szakats
0a4bccada8 2011-10-28 01:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/tget.prg
    ! fixed RTE when setting :picture to NIL for
      N and C types in some certain rare circumstantances.
      The :picture setting operation is ignored in such case, 
      since the internally stored original value is not known.
      Tested OK against CA-Cl*pper 5.3, though maybe it's 
      possible to refine this even further with more test cases.

  * tests/rto_get.prg
    + added test case for RTE reported by Quique
    ! fixed warnings
2011-10-27 23:30:35 +00:00
Przemyslaw Czerpak
c5d0f87eb6 2011-10-27 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
    + added font independent set of custom box characters
2011-10-27 10:37:37 +00:00
Viktor Szakats
3372045d56 missing space after prev commit 2011-10-24 11:38:10 +00:00
Viktor Szakats
3262a1a8a4 2011-10-24 13:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    ! Missing break clause causing following code also changes 
      console window title.
         hb_gtInfo( HB_GTI_BOXCP, hb_cdpSelect() )
      Patch by Aleksander Czajczynski
2011-10-24 11:36:12 +00:00
Przemyslaw Czerpak
bc87124922 2011-10-21 12:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwvt/gtwvt.c
    ! fixed infinite recursive loops and GPF in WinCE builds caused by
      SetWindowPos()/ProcessMessages() when WM_SIZE message is processed.
      Now GTWVT can be used again in WinCE builds.
2011-10-21 10:34:40 +00:00
Przemyslaw Czerpak
040d5b0424 2011-10-20 12:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/transfrm.c
    % eliminated hb_charUpper() called for picture clauses and minor
      code optimization

  * harbour/src/rtl/gtapi.c
    ! fixed typo in function name: hb_gtBoxS() was wrongly redirected
      to HB_GTSELF_BOXD() instead of HB_GTSELF_BOXS()
2011-10-20 10:56:44 +00:00