Commit Graph

184 Commits

Author SHA1 Message Date
Mindaugas Kavaliauskas
25ec4c2ba7 2012-04-12 18:22 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/common/hbdate.c
    * increased stability of hb_dateDecode() for date values having year > 9999

  * harbour/contrib/rddads/ads1.c
    ! fixed errorous fallthrough (the value of rowversion and autoincrement 
      fields was float but not integer)
    * minor formatting

  * harbour/contrib/rddads/adsx.c
    * LPMIXKEY -> PMIXKEY, LPMIXTAG -> PMIXTAG. Let's forget about long 
      pointers and memory segmentation
    + implemented ADSX tag (custom tag) update on RDD PutValue method
2012-07-12 15:23:08 +00:00
Przemyslaw Czerpak
050a58456e 2012-06-19 08:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/hbffind.c
    * ulAttr -> nAttr
    + added support for softlinks in * nix systems.
      Now they are reported with "L" attribute by directory() function.
      This modification also fixes directory scanning interrupted by
      dummy softlinks.

  * harbour/contrib/xhb/dirrec.prg
    ! fixed double added extension to file mask
2012-06-19 06:15:00 +00:00
Viktor Szakats
ebaf33647f 2012-06-17 14:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsx.c
  * src/common/hbfsapi.c
    ! deleted explicit newlines at EOL in HB_TRACE() calls

  * INSTALL
    + added new '0. GUARANTEES AND LIABILITY' section
    ! updated instructions to create debug build

  * utils/hbmk2/hbmk2.prg
    * minor cleanups

  * utils/hbmk2/Makefile
    + enabled dynamic version of hbmk2 only for mingw builds.
      Rest of the targets may or may not work due to CRTL
      usage (fprintf()) from HB_COMPILE*() calls which causes
      GPF in currently generated shared builds, most probably
      due to double copy of statically linked CRTL code.
      mingw uses MSVCRT.DLL, so it's not prone to this.
      Solution is either to avoid file handling CRTL calls
      in compiler code, or to tweak -shared build setting to
      death to make it work for all non-mingw compilers.
      Both of these is very difficult.
      This means that dynamic module loading from scripts
      will only work in hbmk2 built with mingw.

   ; TOFIX: 'make clean' on contribs doesn't work with mingw,
            because harbour dll is deleted before hbmk2 is
            called, so it cannot be started for cleanup.
2012-06-17 12:50:22 +00:00
Viktor Szakats
c0fff41758 2012-06-08 01:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbct/getsecrt.prg
  * contrib/hbgd/gdbar.prg
  * contrib/hbgd/gdbarcod.prg
  * contrib/hbhttpd/tests/eshop.prg
  * contrib/hbide/ideconsole.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/todbc.prg
  * contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/tests/wvtqt.prg
  * contrib/hbsqlit3/tests/hdbctest.prg
  * contrib/hbtip/tests/tiptest.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbwin/tests/olesrv1.prg
  * contrib/hbwin/tests/testax.prg
  * contrib/hbxpp/browdbx.prg
  * contrib/hbxpp/tthreadx.prg
  * contrib/xhb/cstruct.prg
  * contrib/xhb/dirrec.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/htjlist.prg
  * contrib/xhb/tcgi.prg
  * contrib/xhb/tedit.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/ttable.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/xhbcls.ch
  * contrib/xhb/xhberr.prg
  * contrib/xhb/xhbole.prg
  * contrib/xhb/xhbtedit.prg
  * doc/codebloc.txt
  * doc/en/command.txt
  * doc/en/objfunc.txt
  * include/hbpers.ch
  * include/std.ch
  * src/common/expropt1.c
  * src/compiler/hbmain.c
  * src/debug/dbghelp.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/rdd/dbfntx/dbfntx0.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rtl/browdb.prg
  * src/rtl/browse.prg
  * src/rtl/dirscan.prg
  * src/rtl/errsys.prg
  * src/rtl/hbini.prg
  * src/rtl/listbox.prg
  * src/rtl/tclass.prg
  * src/rtl/tlabel.prg
  * src/rtl/tobject.prg
  * src/rtl/treport.prg
  * utils/hbtest/rt_mt.prg
    * some formatting (almost only whitespace)

  * contrib/xhb/dirrec.prg
  * src/rtl/dirscan.prg
    ! use directry.ch constants

  * contrib/hbqt/tests/draggable.prg
    ! hbformat and manual formats/cleanups

  * src/vm/maindllp/dllext.c
    ! fixed typo in recent addition
2012-06-07 23:18:44 +00:00
Viktor Szakats
a802e03e10 2012-05-15 13:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fix to prev. test and review pls. BTW, the solution is 
      on google, so you can redo it too:
         https://issues.apache.org/jira/browse/STDCXX-358
2012-05-15 11:23:01 +00:00
Viktor Szakats
d2a1b36d05 2012-05-15 13:05 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fixed unsetenv() usage for older Darwin versions (f.e. Tiger)
      (please test)
2012-05-15 11:06:50 +00:00
Viktor Szakats
9d1552d1cc 2012-05-09 16:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbdate.c
    ! hb_dateStrPut() fixed to never put non-digits in the
      result. F.e. in this case: ? 0d19700101 + 1100000000
