Commit Graph

254 Commits

Author SHA1 Message Date
Przemysław Czerpak
25b36d0e77 2014-10-23 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
    ! check if AE_VALUE_OVERFLOW macro exists before use
    ! fixed memory leak
    % use char* instead of UNSIGNED8* to eliminate unnecessary casting
    * use HB_IT_EVALITEM instead of HB_IT_BLOCK
    * formatting and minor cleanups

  * include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    * modifications for longer index keys when bigger pages are used
      (work in progress)
2014-10-23 13:20:27 +02:00
Przemysław Czerpak
02e9546d90 2014-10-08 11:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbamf/amfdec.c
    ! simplified and fixed datetime decoding.
      Please verify what is the correct time base value.
         Used by current and commented previous wrong code:
            1970-01-01 00:00:00 => 210866803200000
         or:
            1969/12/31 12:00:00 => 210866760000000
      Testing please remember about UTC offset.

  * contrib/hbbz2/core.c
    ! fixed declaration for bz_internal_error()
2014-10-08 11:06:20 +02:00
Przemysław Czerpak
9f3c247cf4 2014-10-08 02:00 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
  * src/rtl/gtpca/gtpca.c
    * pacified warnings

  * src/rtl/hbjson.c
    ! include hbjson.h
2014-10-08 02:00:37 +02:00
Przemysław Czerpak
e5897132b8 2014-10-07 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/langapi.c
    * pacified warnings

  * contrib/hbmlzo/3rd/minilzo/minilzo.hbp
    ! disabled dynamic library
2014-10-07 10:25:57 +02:00
Przemysław Czerpak
a3bf86b11e 2014-10-07 01:00 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbhpdf/3rd/libhpdf/hpdfpago.c
    * pacified warning

  * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
    * rediffed
2014-10-07 01:00:58 +02:00
Przemysław Czerpak
75563675a3 2014-10-07 00:56 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtinymt/3rd/tinymt/tinymt32.h
    * pacified warning

  * contrib/hbtinymt/3rd/tinymt/tinymt.dif
    * rediffed
2014-10-07 00:56:54 +02:00
Przemysław Czerpak
1a78d17f3b 2014-10-07 00:38 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdefs.h
    * use strict aliasing friendly conversions in MSC builds which support
      intrinsic version of _byteswap_*() functions.
      It should also pacify some of MSC warnings.

  * include/hbdefs.h
  * src/rdd/dbffpt/dbffpt1.c
    * minor formatting

  * contrib/gtwvg/wvgcore.c
    ! fixed HANDLE to LONG casting - it's bug in 64 bit builds
2014-10-07 00:38:13 +02:00
Przemysław Czerpak
f0cacca706 2014-10-06 21:10 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! fixed multiple input context initialization in HB_GTI_FONTSEL.
      Thanks to Rolf for the information.

  * contrib/hbnetio/netiocli.c
  * contrib/hbwin/wapi_winbase.c
  * src/rtl/iousr.c
  * src/vm/cmdarg.c
    * pacified MSVC warnings
2014-10-06 21:10:54 +02:00
Przemysław Czerpak
748cd589e1 2014-10-04 21:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    + added support for decoded image data passed to HB_GTI_DISPIMAGE like
      in GTXWC. Supported formats are RGB32, RGB16 and MONO bitmap.
      Unlike GTXWC GTQTC rescales bitmap to passed cords.

  * src/rdd/wafunc.c
    ! fixed very bad bug introduced in previous modification - in fact
      potential problem existed from the beginning anyhow recent modification
      allow to exploit it in all complex index expressions.