2012-05-09 14:15:50 +00:00
Przemyslaw Czerpak
6f27c78569 2012-05-08 12:28 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/expropt2.c
    * small code simplification

  * harbour/src/rtl/hbregex.c
    % eliminated call to pcre_config() on each regex compilation

  * harbour/utils/hbmk2/hbmk2.prg
    ! fixed -head=full for code using non UTF8 characters.
      It was broken because in UNIX builds UTF8 is always enabled
      as HVM CP in HBMK2 and this setting was inherited by PCRE
      with PCRE_UTF8 flag. If this flag is used PCRE validates
      all strings and refuse to make any operations if they are
      not valid UTF8 string so it was not working at all for
      source code using different encoding.
    ! fixed regex used in -head=full to respect shortcuts in #include
      directive, i.e.:
         #incl "file.ch"
    ! fixed regex used in -head=full to recognize #include directives
      separated by ';', i.e.:
         #include "file1.ch" ; #include "file2.ch" ; #include "file3.ch"
    ; TOFIX: UTF8 mode on output should not be enabled unconditionally in
             all UNIX builds. There are many *nix installations where UTF8
             is not system CP, i.e. older Linux distributions. In fact
             it's user attribute so each user can use different encoding
             local to his connection and/or terminal settings. Probably
             it's good idea to use code like:
                  lUTF8 := "UTF-8" $ GetEnv( "LANG" ) .OR. ;
                           "UTF-8" $ GetEnv( "LC_CTYPE" )
2012-05-08 10:28:46 +00:00
Viktor Szakats
ad79a430f7 2012-05-02 12:30 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbcompdf.h
  * include/hbexprop.h
  * include/hbexprb.c
  * src/common/funcid.c
  * src/common/expropt2.c
    + added compile-time optimization for HB_BCHAR()
      and HB_BCODE().

  * contrib/hbct/hbct.hbp
  * contrib/hbct/hbct.hbx
  + contrib/hbct/ctscan.ch
  + contrib/hbct/kxlat.prg
  * contrib/hbct/ctdummy.prg
  * contrib/hbct/dummy.c
    + added CT compatiblity functions: SETKXLAT(), GETKXLAT(),
      SETKXTAB(), GETKXTAB(). Former two replaces existing
      dummy implementations. Check CT documentation for syntax.
      NOTES: - KS_PAD[0-9] and KS_PAD_DECIMAL are not supported in
               Harbour, because they have no corresponding inkey.ch
               value.
             - Harbour uses HB_GTI_INKEYFILTER to implement these
               functions, and due to this, they will gracefully
               fail if the application has already set
               HB_GTI_INKEYFILTER to a custom value.
    + added:
         HBCT_GETKXLAT( <nOrgKey>[, <nNewKey> ] ) -> <lAccepted>
         HBCT_GETKXTAB( <nOrgKey> ) -> <nNewKey>
         HBCT_SETKXLAT( <hTrs> ) -> <lAccepted>
         HBCT_SETKXTAB() -> <hTrs>
      Same as above, but they use standard inkey() values.
    ; USE AT YOUR OWN RISK. NO GUARANTEES.

  * contrib/hbct/showtime.prg
  * contrib/hbct/screen2.c
    * internal fn renamed: _HB_CTDSPTIME() -> __HBCT_DSPTIME()