2014-10-04 21:25:28 +02:00
Przemysław Czerpak
62478c5657 2014-10-03 16:03 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/wafunc.c
    % use dynamic symbol pointer to find field index

  * src/rdd/workarea.c
    * set default maximum field size to HB_SYMBOL_NAME_LEN characters
      (by default in Harbour builds HB_SYMBOL_NAME_LEN is 63)
      Some RDDs may set longer names but it will be respected only by
      FieldName() function and in all other cases only HB_SYMBOL_NAME_LEN
      characters is significant for Harbour so such decision should be
      well thought by RDD authors because it may confuse users.
      Warning: all 3-rd party RDDs which need to force shorter names
               should update uiMaxFieldNameLength in their NEW() method
               just after SUPER_NEW() call, i.e. like in core DBF RDD.
    ! respect uiMaxFieldNameLength when new fields are added

  * src/rdd/dbf1.c
    * set maximum field size to 10 characters

  * contrib/rddsql/sqlbase.c
    - removed code used to set uiMaxFieldNameLength to HB_SYMBOL_NAME_LEN.
      Now it's default field length value for each RDD unless it does not
      change it.

  * contrib/rddads/ads1.c
    * minor modification in adsFieldName()

  * contrib/hbwin/wapi_winbase.c
    + added support for FORMAT_MESSAGE_ALLOCATE_BUFFER and 6-th <nSize>
      parameter to wapi_FormatMessage() function. The 6-th <nSize> parameter
      has higher priority then size of string passed in the 5-th parameter.
    ! fixed potential memory leak
2014-10-03 16:03:55 +02:00
Przemysław Czerpak
22d694e0a9 2014-10-02 22:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/win_prn2.c
    + save LastError value in win_PrintDataRaw() and win_PrintFileRaw()
      so user can access it using wapi_GetLastError()
2014-10-02 22:55:36 +02:00
Przemysław Czerpak
4121935b58 2014-10-02 22:37 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
    * decalre default size for numeric, blob and any fields
      larger enough to store data after COPY TO
    * decalre default size for string fields to at least 10
    * some simplifications
2014-10-02 22:37:28 +02:00
Przemysław Czerpak
092b8a5657 2014-10-02 22:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
    * set default number of decimal places in float SQLITE3 values
      to _SET_DECIMAL. If user needs different number of decimal places
      when he converts number to strings then he can set it explicitly.
      Harbour does not change values of float point number retrieved
      from SQLITE3 and always returns original data.
    * do not set default length of numeric values for to string conversions.
2014-10-02 22:01:07 +02:00
Przemysław Czerpak
cfb66e2ab9 2014-10-02 16:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
    * removed dummy break statements

  * contrib/xhb/xhbmvinf.c
    ! store memvar values instead of references to memvar variables in
      array returned by __mvSymbolInfo()
2014-10-02 16:21:00 +02:00
Przemysław Czerpak
36973e8622 2014-10-01 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/common/hbstr.c
    + added new function hb_strAtI() - it works like hb_strAt() but it
      ignores the case of the ASCII characters

  * src/rtl/ati.c
    * renamed local static function hb_strAtI() to s_strAtI() to avoid
      conflict with new public hb_strAtI() function.

  * contrib/xhb/xhbat.c
    - removed local static function hb_strAtI() - current public hb_strAtI()
      is compatible with it.

  * contrib/sddsqlt3/core.c
    + added new code to set column type giving the highest priority SQLITE3
      declared column types.
      Please test - I haven't made any.
    ! do not cast floating point values to integer

  * contrib/hbwin/hbwin.hbx
  * contrib/hbwin/win_prn2.c
    ! fixed win_printerGetDefault() in Win9x builds - fix and some
      formatting and casting borrowed from Viktor's fork.
    + added new PRG function:
         win_PrintDataRaw( <cPrinter>, <cData> [, <cDocName>] )
                           -> <nBytesPrinted>
      It's similar to win_PrintFileRaw() but sends to given printer passed
      in 2-nd parameter <cData> instead of file body.
      On error it returns negative value.
    * cleaned casting and minor formatting

  * src/rtl/gtxwc/gtxwc.c
    + added support for HB_GTI_DISPIMAGE. It's slightly modified code sent
      by Rolf to Harbour devel list. In comparison to original version it
      supports <nDepth> as 4-th item of array with bitmap description to use
      with some other GTs which can support different color depths or can
      make conversion. It also supports bitmaps passed as strings.
    % slightly improved HB_GFX_GETPIXEL
2014-10-01 22:24:56 +02:00
Mindaugas Kavaliauskas
b346e248e0 2014-09-26 15:34 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* contrib/rddads/ads1.c
    ! extended and fixed CANDEFAULT error processing for data width error
  * contrib/rddads/adsx.c
    ! fixed typo in index creation code related to subindexing
2014-09-26 15:34:01 +03:00
Przemysław Czerpak
66f3f44a4e 2014-09-25 00:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
    + map columns with SQLITE_NULL values as HB_FT_ANY fields
2014-09-25 00:04:42 +02:00
Przemysław Czerpak
2dff2df00e 2014-09-23 13:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbcurl/core.c
    ! added protection against operation on NULL pointers borrowed from
      Viktor's branch.
2014-09-23 13:18:53 +02:00
Przemysław Czerpak
daa2a7f0cd 2014-09-23 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvgd.c
    * use hb_vmRequestQuit() instead of hb_vmRequestCancel() when
      close event is received - it is GTXWC compatible behavior and
      allows to execute user EXIT PROCEDUREs.
      Please also remember that all ALWAYS sections are executed too
      regardles of requested event (QUIT, BREAK, CANCEL)

  * src/rtl/gtwvt/gtwvt.c
    ! fixed processing WM_QUERYENDSESSION and WM_ENDSESSION messages.
      Now GTWVT applications do not interrupt system shutdown process
      and do not close application if other process interrupted it.
      In the future we can also add support for blocking system shutdown
      operation, i.e. using HB_GTI_CLOSEMODE as bitfield, anyhow before
      we begin to change it we should agree final version.
    ! applied Rolf's patch which fixes circle and ellipse cords.
      I haven't tested it and I hope that they were verified visually
      on the screen - some of Windows GUI functions do not access
      border points.
2014-09-23 11:41:11 +02:00
Przemysław Czerpak
ea6a21685d 2014-09-23 10:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddsql/sqlbase.c
    ! set maximum field size to HB_SYMBOL_NAME_LEN

  * ChangeLog.txt
    * removed TABs and format some of recent entries
2014-09-23 10:47:27 +02:00
Pritpal Bedi
9688ee5058 2014-09-20 17:01 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/gtwvg/hbgtwvg.ch
    ! Fixed: overlapping HB_GRI_* constants which were added in GTWVT
	   later that these were defined in GTWVG.
  * contrib/gtwvg/gtwvg.h
    + Borrowed some structure members from GTWVT.
  * contrib/gtwvg/gtwvgd.c
    + Added: GTWVT specific HB_GTI_CLOSEMODE implementation.
    + Added: to respect array to hb_gtInfo( HB_GTI_SETPOS_XY ) call.
	% Synchronized: 'X' button behavior as per GTWVT.

	; Note: 'X' button behavior differs from GTWVT if HB_GTI_CLOSEMODE == 0.
	        For other mode it is identical to GTWVT.
2014-09-20 17:09:30 -07:00
Pritpal Bedi
9525224f03 2014-09-18 00:23 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/gtwvg/gtwgud.c
    + Added: hb_gtInfo( HB_GTI_SETPOS_XY, { nRow|nX, nCol|nY } )
	   in addition to previous implementation.
2014-09-18 00:27:42 -07:00
Pritpal Bedi
f3b32e60d7 2014-09-17 14:50 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/gtwvg/wvtwin.ch
    + Added: more WAPI constants.
2014-09-17 14:57:32 -07:00
Przemysław Czerpak
001939d5db 2014-09-14 20:48 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmysql/tmysql.prg
    * added support for nFlags in TMySQLServer constructor as
      suggested by Fernando Athayde

  * src/rtl/gtcgi/gtcgi.c
    % replaced hb_cdpnDup() with hb_cdpnDup3() to eliminate unnecessary
      memory block duplicating when translation is not activated.

  * src/vm/itemapi.c
    * removed old ugly hack used to mark infinite or undefined double
      value using double item length field. The code which created such
      item have been eliminated many years ago.
    * use HB_DEFAULT_WIDTH instead of hardcoded 99 to force numeric value
      length recalculation.