2012-05-02 10:32:45 +00:00
Przemyslaw Czerpak
93d3a46d84 2012-04-20 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbdefs.h
    * moved HB_WCHAR definition from hbapicdp.h to hbdefs.h

  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for custom sorting redirected from HVM
    + added support for custom character indexes in strings
    + added support for custom character flags (upper, lower, alpha, digit)
    + added support for custom upper/lower conversions
    + added support for CPs using unicode character values instead of
      ASCII ones
    + added new CP functions which respects custom CP settings:
        hb_cdpUpperWC(), hb_cdpTextLen(), hb_cdpTextPos(),
        hb_cdpTextPosEx(), hb_cdpTextGetU16(), hb_cdpTextPutU16(),
        hb_cdpCharEq(), hb_cdpCharCaseEq()
    + added new conversion functions:
        hb_cdpGetUC(), hb_cdpGetWC(), hb_cdpGetU16Ctrl()
    + added macros to detect codepage parameters:
         HB_CDP_ISBINSORT() - codepage uses simple binary sorting
         HB_CDP_ISCUSTOM()  - codepage uses custom string decoding
         HB_CDP_ISCHARIDX() - codepage use character indexes instead
                              of bytes ones
         HB_CDP_ISCHARUNI() - CHR(), ASC() and similar functions operates
                              on Unicode values instead of bytes
         HB_CDP_ISUTF8()    - codepage uses UTF-8 encoding

  * harbour/include/inkey.ch
    - removed HB_INKEY_EXTENDED - it was not used in Harbour
    + added new flag HB_INKEY_EXT - it allows to used different
      event encoding system with automatic translation to
      standard Clipper values. It will be used in the future
      as base for low level GTs code. Now it's possible to
      selectively switch to the new system. New codes are
      unique and do not interacts with Clipper.
    + added HB_INKEY_ALL macro - it's similar to INKEY_ALL but
      enables also GTEVENT keys.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * changed character values in internal screen buffer to unicode.
      Warning: this modification interacts with SAVESCREE()/RESTSCREEN()
               data. Now all GTs uses extended definition. If somene
               has code which needs VGA like screen buffers returned
               by SAVESCREE() then it can be forced by
                  hb_gtInfo( HB_GTI_COMPATBUFFER, .t. )
               Anyhow it will for to use only one CP in output.
    + added new GT methods which operated on HB_WCHAR values
    * modified existing methods using HB_WCHAR/HB_USHORT parameters
      to operate on HB_WCHAR values
    + added codepage conversion code directly to core code so it can
      be eliminated from low level GT drivers which do not need some
      special operations on it.
    + added support for extended inkey codes, they allow to encoded
      unicode values, mouse events with flags, keyboard events with
      modifier flags (shift,alt,ctrl,...), etc.
      Now in low level GT code only unicode key values are used but
      I plan to updated all GTs and switch to new code - it should
      resolve many small problems inheriting with Clipper inkey codes.

  * harbour/include/hbapifs.h
    * moved hb_fsNameConvU16() definition from hbapicdp.h to hbapifs.h

  * harbour/include/hbxvm.h
    - removed comment copied by mistake from GT header file

  * harbour/include/hbwinuni.h
    * changed HB_CHARDUP() and HB_CHARDUPN() macros - now they
      operate on functions which can be used without active HVM.
      In such case ANSI CP is used as source encoding.
    + added new macros: HB_OSSTRDUP() and HB_OSSTRDUP2().
      They make conversions from OS encoding to HVM one.
      They can be used without active HVM and in such case ANSI CP
      is used as destination encoding.

  * harbour/include/hbapi.h
  * harbour/src/vm/cmdarg.c
    + added new function hb_cmdargProgName()
      It returns application name with path or NULL if not set,
      caller must free returned value with hb_xfree() if not NULL.
      The string is in HVM encoding so it does not need any additional
      encodings.
    * modified hb_cmdargString() to return strings in HVM encoding.
    % some small code optimizations
    ; NOTE: parameters passed to MS-WINDOWS GUI programs which use
            WinMain() instead of main() as startup entry are translated
            to ANSICP before they can be accessed by application.
            This can be eliminated though not for console programs
            using where C compiler makes such translation to main()
            parameters.
            in all systems parameters are passed to application
            startup and init functions before programmer can set OS CP.
            This can be resolved by adding:
               INIT PROC CLIPINIT()
                  SET( _SET_CODEPAGE, <userCP> )
                  SET( _SET_OSCODEPAGE, <systemCP> )
               RETURN
            to linked code. INIT procedures called CLIPINIT() are
            executed before any other ones.

  * harbour/include/hbapi.h
  * harbour/src/vm/set.c
    + added new functions for CP converisons which can be used with
      and without active HVM:
         hb_osStrEncode(), hb_osStrEncodeN(),
         hb_osStrDecode(), hb_osStrDecode2(),
         hb_osStrU16Encode(), hb_osStrU16EncodeN(),
         hb_osStrU16Decode(), hb_osStrU16Decode2(),

  * harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmIsReady() - it's similar to hb_vmActive()
      but it also checks if current thread has active HVM stack.
    * moved hb_cdpReleaseAll() to the end of HVM cleanup code so
      CP conversions are longer active.

  * harbour/include/hbcomp.h
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/hbusage.c
  * harbour/src/common/expropt2.c
    + added new compiler switch:
         -ku  - strings in user encoding
      Now it informs compiler that strings use custom encoding so some
      optimizations which are byte oriented cannot be used.
      It's possible that in the future we will change above definition
      to sth like: "strings in UTF8 encoding" but now I would like to
      keep more general.

  * harbour/src/vm/macro.c
    * inform macrocompiler about custom CPs using own character indexes
      to disable byte oriented optimizations.

  * harbour/include/hbapigt.h
  * harbour/src/rtl/gtapi.c
  * harbour/src/rtl/inkeyapi.c
    + added HB_B_*_W macros with unicode box character definitions
    + added HB_MBUTTON_* macros
    + added new GT functions: hb_gtHostCP() and hb_gtBoxCP() which
      allows to extract CPs used in translations by GTs.
    + added new function hb_inkeyKeyString() - it converts inkey value
      to corresponding string
    + added new function hb_inkeyKeyStd() - it converts new extended
      key value to standard Clipper one.

  * harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    * moved OS codepage translations fully to hb_fsFind*() functions.
      It fixes few problems which existed before, i.e. double CP
      conversions in MS-Windows builds and simplifies upper level code.

  * harbour/src/pp/hbpp.c
  * harbour/src/rtl/direct.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rtl/file.c
  * harbour/contrib/hbct/files.c
    * eliminated not longer necessary CP conversions in code calling
      hb_fsFind*() functions.

  * harbour/src/common/hbgete.c
    * moved OS codepage translations to hb_getenv(), hb_getenv_buffer()
      and hb_setenv() functions. It fixes few problems which existed
      before, i.e. double CP conversions in MS-Windows builds and
      simplifies upper level code.

  * harbour/src/rtl/net.c
  * harbour/src/rtl/gete.c
    * eliminated not longer necessary CP conversions in code calling
      hb_getenv()/hb_setenv() functions.
    ; NOTE: additional parameters in HB_GETENV() and HB_SETENV() which
            disabled CP conversions are not longer supported.
            They were strictly platform dependent and ignored in chosen
            cases (i.e. in MS-Windows UNICODE builds we always have to
            convert strings transferred between HVM and OS. If someone
            needs old functionality for other platform then he should
            temporary disable _SET_OSCODEPAGE.

  * harbour/src/common/hbver.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
    * eliminated HB_TCHAR_*() macros

  * harbour/src/common/strwild.c
    + added supprot for custom CPs using own character indexes in:
         hb_strMatchWild(),
         hb_strMatchWildExact(),
         hb_strMatchCaseWildExact()

  * harbour/src/nortl/nortl.c
    + added new dummy function replacement for binaries which are not
      linked with HVM.

  * harbour/src/rtl/filesys.c
    ! fixed double CP conversions in MS-Windows builds of hb_fsCurDirBuff()
    * use hb_vmIsReady() instead of hb_stackId() in file name conversions.
    * use hb_cmdargProgName() in hb_fsBaseDirBuff()

  * harbour/src/rtl/philes.c
    * use hb_cmdargProgName() in HB_PROGNAME() function.

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtsln/gtsln.h
  * harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/hbqt/gtqtc/gtqtc.cpp
  * harbour/contrib/hbqt/gtqtc/gtqtc.h
    * updated to work with new unicode GT API
      please make tests with different GTs - I'm not able to test
      all of them, i.e. I do not have any OS2 machine.

  * harbour/src/rtl/box.c
  * harbour/src/rtl/oldbox.c
  * harbour/src/rtl/scroll.c
  * harbour/src/rtl/console.c
    * updated to work with new unicode GT API and
      CPs using custom character indexes

  * harbour/src/rtl/at.c
  * harbour/src/rtl/ati.c
  * harbour/src/rtl/rat.c
  * harbour/src/rtl/len.c
  * harbour/src/rtl/transfrm.c
  * harbour/src/rtl/left.c
  * harbour/src/rtl/right.c
  * harbour/src/rtl/substr.c
  * harbour/src/rtl/stuff.c
  * harbour/src/rtl/padc.c
  * harbour/src/rtl/padl.c
  * harbour/src/rtl/padr.c
    * updated to work with CPs using custom character indexes

  * harbour/src/rtl/chrasc.c
    + added support for HB_CDP_ISCHARUNI() CPs.

  * harbour/src/rtl/mlcfunc.c
    * rewritten from scratch to work with CPs using custom character
      indexes

  * harbour/src/rtl/accept.c
    * updated to work with unicode inkey values and
      CPs using custom character indexes

  * harbour/src/rtl/strmatch.c
    % small optimization

  * harbour/src/rtl/Makefile
  + harbour/src/rtl/chruni.c
    + added new PRG functions which allows to make byte/binary and
      unicode/character operations on strings:
         HB_UCHAR( <nCode> ) -> <cText>
            return string with U+nCode character in HVM CP encoding
         HB_BCHAR( <nCode> ) -> <cText>
            return 1 byte string with <nCode> value
         HB_UCODE( <cText> ) -> <nCode>
            return unicode value of 1-st character (not byte) in given string
         HB_BCODE( <cText> ) -> <nCode>
            return value of 1-st byte in given string
         HB_ULEN( <cText> ) -> <nChars>
            return string length in characters
         HB_BLEN( <cText> ) -> <nBytes>
            return string length in bytes
         HB_UPEEK( <cText>, <n> ) -> <nCode>
            return unicode value of <n>-th character in given string
         HB_BPEEK( <cText>, <n> ) -> <nCode>
            return value of <n>-th byte in given string
         HB_UPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th character in given string to unicode <nVal> one and
            return modified text
         HB_BPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th byte in given string to <nVal> and return modified
            text

  * harbour/src/rtl/hbdoc.prg
  * harbour/src/rtl/memvarhb.prg
    * use HB_BCHAR() for binary string definitions

  * harbour/src/rtl/hbi18n2.prg
    * use hb_utf8CHR( 0xFEFF ) instead of hardcoded binary sting and
      HB_BLEN() instead of LEN()

  * harbour/src/rtl/inkey.c
    + added new functions:
         HB_KEYCHAR( <nKey> ) -> <cChar>
         HB_KEYSTD( <nExtKey> ) -> <nClipKey>
    ! use HB_INKEY_ALL instead of INKEY_ALL in LASTKEY()

  * harbour/src/rtl/achoice.prg
  * harbour/src/rtl/browse.prg
  * harbour/src/rtl/menuto.prg
  * harbour/src/rtl/tgetlist.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tlabel.prg
  * harbour/src/rtl/tpopup.prg
  * harbour/src/rtl/radiobtn.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/wait.prg
    * updated to work with unicode inkey() values

  * harbour/src/rtl/listbox.prg
    * use box.ch macros instead of explicit CHR(...) definitions

  * harbour/src/rtl/ttopbar.prg
    * updated to work with different type of CPs

  * harbour/src/rtl/scrollbr.prg
    * formatting

  * harbour/src/rtl/mouse53.c
    * use HB_MBUTTON_* macros instead of local ones

  * harbour/src/codepage/cp_utf8.c
  + harbour/src/codepage/uc16def.c
  + harbour/src/codepage/utf8sort.c
    * replaced UTF8ASC with new CP: UTF8EX
      This CP uses character indexes instead of bytes one
      and operates on unicode characters flags.
      Tables for upper/lower conversions and upper/lower/alpha/digit
      flags were generated automatically from
         http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
      It also uses custom collation rules. It's very simple one
      level sorting based on UTF8 C collation.
      If someone needs some advanced sorting rules, then it's enough
      to create copy of this cp with user custom version of UTF8_cmp()
      and UTF8_cmpi() functions, i.e. they can be redirected to some
      external library like ICU (icu-project.org).

  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
    * added support for new unicode GT API

  * harbour/contrib/xhb/xhbfunc.c
    * redirected HB_CMDARGARGV() to HB_PROGNAME()

  * harbour/contrib/hbnf/origin.c
    * redirected FT_ORIGIN() to HB_PROGNAME()

  * harbour/contrib/hbnf/getenvrn.c
    ! windows version of FT_GETE() fully rewritten - it should
      fix well known problems reported to the devel list. Please test.
    % small optimization for other systems

  * harbour/contrib/hbfship/exec.c
    * use hb_cmdargProgName() in EXECNAME()

  + harbour/tests/uc16_gen.prg
    + added code which generates tables with unicode character flags
      from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
      harbour/src/codepage/uc16def.c was generated by this code.

  * harbour/tests/inkeytst.prg
  * harbour/tests/wvtext.prg
  * harbour/tests/gtkeys.prg
    * use HB_INKEY_ALL

  * harbour/include/harbour.hbx
  * harbour/include/hbcpage.hbx
  * harbour/include/hblang.hbx
    * regenerated

   ; It was quite big peace of modifications and for sure not everything
     is well tested so please make test and report problems you will find.
   ; This is basic version which introduce to HVM CPs with custom encodings.
     Some contrib code has to be updated to work correctly with it.
     I hope that developers interesting in will make necessary updates.
     I haven't touched GTWVW code at all - sorry but it needs very serious
     work to make it production ready and fix all existing problems.
   ; Special thanks to OTC - this firm sponsored adding basic UTF8 support
     to HVM.
2012-04-20 15:55:44 +00:00
Przemyslaw Czerpak
9e7977556f 2012-04-20 08:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/hbffind.c
    ! fixed stupid typo in my previous commit which caused
      memory and resource leak
2012-04-20 06:15:11 +00:00
Przemyslaw Czerpak
629db6e812 2012-04-05 16:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    ! fixed potential freeing uninitialized handlers on some platforms
    * hide private members 

  * harbour/src/codepage/Makefile
  * harbour/include/hbcpage.hbx
  + harbour/src/codepage/cp950.c
  + harbour/src/codepage/cp_950.c
    + added new Harbour codepage "CP950". It's similar to BIG5 and
      used by MS-Windows. Please test and inform me if you can replace
      BIG5 in your applications with CP950 without any problems.

  * harbour/contrib/hbnf/hbnf.hbx
    + added FT_IDLE()
2012-04-05 14:13:51 +00:00
Viktor Szakats
cc84cb85b6 2012-04-01 21:10 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbverdsp.c
    * do not show '(WINANSI)' in the list of version flags.

  * utils/hbmk2/hbmk2.prg
    + add -inc to xbuild and xmate converted projects, this being 
      the default mode of operation (AFAI guess) of these tools.

  * contrib/hbct/disk.c
  * contrib/hbnf/kspeed.c
  * contrib/hbnf/peek.c
  * contrib/hbnf/proper.c
  * contrib/hbnf/ftidle.c
  * contrib/hbnf/mouse.c
  * contrib/hbnf/stod.c
  * contrib/hbnf/getvid.c
  * contrib/hbnf/getver.c
  * contrib/hbnf/getenvrn.c
  * contrib/hbnf/mkdir.c
  * contrib/hbnf/rmdir.c
    ! formatting
2012-04-01 19:11:20 +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
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
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
f312800cfb 2011-09-24 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbtrace.h
  * harbour/src/common/hbtrace.c
    + added new C function:
         const char * hb_tracemode( const char * szNewMode );
      it can be called with "a" or "w" parameter to set open
      mode for newly created by hb_tracefile() log files.

  * harbour/src/rtl/trace.c
    + added new PRG function:
         HB_TRACEMODE( [<cNewMode>] ) -> <cPrevMode>
2011-09-24 09:10:51 +00:00
Przemyslaw Czerpak
64b9209085 2011-08-02 00:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbprintf.c
    + added very basic support for '%ls' in hb_snprintf()

  * harbour/ChangeLog
    ! typo in last description
2011-08-01 22:11:45 +00:00
Przemyslaw Czerpak
e6920faaeb 2011-07-26 13:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbgete.c
  * harbour/src/common/hbprintf.c
  * harbour/src/rtl/arc4.c
  * harbour/utils/hbmk2/hbmk2.prg
  * harbour/contrib/hbmysql/hbmysql.hbp
  * harbour/contrib/sddmy/sddmy.hbp
    ! fixes for FreeBSD 6.2 build
      Patch provided by Phil Krylov - many thanks.
      [TOMERGE 3.0]
2011-07-26 11:18:51 +00:00
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
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
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
2071544b32 2011-04-19 18:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbtrace.c
  * contrib/xhb/hbsyslog.c
    - Deleted Android specific logging. syslog works good.

  + config/android
  + config/android/libs.mk
  + config/android/gcc.mk
  + config/android/gccarm.mk
  + config/android/global.mk
  + config/android/mingw.mk
    + Added android specific core build files. They are 
      all redirected to linux.

  * config/linux/libs.mk
    + Do not add rt and pthreads libs for android targets.
2011-04-19 16:40:34 +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
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
Przemyslaw Czerpak
3b0b908a07 2011-04-07 11:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    * cleaned comment

  * harbour/src/common/hbdate.c
    ! fixed typo in hb_dateMilliSeconds() on platforms using ftime()
      function.
2011-04-07 09:56:15 +00:00
Maurilio Longo
acc4767dc8 2011-04-06 20:15 UTC+0200 Maurilio Longo (maurilio.longo@libero.it)
* harbour/src/common/hbdate.c
      !  Fixed OS/2 compilation, it was not using gettimeofday() and so
         hb_dateMilliSeconds() had a one second resolution effectively
         killing thread switching.
2011-04-06 18:07:06 +00:00
Viktor Szakats
f090632668 2011-03-17 08:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    + New Intel compiler version detection. [Tamas Tevesz]

  * src/rtl/tpopup.prg
    ! Fixing shadow extension. [Maurizio la Cecilia]
      (with my indenting, fix and deletion of commented lines)

  * contrib/hbqt/qtgui/hbqtgui.hbx
    * Updated.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    ! Experimental fix [via Francesco Perillo]
2011-03-17 07:47:37 +00:00
Przemyslaw Czerpak
cfb7a9917a 2011-03-10 20:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbtrace.c
    ! use hb_getenv_buffer() instead of hb_getenv() to not allocate
      memory when trace system is activated and added protection
      against recursive calls.

  * harbour/src/common/hbprintf.c
    ! use internal function _hb_strnlen() instead of hb_strnlen()
      to avoid recursive calls in Harbour trace system
2011-03-10 19:23:26 +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
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
0a54752987 2011-02-08 00:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbverdsp.c
    + Instead of adding "(UNICODE)" marker in build info for UNICODE 
      builds, now it will add "(WINANSI)" for non-UNICODE builds.

  * contrib/hbnetio/utils/hbnetio/netiosrv.prg
    * Using more hb_StrFormat()

  * contrib/hbnetio/utils/hbnetio/netiocon.prg
    * Tweak to one cmd help.

  * utils/hbrun/hbrun.prg
    * Formatting.
2011-02-07 23:58:47 +00:00
Viktor Szakats
93e1f182c4 2011-02-03 09:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbatomic.h
  * include/hbfloat.h
  * src/vm/task.c
  * src/common/hbgete.c
  * src/common/hbver.c
  * src/common/hbprintf.c
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/hbsocket.c
  * utils/hbmk2/hbmk2.prg
  * config/detplat.mk
  * config/global.mk
  * config/detect.mk
  + config/minix
  + config/minix/libs.mk
  + config/minix/gcc.mk
  + config/minix/ack.mk
  + config/minix/global.mk
    + Added Harbour port for minix 3 operating system.
    ; Created by Tamas Tevesz. Many thanks!
2011-02-03 08:20:28 +00:00
Przemyslaw Czerpak
8761be1d95 2011-01-18 22:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/src/common/expropt1.c
    ! fixed codeblock parameter processing in EVAL() call inside codeblock
      when -kc compiler switch is used
    ! fixed potential modification of constant string

  + harbour/contrib/hbfship/users.c
    + added new FlagShip compatible functions:
         USERSMAX() -> <nMaxUsers> (1024)
      (1024 is returned by unlimited FS version)
2011-01-18 21:28:01 +00:00
Przemyslaw Czerpak
c0b28bd5da 2011-01-15 01:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
    * do not inherit in macrocompiler -z compile time switch when -kc is
      also used

  * harbour/src/common/expropt2.c
    * disable logical expression optimization (reduction) in macrocompiler
      when -kc compile time switch is used.

  * harbour/config/beos/gcc.mk
  * harbour/config/qnx/gcc.mk
  * harbour/config/bsd/gcc.mk
  * harbour/config/wce/mingwarm.mk
  * harbour/config/vxworks/gcc.mk
  * harbour/config/hpux/gcc.mk
  * harbour/config/darwin/gcc.mk
  * harbour/config/dos/djgpp.mk
  * harbour/config/win/mingw.mk
  * harbour/config/linux/gcc.mk
  * harbour/config/cygwin/gcc.mk
  * harbour/config/symbian/gcc.mk
  * harbour/config/os2/gcc.mk
  * harbour/config/sunos/gcc.mk
  * harbour/utils/hbmk2/hbmk2.prg
    * enable some important warnings in GCC builds using -W<name>... instead
      of -Wall and -Wno-<name>... for warning level set to low.
      It should help in backward compatibility with some older GCC versions.
2011-01-15 00:15:42 +00:00
Viktor Szakats
4a22ee33f7 2010-11-26 13:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/hbver.c
    + Added hb_iswin2k3().

  * src/rtl/hbsocket.c
    + Comment.
    ; TOFIX: Use SO_EXCLUSIVEADDRUSE on Windows.
             See: http://paste.lisp.org/display/59751

  - examples/udpds
  + contrib/hbmisc/tests/udpdstst.prg
  + contrib/hbmisc/udpds.prg
  * contrib/hbmisc/hbmisc.hbp
    + Moved UDPDS functions to hbmisc lib. Added hb_ prefix to names,
      plus formatted with hbformat.

  * contrib/hbhttpd/tests/webapp.prg
    * Formatting.

  ; Patch from Tamas:

  * config/bsd/gcc.mk
  * config/bsd/clang.mk
    * switch bsd to -fPIC, otherwise not even core builds (on 8.1/amd64)
    * while there, bring bsd/gcc.mk in line with linux/gcc.mk (now they
      are identical)
    * ditto for bsd/clang.mk

  * contrib/hbqt/hbqt_common.hbc
    * for hbqt, switch static supc++ to dynamic stdc++, otherwise dyn hbqt
      doesn't build. this is because on at least fbsd supc++ is apparently
      not pic; but switching from static supc++ to dynamic stdc++ easily
      fixes it.
2010-11-26 12:46:14 +00:00
Przemyslaw Czerpak
c40da0b34b 2010-11-20 12:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/expropt2.c
    * casting
2010-11-20 11:58:53 +00:00
Przemyslaw Czerpak
3134021021 2010-11-19 11:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    * marked may last TODO note as DONE - thanks to Viktor and Mindaugas

  * harbour/include/hbmacro.h
    ! added missing const in hb_macroGenPCodeN() declaration

  * harbour/include/hbapi.h
    * added const to HB_CODEBLOCK.pCode

  * harbour/include/hbcompdf.h
    ! added missing const to HB_MACRO.string

  * harbour/src/pp/ppcore.c
  * harbour/src/common/hbstr.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/compiler/hbfix.c
  * harbour/src/compiler/complex.c
  * harbour/src/compiler/hbdead.c
  * harbour/src/compiler/genc.c
  * harbour/src/compiler/hbident.c
  * harbour/src/compiler/gencc.c
  * harbour/src/compiler/hblbl.c
  * harbour/src/compiler/harbour.yyc
  * harbour/src/compiler/harbour.y
  * harbour/src/compiler/harbour.yyh
  * harbour/src/vm/macro.c
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/itemapi.c
  * harbour/src/vm/hvm.c
  * harbour/src/rtl/hbjson.c
  * harbour/src/rtl/sha1.c
  * harbour/src/rtl/sha2hmac.c
  * harbour/src/rtl/hbsocket.c
  * harbour/src/rtl/hbbffnc.c
  * harbour/src/rtl/itemseri.c
  * harbour/src/rtl/filebuf.c
  * harbour/src/rtl/hbbfish.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rdd/workarea.c
  * harbour/src/macro/macrolex.c
  * harbour/src/rdd/usrrdd/usrrdd.c
    * cleaned const pointer casting

  * harbour/src/rdd/usrrdd/usrrdd.c
    ! fixed very serious bug located during const pointer cleanup
      which should cause GPF on user code creating indexes

  * harbour/src/rtl/sha2.c
    * minor formatting

   ; TOFIX: Seems that there is sth wrong with src/rtl/sha1.c.
            Function SHA1_Transform() wrongly declares 2-nd parameter
            buffer[64] as const when in fact it changes it what can be
            seen if
               BYTE64QUAD16    *block;
            is changed to:
               const BYTE64QUAD16 *block;
            This casting which removes const hides potentially very serious
            bug - modifying readonly memory area. SHA1_Transform() changes
            the buffer so the 2-nd parameter must be declared without const.
            After such modification C compiler should warn when const buffers
            are passed to this function and such places should be fixed.
            In fact it seems to be only line 136:
               SHA1_Transform(context->state, &data[i]);
            Viktor can you look at it and fix the code?
2010-11-19 10:11:29 +00:00
Viktor Szakats
0d2defaf8b 2010-11-17 21:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    * Commented not-yet-implemented function hb_verHostCPU()

  * src/rtl/sha2.c
    ! Two local functions made static.
2010-11-17 20:59:53 +00:00
Przemyslaw Czerpak
51652b4892 2010-11-09 16:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/classes.c
    ! fixed typo: uiClass -> s_uiClasses

  * harbour/src/common/hbver.c
    ! fixed typo: missing ;
2010-11-09 15:39:33 +00:00
Viktor Szakats
b9cc575e8c 2010-11-09 14:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    + Added support for hb_iswin*() and HB_OSISWIN*() functions
      on MS-DOS platforms.
      Please test them.
    ; TODO: Detection of 2K and Vista isn't currently implemented,
            but can be added if someone knows how to detect them.
2010-11-09 14:00:44 +00:00
Przemyslaw Czerpak
d5c7c499b5 2010-11-08 23:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/src/common/expropt1.c
    + added protection against pushing series of parameters on HVM
      stack by hb_arrayToParams() function used in wrong contects,
      i.e.:
         var := hb_arrayToParams( { 1, 2, 3 } )
      Possible TODO: add compile time warning in such case.

  * harbour/contrib/hbexpat/3rd/expat/_hbconf.h
  * harbour/contrib/hbexpat/3rd/expat/expat.hbp
  * harbour/contrib/hbexpat/3rd/expat/xmltok.c
  * harbour/contrib/hbexpat/3rd/expat/xmlrole.c
  * harbour/contrib/hbexpat/3rd/expat/xmlparse.c
    * updated to define endian setting using information from hbdefs.h

  * harbour/contrib/hbexpat/3rd/expat/xmltok.c
   ! added missing members in structure initializations
2010-11-08 22:37:26 +00:00
Viktor Szakats
575b574c53 2010-11-07 15:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/version.c
    + HB_VERSION( HB_VERSION_PLATFORM ) changed to use hb_verPlatformMacro().
      This means it will now supported recently added platforms.
    ; NOTE: For consistency, __PLATFORM__WINDOWS should pbly be changed to __PLATFORM__WIN,
            and __PLATFORM__WINCE to __PLATFORM__WCE.

  * utils/hbmk2/hbmk2.prg
    + Added HB_HOST_PLAT macro, returning: hb_Version( HB_VERSION_PLATFORM )
    + Added HB_HOST_PLAT_UNIX macro.
    ! Fixed cygwin to be detected as cross target platform.
    ! Few cygwin related TOFIX-es cleared.

  * external/Makefile
  - external/sqlite3
  + contrib/3rd
  + contrib/3rd/sqlite3
  * contrib/3rd/sqlite3/sqlite3.hbc
  + contrib/3rd/sqlite3/sqlite3.hbp
  - contrib/3rd/sqlite3/Makefile
    * Moved sqlite3 foreign code to contrib/3rd dir from
      global 3rd party code dir.
    + Migrated remaining platform tweaks from Makefile to sqlite3.hbp
      Bumps are expected, pls test.

  * contrib/hbsqlit3/hbsqlit3.hbp
  * contrib/sddsqlt3/sddsqlt3.hbp
    * Changed sqlite3 position.
    + Added sqlite3 reference.
    ; Please note that after above changes sqlite3 will only be built
      if required.

  * src/common/hbver.c
    * Formatting.
2010-11-07 15:02:55 +00:00
Przemyslaw Czerpak
329ca84269 2010-11-02 15:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    * minor improvement in #include "hbthread.h" condition

  * harbour/external/minizip/ioapi.h
  * harbour/external/png/Makefile
  * harbour/src/common/hbffind.c
  * harbour/src/rtl/hbsocket.c
    * updated to compile with DMC
2010-11-02 14:43:05 +00:00
Viktor Szakats
ab28161da8 2010-11-01 16:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/hbver.c
    + Added hb_verPlatformMacro(), which returns string as it appears
      in __PLATFORM__* macro.
      This function will have to be extended for each new platform
      Harbour is getting ported to.

  * src/pp/ppcore.c
    ! Changed to use hb_verPlatformMacro() value to form __PLATFORM__*
      macro, instead of using hb_verPlatform(), which offers no
      guarantee for the value on *nix systems and it's was hack
      on other platforms too (f.e. it got messed up when Windows
      version string was changed to show "wine" at the beginning
      of the human readable platform string).
    % Made forming of __PLATFORM__* macros simpler, using hb_snprintf().
    ! Now WINCE builds of pp will also defined __PLATFORM__WINDOWS.

  ; Please review/test.
2010-11-01 15:44:47 +00:00
Viktor Szakats
df3b848bf6 2010-10-29 10:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hb_io.h
  * include/hbthread.h
  * include/hbsetup.h
  * src/vm/thread.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbprintf.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * config/global.mk
  - config/win/cygwin.mk
  + config/cygwin
  + config/cygwin/libs.mk
  + config/cygwin/gcc.mk
  + config/cygwin/global.mk
    + Applied cygwin patch from Tamas Tevesz.
      The goal is to migrate win/cygwin to cygwin/gcc, IOW to make cygwin
      a distinct platform (which is primarily unixy with option to access 
      winapi) as it should be.
      Changes made by me compared to original patch:
        - Fixed to HB_HOST_PLAT stay 'win'. Cygwin is not a host platform.
        - Fixed to set HB_COMPILER to gcc and HB_PLATFORM to cygwin when cygwin
          is detected on win platform.
        - Consequently some changes in global.mk could be dropped.
        - Deleted hbcom patches not related to cygwin.
        - Removed hbmk2 patch until we solve the 'plat $ 'cygwin' problem.
2010-10-29 08:24:01 +00:00
Viktor Szakats
738356ea9b 2010-10-28 23:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt_misc.prg
    + Changed to not RTE when disconnecting not-connected
      event. It will instead return .F. now.
      To be consistent with slots in this regard.
    * Undone previous optimization after realizing that
      events and slots low-functiona return different error codes.
      It didn't cause any harm with current system though.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    % Optimized hb_snprintf() calls.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
    * Formatting.

  * src/common/hbver.c
    * Name of SPARC adjusted. Thanks to Tamas Tevesz.
2010-10-28 21:52:34 +00:00
Przemyslaw Czerpak
a095d3da49 2010-10-20 16:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbtrace.c
    ! fixed to not overwrite user trace settings with default or
      environment configuration on 1-st call to hb_tr_level()/
      hb_tracelevel() function
2010-10-20 14:29:50 +00:00