2014-09-14 20:48:14 +02:00
Przemysław Czerpak
e31d7b4ca7 2014-09-08 23:40 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctwin.c
    ! fixed typo in window area checking when current window is 0
      It fixes problem with debugger reported by Rolf.

  * src/debug/dbgentry.c
    % few optimizations
    ! added few protections against GPF when wrong parameters are passed
    ! fixed missing support for symbol, date and timestamp values in
      tracepoints
    + added __dbgCntWatch()

  * src/rtl/filesys.c
  * src/rtl/hbproces.c
    * pacified warning in more aggressive way for newer GCC versions

  * include/harbour.hbx
    * refreshed
2014-09-08 23:40:20 +02:00
Przemysław Czerpak
e41b3fa69a 2014-09-04 21:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/itemseri.c
    * minor update in comments

  * contrib/hbct/ctwin.c
  * src/rtl/hbgtcore.c
    ! fixed GTCTW window handle save/restore on debugger activation
      I broke in 107b36e847
      Thanks to Rolf for the info and patch.

  * contrib/hbziparc/ziparc.prg
    * synced with Viktor's branch.
      This code should contain Rolf fixes. Please test.
2014-09-04 21:17:02 +02:00
Przemysław Czerpak
24ae545b3e 2014-08-21 01:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/mail.prg
    ! fixed missing 1-st adress in CC and BCC parameters - many
       for information about the bug and patch

  * contrib/hbtip/sendmail.prg
    ! typo in comment - thanks to Heinz V Bergen too

  * src/rtl/gtwvt/gtwvt.c
    * some minor modification to sync code with Vitkor's branch

  * src/vm/hvm.c
  * src/vm/itemapi.c
    * small optimization in string comparison
2014-08-21 01:11:26 +02:00
Przemysław Czerpak
3f86036f80 2014-08-11 16:21 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ contrib/hbcomio/hbcomio.hbx
    + added missing hbx file

  * package/harbour.spec
    ! fixed to not corrupt root filesystem during package build process.
      It was necessary to set HB_INSTALL_CONTRIB with package install prefix.
      (undocumented functionality)
      TODO: add single variable which can be used in such case for all
            HB_INSTALL_* variables.
    + added support for HBMK2 .hbc files for contrib libraries
2014-08-11 16:21:28 +02:00
Przemysław Czerpak
7a35350efb 2014-08-05 16:29 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/hbnetio.hbx
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/readme.txt
    + added new client side function:
         netio_TimeOut( <pConnection> [, <nTimeOut>] ) -> [<nTimeOut>]
            Get/Set client side timeout for messages
    + inherit timeout used in socket connection and use it for farther
      message processing.
      Warning: incompatible, for slow connections or time consuming RPC
               functions people should set timeout using netio_TimeOut()
               function. In previous version timeout was set to -1 what
               means wait forever without any time limits or until
               connection is broken.
2014-08-05 16:29:37 +02:00
Przemysław Czerpak
a8f132e54d 2014-06-27 14:53 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    * added workaround for missing DISP_E_BUFFERTOOSMALL declaration
      in some older C compilers i.e. BCC 5.5
2014-06-27 14:53:07 +02:00
Przemysław Czerpak
5a3e100f11 2014-06-27 12:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbfopen.c
    * use _wfopen() instead of fopen() in MS-Windows UNICODE builds of
      hb_fopen(). It means that now hb_fopen() makes exactly the same file
      name conversions as hb_fs*() Harbour RTL functions, i.e. hb_fsOpen()

  * contrib/hbmxml/core.c
    ! fixed unnecessary conversions to UTF8 used for file names passed
      to hb_fopen()

  * contrib/hbmzip/3rd/minizip/ioapi.c
  * contrib/hbmzip/3rd/minizip/minizip.dif
    ! fixed wrongly used hb_fopen() instead of fopen() what caused double
      file name conversions when 32-bit stdio API was used.
2014-06-27 12:45:47 +02:00
Przemysław Czerpak
97a23295d5 2014-06-26 18:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    + added some additional error codes to win_oleErrorText() function

  * contrib/hbwin/hbole.ch
    + added OLE error code definitions with WIN_* prefix for errors returned
      by win_oleErrorText()

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhbole.prg
    + aded new function OleDefaultArg()
    % minor simplification

  * src/rtl/itemseri.c
    * do not generate RTE when wrong string is deserialized.
      Now RTE 3016 is generated only when compressed data is deserialized
      and ZLIB is not linked with final binaries so users can easy locate
      the source of problem.

  * src/vm/garbage.c
    % added missing static in s_gcSpinLock declaration

  * src/rtl/hbi18n1.c
    * typo in comment

  * src/rdd/dbf1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbsql.c
    * formatting

  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/usrrdd.c
  * src/rtl/checkbox.prg
  * src/rtl/getsys.prg
  * src/rtl/listbox.prg
  * src/rtl/menuto.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tget.prg
  * src/rtl/tgetint.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/errapi.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbinet.c
  * src/rtl/idle.c
  * src/rtl/math.c
  * src/rtl/setkey.c
  * src/vm/asort.c
  * src/vm/hashfunc.c
  * src/vm/thread.c
    * accept any EVAL item not only codeblocks. Actually it means that
      also SYMBOL items are accepted but in the future we may extend it
      and accept also objects of classes with :eval() message.

  * src/rtl/tget.prg
    ! fixed GET default PICTURE for TIMESTAMP type
      fixes https://github.com/harbour/core/issues/65
      2014-05-11 00:05 UTC+0200 Viktor Szakats
    ! fixed GET colors when _SET_INTENSITY == .F.
      2014-04-22 02:35 UTC+0200 Viktor Szakats
    % use Stuff() instead of different combinations of Left() and SubStr()

  * include/harbour.hbx
  * src/rtl/left.c
    + added new function to replace "=" operator without the SET EXACT ambiguity
      in its most common pattern of usage:
         hb_LeftEq( <cString1>, <cString2> ) -> <lResult>
      it's equivalent to this expression, but faster and shorter:
         ( Left( <cString1>, Len( <cString2> ) ) == <cString2> )
      2014-01-22 03:09 UTC+0100 Viktor Szakáts
    + added hb_LeftEqI(). Same as hb_LeftEq() but case-insensitive.
         hb_LeftEqI( <cString1>, <cString2> ) -> <lResult>
      2014-02-04 13:38 UTC+0100 Viktor Szakáts

  * include/harbour.hbx
  * src/rtl/chruni.c
    + added hb_BRAt(). Same as hb_RAt() but for raw/binary strings
      2014-06-25 19:54 UTC+0200 Viktor Szakats

  * contrib/sddsqlt3/core.c
    ! fixed missing first record of query
      2013-11-08 21:43 UTC+0100 Viktor Szakats

  ; many of above modification was borrowed directly or try to follow some
    changes in Viktor's branch - thanks.
2014-06-26 18:42:13 +02:00
Przemysław Czerpak
4d9808da06 2014-05-29 02:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmzip/mzip.c
    ! typo in previous commit
2014-05-29 02:04:46 +02:00
Przemysław Czerpak
5ce475d274 2014-05-29 00:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmzip/mzip.c
    ! disable _LARGEFILE64_SOURCE after including system header files in
      non *nix builds just before including zlib headers.
      It's workaround for wrong condition in zconf.h
2014-05-29 00:34:16 +02:00
Przemysław Czerpak
786ba57352 2014-05-26 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbfsapi.c
  * src/rtl/filesys.c
  * src/rtl/filebuf.c
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
    ! if available always use stat64() instead of stat() in *nixes builds.
      On 32-bit platforms stat() fails for larger files (>2GB).
      It should fix problem reported by Lorenzo.
2014-05-26 16:15:46 +02:00
Przemysław Czerpak
51b88dd1ba 2014-05-23 17:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filebuf.c
    ! fixed bad typo inside hb_fileIsLocalName() - result was reverted.
      Many thanks to Juan Gálvez for locating the problem.

  * src/debug/dbgbrwsr.prg
    ! fixed typo in previous commit.
      It should fix also problem with positioning in debugger source
      window reported by Alexey Myronenko.
    % minor simplification

  * contrib/hbmisc/udpds.prg
    ! updated to send correct broadcast messages in * nixes and
      respect broadcast addresses returned by system for IP interfaces

  * src/rdd/hbdbsort.c
  * src/rdd/hbsix/sxcompr.c
    * pacified warnings
2014-05-23 17:01:17 +02:00
Przemysław Czerpak
da82de17b1 2014-05-06 17:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
  * src/rtl/iousr.c
  * src/rtl/hbjson.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rdd/workarea.c
  * src/rdd/hbsix/sxcompr.c
  * contrib/hbct/token2.c
  * contrib/hbsqlit3/core.c
    * pacified some of -Wshadow warnings

  * include/hbapicdp.h
    ! typo in comment: bytes -> bits

  * src/vm/garbage.c
  * src/vm/thread.c
    * disabled some code with spinlocks when HB_HELGRIND_FRIENDLY macro
      is defined. It causes that final MT HVM code is slower using native
      platform mutexes but only such ones helgrind can recognize so the
      new macro can be useful for people who want to make some tests with
      helgrind. In such case they should rebuild Harbour with
         HB_USER_CFLAGS=HB_HELGRIND_FRIENDLY
      We use spinlocks and atomic integer operations also in few other
      places so it's possible that deeper tests can exploit them and
      we will have to cover them by HB_HELGRIND_FRIENDLY too just to
      easy detect real problems.
2014-05-06 17:32:45 +02:00
Przemysław Czerpak
7a211d052e 2014-04-11 17:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * overload inputMethodEvent() in console object and insert
      commitString() data into GT keyboard input queue.
      It's necessary for Android working with SoftwareInputPanel
      and it fixes problem with eaten standard characters.
      QT documentation says that QInputMethodEvent are generated
      only when Qt::WA_InputMethodEnabled attribute is set but
      tests shows that it's not true and these events are generated
      instead of keyPress/keyRelease ones for simple text input.
      CTRL modifier, ESC, INS, HOME, END, PGUP, PGDN and Fn keys
      still does not work with GTQTC in Android builds.

  * src/rtl/tbrowse.prg
    ! fixed compilation with HB_BRW_STATICMOUSE
    ! do not cover dummy ivar with HB_COMPAT_C53 macro
    * minor simplification

  * src/vm/arrays.c
    * removed old commented code not used with current GC
2014-04-11 17:36:36 +02:00
Przemysław Czerpak
8fe793a82a 2014-04-03 14:26 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
    * fully consume RPC messages even if RPC is disabled. It allows to
      continue client connection in such case and process next messages.
2014-04-03 14:26:49 +02:00
Przemysław Czerpak
a5c9a7e68e 2014-04-03 12:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
    ! added missing condition to interrupt broken client connections
2014-04-03 12:17:40 +02:00
Przemysław Czerpak
bf2a912c0e 2014-04-02 22:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
    ! fixed very bad bug in one of recent modifications which completely
      broke all servers using early authentication by netio_VerifyClient()
2014-04-02 22:52:09 +02:00
Przemysław Czerpak
6277cb38ff 2014-04-02 12:46 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filebufd.c
  * src/rtl/iousr.c
    * slightly modified code to pacify warnings in some older GCC versions

  * contrib/gtwvg/gtwvg.hbx
    * regenerated with new function
2014-04-02 12:46:22 +02:00
Przemysław Czerpak
7349602fcb 2014-04-01 12:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filebuf.c
    ! unlock HVM stack before locking local mutex and calling hb_fs*()
      functions which also unlocks HVM. It fixes possible deadlock condition
      when hb_gcAll( .T. ) is executed.

  * include/hbapi.h
  * src/vm/garbage.c
    ! changed mark function semantic.
      Adding support for user defined mark function I created race condition
      in MT GC code. It happens because blocks marked as deleted were not
      scanned by GC mark code so their subitems where not accessible.
      To fix it we have to change mark function semantic. Now mark function
      can be executed also for blocks currently deleted. It means that GC
      block destructor should clean references to just removed items and
      subblocks. The best place to make it is clearing pointers to GC blocks
      just after hb_itemRelease() or hb_gcRefFree().
      It is save to clean the reference just before hb_itemRelease() or
      hb_gcRefFree() but only for the single block passed to these functions.
      It is not save to clear reference to more then one block and then
      execute above functions.
    + check reference count after destructor execution for all blocks
      not only arrays - warning it may exploit some wrong C code.
    - removed not longer used hb_gcRefCheck() function.

  * include/hbvm.h
  * src/vm/hvm.c
    + added new internal function hb_vmLockForce()
    ! fixed to mark GC blocks with active threads

  * src/vm/thread.c
  * include/hbthread.h
    % modified sync mutexes used by xBase++ signal class emulation
      to not use item array internally
    * updated mutex destructor to new GC mark semantic
    ! mark GT items if GT is bound with thread item
    ! fixed mutex notify/subscribe code to not change GC items
      when HVM stack is unlocked
    ! use hb_vmLockForce() to eliminate potential deadlock
    + added new C function hb_threadEnterCriticalSectionGC().
      It should be used instead of hb_threadEnterCriticalSection()
      in code which manipulates GC items inside critical section.
      It's slower but eliminates possible deadlock condition.
      Please remember that remember that both functions cannot
      be used for the same mutex. So if it's necessary to use
      hb_threadEnterCriticalSectionGC() in one place then it
      has to be used in all others when the same mutex is locked.

  * src/vm/arrays.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/rtl/hbgtcore.c
  * contrib/hbcurl/core.c
  * contrib/hbexpat/core.c
    * updated destructors to new GC mark semantic

  * contrib/hbxpp/dllx.c
    ! fixed destructor for pointer item created by DllPrepareCall()
      Now it respects reference counter.
    ; added note about real behavior of library handle destructor,
      I haven't changed existing code behavior but maybe it should
      be done.

  * contrib/xhb/hbserv.c
  * src/debug/dbgentry.c
  * src/rdd/wacore.c
    ! fixed possible deadlocks by using hb_threadEnterCriticalSectionGC()
      instead of hb_threadEnterCriticalSection().

  * contrib/hbmemio/memio.c
    ! slightly modified hb_memfsDirectory() code to avoid race condition
      without using hb_threadEnterCriticalSectionGC()

  * src/vm/fm.c
    % reduce the lock range in HB_FM_STAT builds

  * src/rtl/hbsocket.c
    ! added missing HVM stack unlocking in hb_socketSelect() function

  * src/rtl/gtxwc/gtxwc.c
    ! added few missing locks for version compiled with HB_XWC_XLIB_NEEDLOCKS

  * src/rdd/dbtotal.prg
    * allow to use symbols instead of codeblocks
    * modified Harbour extension which uses ordKey() as default group
      signature to work also without index. In such case all records
      are summarized into single one.

  ; Most of above modifications were critical for stability of MT programs.
    They should allow to activate GC in any place.
2014-04-01 12:33:17 +02:00
Przemysław Czerpak
8f73524d34 2014-03-27 16:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbpgsql/rddcopy.c
    ! fixed typos in my recent modification and potential memory corruption
      and/or wrong output due to ugly hack for last field terminator in old
      code. Thanks to Aleksander Czajczynski for reporting the problem.
2014-03-27 16:13:41 +01:00
Przemysław Czerpak
45a2a56a69 2014-03-27 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
    * do not call memset() with zero length

  * include/hbapi.h
  * src/vm/fm.c
    + added new FM statistic C function:
         const char * hb_xinfo( void * pMem, HB_USHORT * puiLine );

  * src/rtl/filebufd.c
  * src/rtl/iousr.c
    * modified casting to pacify more restrictive strict aliasing warnings

  * src/vm/garbage.c
    * minor formatting
2014-03-27 15:03:58 +01:00
Przemysław Czerpak
ed45b65b04 2014-03-24 22:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/Makefile
  + include/hbiousr.ch
  * src/rtl/Makefile
  + src/rtl/iousr.c
    + added module for writting Harbour FILE IO redirectors at PRG level

  + tests/iotcp.prg
    + example code for FILE IO redirector written in PRG.
      It's IOTCP and gives exactly the same functionality as TCP redirector
      in contrib which is written in C.

  * src/vm/runner.c
    % modified internal structure to eliminate some memory allocations

  * contrib/hbpgsql/rddcopy.c
    % small simplification
2014-03-24 22:19:45 +01:00
Pritpal Bedi
71a7be0661 2014-03-19 21:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib\gtwvg\hbgtwvg.ch
    + Added: #define GOBJ_OBJDATA_PICTUREEX            10
             #define GOBJ_OBJTYPE_LABEL_EX2            21

  * contrib\gtwvg\gtwgud.c
  * contrib\gtwvg\gtwvgd.c
    % Changed: WM_CLOSE firing K_ESC => HB_K_CLOSE in accordance rest of GTs.

  * contrib\gtwvg\wvgcuig.c
    % Changed: hb_wvg_RefreshRect() flag to erase background: FALSE => TRUE.
    % Changed: WVG_SETGOBJDATA() now returns lSUCCESS or lFAILURE.
    + Added: new CGUI object type - GOBJ_OBJDATA_PICTUREEX.
    + Added: new function
        Wvg_LabelEx2( nTop, nLeft, nBottom, nRight, aPxlOff, cLabel, nAlign,
                  nEscapement, nTextColor, nBkColor, cFontFace, nFontHeight,
                     nFontWidth, nFontWeight, nQuality,  nCharSet, lItalics,
                      lUnderline, lStrikeOut )
    + Added: 7th parameter [<lDoNotScale>] in
       Wvg_Picture( nTop, nLeft, nBottom, nRight, aPxlOff, nSlot, lDoNotScale )
    % Changed: hb_wvg_RenderPicture() code to honor scaled vs non-scaled
       rendering.

  * contrib\gtwvg\wvgutils.c
    ! Fixed: Wvt_ChooseFont() to return correctly array of 9 elements
       instead of 8.
2014-03-19 21:46:07 -07:00
Przemysław Czerpak
5873d78e2c 2014-03-20 04:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/filebuf.c
  * src/rtl/filebufd.c
  * contrib/hbcomio/comio.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbtcpio/tcpio.c
    * changed internal FILE IO API. Now all functions which do
      not operate on PHB_FILE receive pointer to function table
      (PHB_FILE_FUNCS) used by given redirector.

  * src/rtl/vfile.c
    * open wirtual files in READWRITE mode by default
    * translate FO_* attributes to FXO_* ones

  * src/vm/classes.c
    ! fixed typo in RTE message

  * src/vm/garbage.c
    * use different error code (1301/1302) for destructor RTE

  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtxwc/gtxwc.h
    + added support for HB_GTI_FONTWEIGHT with HB_GTI_FONTW_* actions

  * contrib/hbpgsql/rddcopy.c
    ! fixed memory leak
    % encapsulate PQ calls in hb_vmUnlock()/hb_vmLock() to not stop
      other threads when GC is activated
2014-03-20 04:01:25 +01:00
Przemysław Czerpak
b5305f3861 2014-03-16 20:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/adsx.c
    * pacified warnings
2014-03-16 20:22:42 +01:00
Mindaugas Kavaliauskas
1fb6dd3962 2014-03-13 18:40 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* contrib/rddads/adsx.c
    * implemented intermediate index creation in case ADS can process index
      FOR or WHILE condition.
      Ex., if requested index has WHILE condition supported by server,
      but index key expression is not supported (or codeblock is used),
      server side index is created using WHILE condition. This intermediate
      index later is used to create final index.
      This logic increases speed dramatically if WHILE condition was used
      to filter a few records from a large database using subindex.
2014-03-13 18:43:00 +02:00