Commit Graph

2193 Commits

Author SHA1 Message Date
Viktor Szakats
86fc847f7c 2009-07-28 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.ch
  * include/hbsocket.h
  * source/rtl/hbsocket.c
  * source/rtl/hbinet.c
  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    * Slightly renamed some constants to settle on a common
      prefix for all socket related ones: HB_SOCKET_*
      HB_SOCK_PF_*      -> HB_SOCKET_PF_*
      HB_SOCK_AF_*      -> HB_SOCKET_AF_*
      HB_SOCK_*         -> HB_SOCKET_PT_* (for protocol types)
      HB_SOCK_IPPROTO_* -> HB_SOCKET_IPPROTO_*
      HB_SOCK_SHUT_*    -> HB_SOCKET_SHUT_*
      HB_SOCK_FUNC      -> HB_SOCKET_FUNC

  * contrib/hbtip/thtml.prg
    * Minor formatting.
2009-07-28 11:56:55 +00:00
Przemyslaw Czerpak
3472f72ddd 2009-07-28 13:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
    ! added hbextlng.ch

  * harbour/source/rtl/hbinet.c
    ! fixed broadcast addresses wrongly used as default
2009-07-28 11:24:35 +00:00
Viktor Szakats
1054de0e9b 2009-07-28 12:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.h
  * contrib/hbssl/hbssl.c
  * source/rtl/hbsocket.c
  * source/rtl/hbinet.c
  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    * HB_SOCKET_T -> HB_SOCKET

  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/filesys.c
  * source/rtl/gtpca/gtpca.c
  * source/rtl/gtwvt/gtwvt.c
    ! Added casts for msvc64.
      Some C RTL functions in msvc64 expects file handles as 'int's.
      The rest is some non-critical stuff.
      Now only size_t to int/ULONG warnings remain in hbrtl.
    ; TOFIX: Plus these two:
      ../../../hbstrfmt.c(459) : warning C4244: 'argument' : conversion from '__int64' to 'ULONG', possible loss of data
      ../../../hbtoken.c(280) : warning C4244: '=' : conversion from '__int64' to 'ULONG', possible loss of data
2009-07-28 10:26:23 +00:00
Viktor Szakats
4b7833ba16 2009-07-28 01:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/libhpdf/Makefile
    + Enabled for os2/watcom.

  * include/hbdefs.h
    * Minor addition to new type section.
      'bool' is the new type for boolean, so maybe we should
      use them instead of hbBool/TRUE/FALSE.

  * source/rtl/hbsocket.c
    ! Added one 'static'.
    * Added one pair of paranthesis (formatting).

  * source/rtl/hbgtcore.c
  * source/rtl/hbsha1.c
  * contrib/hbwin/win_prt.c
    * Minor formatting.

  * contrib/xhb/xhbfunc.c
    + Added copyright holder for HB_F_EOF().

  * contrib/hbssl/ssl.c
    ! Minor typo in comment.

  * contrib/hbssl/hbssl.h
    ! Added HB_EXTERN_BEGIN/HB_EXTERN_END.

  * config/global.cf
    + Added HB_UNIX_COMPATIBLE variable.
    + Setting default lib install dir to lib/<arch>/<comp>
      on non-*nix systems.

  * examples/httpsrv/socket.c
    + Copied from uhttpd2. Please verify.
2009-07-27 23:54:06 +00:00
Przemyslaw Czerpak
2abefe1b3e 2009-07-27 23:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    + added socket error codes to HB_IOERRORS

  * harbour/include/Makefile
  + harbour/include/hbsocket.ch
  + harbour/include/hbsocket.h
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/hbsocket.c
    + added new BSD socket functions: hb_socket*(). They should be quite
      close to low level C socket interface with few modifications which
      help to hide some platform differences. Unfortunately we do not use
      autoconf so I had to arbitrary set which features are available
      on some platforms. In practice it means that it reduces portability
      to older OS-es, i.e. it should work with current Linux versions
      but it will not without some modifications in macros used to control
      supported features with older Linuxes using kernel 2.2 or 2.0.
      The same can happen with other *nix ports like Darwin, SunOS, HP-UX
      or with different versions of some Windows compilers. I also do not
      know which functionality is available in OS2 GCC ports and I would
      like to ask OS2 users to make tests and disable not working features.
      We also need tests with HP-UX, Darwin and SunOS.
      IP6 support is enabled only in *nixes. If Windows users are interested
      in IP6 then please add support for it. Most of Windows compilers do
      not support standard POSIX functions so I do not want to make it
      myself using unknown for me API without testing.
      In *nix builds PF_UNIX/PF_LOCAL sockets are also supported.
      Support for other socket types can be easy added if someone is
      interested in them.
      The constant values used in hbsocket.ch are equal to original BSD
      socket definitions. If it's necessary then it's possible to enable
      their translation inside hbsocket.c code though I do not think we
      will find such OS.
      The list of hb_socket*() functions was designed to cover all existing
      functionality in hbinet.c and socket.c. Most of functions supports
      timeout parameter what effectively allows to hide direct select()
      usage.
      Please make test with real applications and report any problems
      with hb_inet*() functions you will find.

  * harbour/source/vm/hvm.c
    * minor cleanup

  * harbour/source/rtl/hbi18n1.c
    * cleaned variable name

  * harbour/source/rtl/hbinet.c
  * harbour/examples/uhttpd2/socket.c
  * harbour/contrib/hbssl/hbssl.c
    * updated to use hb_socket*() functions

  * harbour/include/hbextern.ch
    * enabled HB_INET*() functions in DOS builds - they will simply return
      errors

  - harbour/include/hbapinet.h
    - removed old header file

  * harbour/source/pp/ppcore.c
    ! modified ENDTEXT marker to work also with comments in the same line
      It's more closer to Clipper though intentionally we are not fully
      CA-Cl*pper compatible here.
2009-07-27 21:43:31 +00:00
Viktor Szakats
a67b63175a 2009-07-23 12:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmisc/dates2.c
    * Renamed DAYSINMONTH() to HBMISC_DAYSINMONTH(),
      to avoid collision with hbct function with the same
      name, but different functionality.
    - Deleted functions below from hbmisc library:
      EOM(), BOM(), WOM(), DOY(), WOY(), EOY(), BOY()
      They have superior alternatives with the same name
      in hbct lib, please use those.

  * contrib/hbssl/evpciph.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/tests/pem.prg
  + contrib/hbssl/tests/pubkey.pem
  * contrib/hbssl/tests/crypt.prg
  * contrib/hbssl/err.c
    + Added EVP_SEALINIT() (under development)
    + Added EVP_SEALUPDATE(), EVP_SEALFINAL().
    + Added SSL_SET_MSG_CALLBACK() (it's a debug function really,
      and the solution is slightly hackish, as I have to access
      OpenSSL structure and Harbour item freeing needs to be done
      manually. Anyhow it can be excluded from builds.
    + Added ERR_LOAD_CRYPTO_STRINGS().
    + Added ERR_PRINT_ERRORS(). (very useful)
    + Added ERR_FREE_STRINGS().

  * include/hbapi.h
  * source/vm/arrays.c
  * source/vm/extend.c
  * source/debug/dbgentry.c
  * source/rtl/hbgtcore.c
    ! Renamed API function hb_arraySetCPtr() to hb_arraySetCLPtr().
      Old function name still available for compatibility.
2009-07-23 10:03:20 +00:00
Viktor Szakats
bbc434f9a2 2009-07-22 17:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu.bat
    ! Added SHLVL=0 to make commands to force native shell
      even if sh shell is found in the PATH (f.e. when msys or
      cygwin is present there, for mingwarm targets, cygwin is
      even required.)

  * external/libhpdf/Makefile
    + Made it compile with mingwarm.

  * include/hbextern.ch
    ! Fixed typo in prev.

  * contrib/hbssl/pem.c
    + Added two new functions. Under testing.
      PEM_READ_BIO_RSAPRIVATEKEY()
      PEM_READ_BIO_RSAPUBLICKEY()
2009-07-22 15:52:10 +00:00
Viktor Szakats
40a7012cb7 2009-07-22 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
  * include/hbextern.ch
  * contrib/Makefile
  * source/rtl/Makefile
  + source/rtl/sha1.c
  + source/rtl/sha1.h
  + source/rtl/hbsha1hm.c
  + source/rtl/sha2.c
  + source/rtl/sha2.h
  + source/rtl/hbsha2hm.c
  + source/rtl/sha1hmac.c
  + source/rtl/sha1hmac.h
  + source/rtl/hbsha1.c
  + source/rtl/sha2hmac.c
  + source/rtl/sha2hmac.h
  + source/rtl/hbsha2.c
  + tests/testsha1.prg
  + tests/testsha2.prg
    * hbcrypt contrib library merged into the core.
2009-07-22 13:53:21 +00:00
Viktor Szakats
2849c6e191 2009-07-22 15:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * source/common/hbstr.c
  * source/rtl/hbmd5.c
    * Moved (and somewhat standardized and renamed) mem to hex C
      function from hbm5/rtl to common lib.

  * bin/hb-func.sh
    ! Fixed double '%' chars in hbmk.cfg generation.

  * contrib/hbcrypt/Makefile
  + contrib/hbcrypt/hbsha1.c
  + contrib/hbcrypt/hbsha1hm.c
  + contrib/hbcrypt/tests/testsha1.prg
    + Added HB_SHA1() and HB_HMAC_SHA1() functions.

  * source/rtl/hbmd5.c
    * Changed meaning of second boolean parameter. From
      now on a .T. has to be passed to get binary output.
      (I won't list this as a incompatible, as the new
      parameter has just been introduced)
    ; by now HB_MD5() and HB_SHA*() functions are synced 
      in functionality.

  * contrib/hbcrypt/hbsha1.c
  * contrib/hbcrypt/hbsha2.c
  * contrib/hbcrypt/hbsha1hm.c
  * contrib/hbcrypt/hbsha2hm.c
  * contrib/hbcrypt/tests/testsha2.prg
    * Changed all SHA2 functions to returned digest in hex
      format by default. The binary format can be requested by
      passing .T. as an extra parameter.
      INCOMPATIBLE: Please update your sources if you used
                    these functions. Add .T. parameter to keep
                    current workings.

  * contrib/hbcurl/hbcurl.c
    % Cleaned types (no BYTE, no BOOL, deleted unnecessary casts).
      Only a few ULONGs remained.

  * contrib/hbssl/pem.c
    + Some advances.
2009-07-22 13:41:36 +00:00
Viktor Szakats
e2cca2e1e6 2009-07-20 17:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_reg.prg
  * contrib/hbwin/win_regc.c
    ! GETREGISTRY() fixed to return default only if the
      registry entry doesn't exist. Previously it was
      falling back to default even if the value existed but
      was empty. In case of empty string, these weren't
      possible to write from hbwin, but could exist in registry
      when written by other tools.
    ! GETREGISTRY() fixed to return binary data as string
      for REG_BINARY types. (previously it was returning
      an unsigned int - essentially truncating everything
      beyong the first 4 bytes).
    ! GETREGISTRY() fixed to swap words for REG_DWORD_BIG_ENDIAN
      values to return correct unsigned integer results.
      (not tested)
    ! GETREGISTRY() fixed to strip only the ending Chr( 0 )
      from string values. This makes it possible to utilize
      strings containing nul chars (obviously) and also to
      parse REG_MULTI_SZ multistring values.
    ! GETREGISTRY() fixed to not RTE if WIN_REGQUERYVALUEEX()
      returned non-null length and a non-string value.
      I still have to understand how this was possible, but
      I got a report that it happened on a system.
    ! WIN_REGQUERYVALUEEX() fixed to store NIL in 5th param,
      if the registry entry doesn't exist.
    ! WIN_REGQUERYVALUEEX() fixed to store empty string when
      registry value is zero length.

  * include/hbapi.h
  * source/vm/extend.c
    + Added API hb_stor() to store a NIL into a parameter passed
      by reference.

  * source/vm/arrays.c
    * Minor formatting.
2009-07-20 15:48:57 +00:00
Viktor Szakats
a45194d863 2009-07-20 10:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapinet.h
    ! Fix for Cygwin.
2009-07-20 08:29:14 +00:00
Viktor Szakats
6e3895739e 2009-07-20 10:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapinet.h
  * source/rtl/hbinet.c
    ! Fixed headers for non-Windows.
2009-07-20 08:21:50 +00:00
Viktor Szakats
5d8cbff947 2009-07-20 00:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/ssl.c
   + contrib/hbssl/hbssl.c
   * contrib/hbssl/Makefile
     + HB_SSL_READ_ALL() and HB_SSL_READ_LINE() rewritten.
       (HB_SSL_READ_ALL() isn't fully optimal, and maybe there
       are errors, please check.)
     + Added SSL_GET_RFD(), SSL_GET_WFD().

   * include/Makefile
   + include/hbapinet.h
   * source/rtl/hbinet.c
     + Moved some basic declarations to new API header,
       mainly to export hb_select[Read|Write]*() functions.
       We will also need such header in the future when
       we implement C level socket/networking API. Current
       solution is quite messy since the header has to
       pull Windows headers which may not be friendly with
       all usages/include order.

   * source/rtl/hbinet.c
     * HB_SOCKET_STRUCT renamed to HB_SOCKET.
     + Added PHB_SOCKET type.
     + Added hb_selectReadFD(), hb_selectWriteFD() which
       are similar to hb_selectReadSocket() and
       hb_selectWriteSocket() but expect raw FD plus explicit
       timeout values.
       These function names and solutions are tentative
       to solve SSL integration with Harbour, and hopefully
       in the future we will have a clean net API, the current
       one is very messy.

   * source/vm/itemapi.c
     ! hb_itemPutCPtr(), hb_itemPutCLPtr() fixed to put empty
       string to item if szText is NULL and length is non-zero,
       instead of trying to free NULL pointer causing internal
       error.

   * include/hbextlng.ch
     * Corrected header to be in sync with CDP and not
       to repeat the filename.
2009-07-19 22:51:05 +00:00
Viktor Szakats
a647e930c6 2009-07-19 19:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/Makefile
  + contrib/hbssl/sslerr.c
  + contrib/hbssl/sslx509.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/tests/test.prg
    + Added ERR_*() API functions.
    + Prefixed .ch contant names with HB_ to avoid collision with
      ssl own headers.
    + Added SSL_CTX_SET_MODE(), SSL_CTX_GET_MODE() functions.
    + Added HB_SSL_READ_ALL(), HB_SSL_READ_LINE() functions meaning
      to mimic HB_INETRECVALL() and HB_INETRECVLINE(). (probably needs
      more work, it'd be great if someone who understands the guts of
      these inet functions could take a look)
    * SSL_PEEK() synced with SSL_READ() recent changes.
    + Added SSL_SET_MODE(), SSL_GET_MODE(), SSL_SET_MTU() functions.
    + Added SSL_GET_RBIO(), SSL_GET_WBIO() functions.
    + Added SSL_GET_PEER_CERTIFICATE() function.
    + Added X509_GET_SUBJECT_NAME(), X509_GET_ISSUER_NAME(), X509_NAME_ONELINE()
    + Added HB_SSL_MODE_* constants.

  * include/hbextern.ch
    * Changed to use new hbextlng.ch.

  - examples/hbextern/hbextern.lst
    ! It wasn't deleted in 2009-07-18 21:37 UTC+0600 for some reason.

  * source/rtl/console.c
    ! Fixed OUTSTD() and OUTERR() to output separator space
      to std/err instead of alt.

  * source/rtl/hbinet.c
    % Minor optimization.
2009-07-19 17:42:06 +00:00
April White
239daa45f5 2009-07-18 21:37 UTC+0600 April White (april users.sourceforge.net)
+ include/hbextlng.ch
    ; as created by hbextern
  * ChangeLog - improved comments for 2009-07-18 21:20, below
2009-07-19 01:40:33 +00:00
Przemyslaw Czerpak
1688862f1e 2009-07-18 02:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    + added HB_ZERROR
2009-07-18 00:59:23 +00:00
Viktor Szakats
43cd4d5102 2009-07-16 10:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/lang/Makefile
  + source/lang/msguados.c
    + Added Ukrainian language module for cp1125.
      (borrowed from xhb, work of Pavel Tsarenko.)
      I've made a few corrections compared to xhb:
      - Using the same internal name as filename for
        consistency with other language modules
        (UADOS instead of UA1125).
      - Fixed date format which must only contain YYYY, MM, DD
        regardless of the CP/language used, since it's a picture mask.
      - Formatting (semicolon, spaces, deleted embedded $Id$ not
        needed with SVN)
      - Added to hbextern.ch.

  * source/lang/msguakoi.c
  * source/lang/msgua866.c
    * Two corrections to internal name.
      (borrowed from xhb, work of Pavel Tsarenko.)
    ; QUESTION: I wonder why the texts are very much different in
                Harbour and xhb. Someone familiar with Ukrainian
                language and encodings should check this, only one
                of them can be right and all CPs should be synced 
                with each other the only thing being different is 
                the encoding.

  * source/codepage/msguakoi.c
    ! Fixed one letter.

  * source/codepage/cpuawin.c
  * source/codepage/cpua1125.c
  * source/codepage/cpua866.c
  * source/codepage/cpuakoi.c
    * Added "CYRILLIC LETTER GHE WITH UPTURN" letter.
      (borrowed from xhb, work of Pavel Tsarenko.)
2009-07-16 08:49:33 +00:00
Viktor Szakats
f0659091a8 2009-07-16 10:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu_os2.cmd
  * make_gnu.bat
  * make_gnu.sh
    % Deleted install dir creation. Now done from GNU Make.

  * make_gnu_os2.cmd
    * Installs libs in lib/<arch>/<comp> by default just like
      win/dos builds.

  * config/instsh.cf
    ! Fixed missing semicolon.

  * config/rules.cf
    * Minor in comments.

  * include/hbsetup.h
  * source/common/hbprintf.c
    - Removed temporary enabler logic, here testing is over.
2009-07-16 08:03:03 +00:00
Viktor Szakats
22eba88dc3 2009-07-15 20:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
  + include/hbextcdp.ch
  * include/hbextern.ch
  * utils/hbmk2/hbmk2.prg
    + Separated EXTERNAL HB_CODEPAGE_* lines to hbextcdp.ch.
      These are commonly needed by apps.
    * Using hbextcdp.ch in hbmk2.
    ; TODO: hbextern app needs to be updated to filter out 
            CODEPAGE symbols.
2009-07-15 18:01:41 +00:00
Przemyslaw Czerpak
e81c3d4058 2009-07-15 02:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/hpux/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/dos/watcom.cf
  * harbour/config/dos/djgpp.cf
  * harbour/config/win/watcom.cf
  * harbour/config/win/icc.cf
  * harbour/config/win/cygwin.cf
  * harbour/config/win/msvc.cf
  * harbour/config/win/xcc.cf
  * harbour/config/win/mingw.cf
  * harbour/config/win/pocc.cf
  * harbour/config/win/bcc.cf
  * harbour/config/linux/watcom.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/icc.cf
  * harbour/config/os2/watcom.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/bsd/gcc.cf
  * harbour/config/wce/msvcarm.cf
  * harbour/config/wce/mingwarm.cf
  * harbour/config/wce/poccarm.cf
    * cleanup: rtl -> hbrtl, rdd -> hbrdd

  * harbour/harbour.spec
  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/include/hbcomp.h
  * harbour/source/Makefile
  + harbour/source/nulrtl
  + harbour/source/nulrtl/nulrtl.c
  + harbour/source/nulrtl/Makefile
    + added hbnulrtl library to use non .prg harbour binaries

  * harbour/source/rtl/strmatch.c
  * harbour/source/common/Makefile
  + harbour/source/common/strwild.c
    * moved hb_strMatch*() functions from RTL to COMMON library
      Warning: copyright changed in new file. Viktor is rtl/strmatch.c
      copyright holder but hb_strMatch*() functions is my code.

  * harbour/source/rtl/Makefile
  - harbour/source/rtl/hbffind.c
  * harbour/source/common/Makefile
  * harbour/source/common/hbffind.c
    * moved hb_fsFind*() functions from RTL to COMMON library

  * harbour/source/main/harbour.c
  * harbour/source/main/Makefile
    * use hbnulrtl library to create harbour binaries

  * harbour/source/pp/Makefile
  * harbour/source/pp/hbpp.c
    * use hbnulrtl library to create hbpp binaries
    * added support for wildcard search

  * harbour/examples/pp/pp.c
  * harbour/examples/pp/pp.hbp
    * use hbnulrtl library to create pp binaries
      question: why is ignored -nohblib in pp.hbp?

  * harbour/contrib/rddads/ads1.c
    % removed always false if() { ... } statement
2009-07-15 00:37:09 +00:00
Viktor Szakats
61962be0dd 2009-07-14 12:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/extend.c
    ! Fixed hb_parvcx() to return "" instead of NULL when dealing
      with array parameters out of bound or non-string.
      (Borrowed from xhb by Ron Pinkas. Although the fix is
      implemented differently in Harbour)

  * source/rtl/gttrm/Makefile
    * CFLAGS -> HB_USER_CFLAGS

  * include/hbapicdp.h
  * include/hbextern.ch
  * source/lang/Makefile
  * source/codepage/Makefile
  + source/codepage/cpua1125.c
  + source/codepage/uc1125.c
    + Added DOS Ukrainian 1125 codepage
      (Borrowed from xhb. Work of Pavel Tsarenko)

  * utils/hbmk2/hbmk2.prg
    * OS/2 embedded compiler autodetection order fixed.
2009-07-14 10:16:48 +00:00
Przemyslaw Czerpak
4057472258 2009-07-11 15:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/os2/watcom.cf
  * harbour/config/os2/dir.cf
  * harbour/config/os2/install.cf
    * small cleanup for builds with *nix like shells and cross builds

  * harbour/contrib/rddads/Makefile
    ! disabld from OS2 builds - if ADS supports OS2 then please speak-up

  * harbour/include/hbthread.h
    * added small hack as workaround for missing OS2 declarations

  * harbour/source/rtl/filesys.c
    ! fixed typo in OS2 builds

  * harbour/source/rtl/hbproces.c
    ! fixed non GCC OS2 builds

  * harbour/contrib/hbtpathy/tpos2.c
    ! fixed casting in OS2 builds

  * harbour/contrib/xhb/hbserv.c
    ! disabled from OS2 non GCC builds

   Now I can create OS2 OpenWatcom build in my Linux box using this simple
   script:

      #!/bin/sh
      if [ -z "${WATCOM}" ]; then
         export WATCOM="/opt/lng/watcom"
         export INCLUDE="${WATCOM}/h:${WATCOM}/h/os2"
         export PATH="${WATCOM}/binl:$PATH"
      fi

      export HB_ARCHITECTURE=os2
      export HB_COMPILER=watcom
      export HB_INSTALL_PREFIX="$(pwd)/hb-os2/watcom"

      #cross build settings
      # this should be fixed and we should use HB_PPGEN_PATH as direct
      # reference to hbpp binaries and HB_COMP_PATH as direct reference
      # to harbour binaries in all builds. Otherwise we have to create
      # some hacks to create platform specific names for above binaries
      # i.e. in *nixes links with .exe extension.
      export HB_PPGEN_PATH="/tmp/cros-hb"
      export HB_BIN_COMPILE="/tmp/cros-hb"

      export HB_USER_PRGFLAGS="${HB_USER_PRGFLAGS} -D__PLATFORM__OS2"
      export HB_USER_PRGFLAGS="${HB_USER_PRGFLAGS} -undef:__PLATFORM__UNIX"
      export HB_USER_PRGFLAGS="${HB_USER_PRGFLAGS} -undef:__PLATFORM__LINUX"
      # eliminate libraries which scans for local host header files
      export HB_XBUILD=yes

      ./make_gnu.sh "$@"

   It should work also in Windows with MSys.
   This should resolve the problem with testing OS2 builds, at least
   for OpenWatcom. I do not know if GCC for OS2 is available as cross
   build environment.
   I think that Viktor can quite easy adopt hbmk2 for OS2 cross compilation.
2009-07-11 13:39:02 +00:00
Viktor Szakats
eb9c814238 2009-07-11 08:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added hbTRUE, hbFALSE.

  * config/win/bcc.cf
    ! Fixed to use NT branch. Deleted Win9x method.

  * config/win/install.cf
    * Minor.
2009-07-11 06:47:18 +00:00
Viktor Szakats
5da96d8c2a 2009-07-10 21:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added HB_SETCLSHANDLE().

  * source/vm/evalhb.c
  * source/vm/eval.c
  * source/vm/dynlibhb.c
    ! Fixed old int <-> USHORT conversion MSVC warnings.
    ; TOFIX: ? There is a disagreement between different APIs
               and Harbour program parts on the size and type of
               number of parameters, it can be int, USHORT, ULONG,
               and in some places there is also BYTE limit.

  * source/common/hbver.c
    * Minor formatting.
2009-07-10 19:21:40 +00:00
Viktor Szakats
1da9a34b87 2009-07-10 18:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * include/hbapigt.h
  * source/rtl/gtapi.c
  * source/rtl/hbgtcore.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/screen1.c
  * contrib/hbct/ctwfunc.c
    * GetClearChar/SetClearChar changed to use USHORT for char
      (was int). This resolves all remaining MSVC warnings.
    * _HB_GT_BASE structure adapted to latest changes, three
      vars changed from USHORT to int, one renamed to reflect
      int type.
    + Added var names to a few functions declarations.
    % Minor optimizations.
    * hb_gtScrollEx() modified to not do parameter evaluation,
      just pass them to low-level.
    ; Przemek, please review me, I've again encountered UCHARs
      in hbct / SETCLEARB().

  * source/rtl/idle.c
    * SHORT -> int.
    * Minor formatting.
2009-07-10 16:35:04 +00:00
Przemyslaw Czerpak
e854eb8e5c 2009-07-10 14:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    * changed BYTE to USHORT in few functions which expected character
      for GTs with UNICODE screen buffer

  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gttrm/gttrm.c
    * updated for USHORT used as character holder

  * harbour/source/rtl/gtwvt/gtwvt.c
    % minor modification

  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtalleg/gtalleg.c
    * updated for BYTE to int as color holder modification

  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/screen2.c
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbnf/ftattr.c
    ! fixed casting changing values or added casting to force strict
      translation
    * modified to accept color and character values with wider ranges

  * harbour/contrib/hbct/ctwin.c
    ! removed unnecessary stripping to BYTE in character and color values

  * harbour/source/rtl/console.c
    * pacified warning
2009-07-10 12:19:35 +00:00
Viktor Szakats
ebd6dd9a48 2009-07-10 11:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * include/hbapigt.h
  * source/rtl/gtdos/gtdos.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/gtxwc/gtxwc.c
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/gttrm/gttrm.c
  * source/rtl/gtcgi/gtcgi.c
  * source/rtl/gtapi.c
  * source/rtl/gtos2/gtos2.c
  * source/rtl/hbgtcore.c
  * source/rtl/gtsln/gtsln.c
  * source/rtl/gtpca/gtpca.c
  * source/rtl/gtwvt/gtwvt.c
  * contrib/hbct/screen2.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/screen1.c
  * contrib/hbnf/ftattr.c
    * Changed color representation to be 'int' in all places.
      This means changes in high level and low level GT interfaces.
    ; QUESTION: In hbct UCHAR is used in a few places, I didn't want to
                touch it.
    ; Please test and review.
    ; TODO: Clean char type usage (from int, UCHAR, BYTE, USHORT to what?)
    ; TODO: Clean attr type usage to be hbU8, or HB_ATTR, or else?
2009-07-10 09:44:43 +00:00
Viktor Szakats
90e357146a 2009-07-10 10:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapigt.h
  * source/rtl/gtapi.c
    ! Fixed a few byAttr parameter names which should really be named bColor.
    ; TOFIX: ? hb_gtSetAttribute() and *SETATTRIBUTE interfaces
             have a misleading name, as they're really setting
             color, not attribute. (we called color as attr in
             the beginning when no separate attr info was
             implemented)
2009-07-10 08:37:59 +00:00
Viktor Szakats
85ea4b601b 2009-07-10 04:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    - Deleted HB_RESULT. We already have HB_ERRCODE.

  * source/main/harbour.c
    * hb_xquery() parameter type updated.
2009-07-10 02:46:48 +00:00
Viktor Szakats
8427e79694 2009-07-10 04:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added HB_RESULT. This is meant to replace current USHORT used 
      to store result (or "error" values).

  * source/rtl/console.c
    * USHORT -> int (printer coordinates).
2009-07-10 02:40:54 +00:00
Viktor Szakats
2a4e728aa9 2009-07-10 04:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * source/vm/fm.c
  * source/rtl/fstemp.c
  * source/rtl/ampm.c
  * source/rtl/fkmax.c
  * source/rtl/isprint.c
  * source/rtl/samples.c
  * source/rtl/inkey.c
  * source/rtl/fmhb.c
  * source/rtl/colorind.c
  * source/rtl/hbffind.c
    * USHORT -> int.
2009-07-10 02:31:59 +00:00
Przemyslaw Czerpak
e08ab48f90 2009-07-10 03:17 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    * changed last parameter of hb_gtRepChar() from USHORT uiCount to
      ULONG ulCount
    * removed basic parameter validation from hb_gtScroll() - such
      things should be done by GT driver
    * minor cleanup

  * harbour/source/rtl/hbgtcore.c
    % moved pbyBuffer initialization outside the loop in Rest/Save methods
    * minor cleanup in casting

  * harbour/source/rtl/mouse53.c
    % minor optimization

  * harbour/source/rtl/gtdos/gtdos.c
    * changed buffer type in Mouse{Save,Restore}State methods from char *
      to void *

  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
    ! fixed casting

  * harbour/source/rtl/xhelp.c
  * harbour/source/rtl/console.c
    % use 'int' instead of 'USHORT'

  * harbour/source/rtl/saverest.c
    * removed explicit casting

  * harbour/source/rtl/scroll.c
  * harbour/source/rtl/console.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/screen2.c
    ! fixed casting from 'char *' items which was wrongly changing
      the results.

  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/screen2.c
    % eliminated not longer necessary intermediate variables used for
      passing by reference in previous version with [U]SHORT casting

  * harbour/contrib/hbnf/dispc.c
  * harbour/contrib/hbnf/ftattr.c
  * harbour/contrib/hbnf/ftshadow.c
    * changed screen coordinates from [U]SHORT to int
2009-07-10 01:18:02 +00:00
Viktor Szakats
cd2e990242 2009-07-10 02:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * include/hbapigt.h
  * include/hbapi.h
  * source/rtl/scroll.c
  * source/rtl/maxrow.c
  * source/rtl/gtapi.c
  * source/rtl/saverest.c
  * source/rtl/console.c
  * source/rtl/oldclear.c
  * source/rtl/hbgtcore.c
  * source/rtl/scrrow.c
  * source/rtl/shadow.c
  * source/rtl/setcurs.c
  * source/rtl/mouse53.c
  * source/rtl/gx.c
  * source/rtl/mouseapi.c
  * contrib/hbct/cursor.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbclipsm/gauge.c
    * Changed all USHORT to int in high-level GT API layer which
      already had an int representation on the low-level.
      Please review me. It's possible that some extra checks (or else)
      need to be added since signedness has changed.
    * Change mouse state buffer from char * to void *.
    ; TODO: Review remaining BYTE/USHORT usage for attr, color 
            and char. Char is sometimes represented by UCHAR, 
            sometimes by char and sometimes by USHORT. Color is 
            represented by both int and BYTE. attr is BYTE, which 
            can be changed to hbU8.
2009-07-10 00:23:44 +00:00
Viktor Szakats
f3cb2c3bf6 2009-07-10 01:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapigt.h
  * contrib/hbct/screen2.c
  * contrib/hbct/cursor.c
  * contrib/hbct/screen1.c
  * contrib/hbct/setrc.c
  * contrib/hbclipsm/status.c
  * contrib/hbclipsm/gauge.c
  * source/rtl/scroll.c
  * source/rtl/setposbs.c
  * source/rtl/oldbox.c
  * source/rtl/setpos.c
  * source/rtl/box.c
  * source/rtl/gtapi.c
  * source/rtl/console.c
  * source/rtl/oldclear.c
  * source/rtl/xsavescr.c
    * SHORT -> int (hb_gtGetPos(), hb_gtSetPos(), hb_gtScroll(), hb_gtBox*(), hb_gtDrawBox())
    * UCHAR -> char

  * examples/hbdoc/hbdoc.hbp
  - examples/hbdoc/hbdfrdln.c
  * examples/hbmake/hbmake.hbp
  * examples/hbmake/hbmakec.c
    - Deleted local copies of contrib functions, now using
      contrib libs instead. Now that these are in examples,
      this is okay.

  * ChangeLog
    * Marked TODO as DONE.
2009-07-09 23:03:23 +00:00
Viktor Szakats
6150fa9aa2 2009-07-10 00:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * source/rtl/gtapi.c
  * source/rtl/hbgtcore.c
    * Changed low level GT SAVE/REST method buffer parameter type
      to void * from BYTE *. Some explicit casts removed.
    * Few more BYTE *s to char *.
2009-07-09 22:29:21 +00:00
Viktor Szakats
2832c55881 2009-07-09 23:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbvmpub.h
  * include/extend.api
  * include/hbwince.h
  * include/hb_io.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbinit.h
  * include/clipdefs.h
  * include/hbmath.h
  * include/hbzlib.h
  * include/hbregex.h
  * include/hbexprb.c
  * source/pp/hbpp.c
  * source/lang/msgrukoi.c
  * source/lang/msgzhgb.c
  * source/lang/msgruwin.c
  * source/lang/msgelwin.c
  * source/lang/msgro.c
  * source/lang/msghriso.c
  * source/lang/msgcskam.c
  * source/lang/msggl.c
  * source/lang/msges.c
  * source/lang/msgde.c
  * source/lang/msgru866.c
  * source/lang/msgcs852.c
  * source/lang/msgplmaz.c
  * source/lang/msgpliso.c
  * source/lang/msgplwin.c
  * source/lang/msgid.c
  * source/lang/msgel.c
  * source/lang/msgdewin.c
  * source/lang/msghr437.c
  * source/lang/msghr852.c
  * source/lang/msgcsiso.c
  * source/lang/msgcswin.c
  * source/lang/msgeswin.c
  * source/vm/macro.c
  * source/vm/mainwin.c
  * source/vm/maindll.c
  * source/vm/itemapi.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/mainstd.c
  * source/vm/maindllp.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/thread.c
  * source/vm/main.c
  * source/vm/break.c
  * source/vm/dynlibhb.c
  * source/vm/set.c
  * source/vm/classes.c
  * source/debug/dbgtwin.prg
  * source/debug/dbgtmenu.prg
  * source/debug/dbgmenu.prg
  * source/debug/dbgthsh.prg
  * source/debug/dbgwa.prg
  * source/common/hbgete.c
  * source/common/hbver.c
  * source/common/hbprintf.c
  * source/common/hbfsapi.c
  * source/common/hbverdsp.c
  * source/common/hbwince.c
  * source/common/hbfopen.c
  * source/common/hbdate.c
  * source/macro/macroa.c
  * source/macro/macrob.c
  * source/rtl/lennum.c
  * source/rtl/gtdos/gtdos.c
  * source/rtl/setposbs.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/typefile.prg
  * source/rtl/math.c
  * source/rtl/getsys53.prg
  * source/rtl/tobject.prg
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/gtcrs/gtcrs.h
  * source/rtl/philesx.c
  * source/rtl/filehb.c
  * source/rtl/hbtoken.c
  * source/rtl/fstemp.c
  * source/rtl/ampm.c
  * source/rtl/maxrow.c
  * source/rtl/hbstrfmt.c
  * source/rtl/transfrm.c
  * source/rtl/gttone.c
  * source/rtl/datec.c
  * source/rtl/fserr.c
  * source/rtl/pushbtn.prg
  * source/rtl/memvarbl.prg
  * source/rtl/hbregexc.c
  * source/rtl/profiler.prg
  * source/rtl/hbini.prg
  * source/rtl/dbedit.prg
  * source/rtl/filesys.c
  * source/rtl/lang.c
  * source/rtl/einstv52.prg
  * source/rtl/hbbit.c
  * source/rtl/isprint.c
  * source/rtl/altd.prg
  * source/rtl/diskspac.c
  * source/rtl/console.c
  * source/rtl/gtos2/gtos2.c
  * source/rtl/adir.prg
  * source/rtl/gui.prg
  * source/rtl/hbgtcore.c
  * source/rtl/dirdrive.c
  * source/rtl/wait.prg
  * source/rtl/mlcfunc.c
  * source/rtl/scrollbr.prg
  * source/rtl/gtapiu.c
  * source/rtl/tbrowsys.prg
  * source/rtl/oemansi.c
  * source/rtl/philes53.c
  * source/rtl/color53.prg
  * source/rtl/xsavescr.c
  * source/rtl/tgetlist.prg
  * source/rtl/gtsln/mousesln.c
  * source/rtl/gtsln/kbsln.c
  * source/rtl/gtsln/gtsln.h
  * source/rtl/disksphb.c
  * source/rtl/tlabel.prg
  * source/rtl/radiogrp.prg
  * source/rtl/scrrow.c
  * source/rtl/net.c
  * source/rtl/stuff.c
  * source/rtl/checkbox.prg
  * source/rtl/filebuf.c
  * source/rtl/mtran.c
  * source/rtl/gete.c
  * source/rtl/hbproces.c
  * source/rtl/gtwvt/gtwvt.c
  * source/rtl/fssize.c
  * source/rtl/memofile.c
  * source/rtl/hbffind.c
  * source/rtl/tmenuitm.prg
  * source/rtl/gtsys.c
  * source/rtl/devoutp.prg
  * source/codepage/uckoi8.c
  * source/codepage/uckoi8u.c
  * source/codepage/cphu852s.c
  * source/codepage/cpes850c.c
  * source/codepage/cphuisos.c
  * source/codepage/ucmaz.c
  * source/codepage/cptr857.c
  * source/codepage/ucmik.c
  * source/codepage/cphr437.c
  * source/codepage/cphuwins.c
  * source/rdd/dbjoin.prg
  * source/rdd/dbnubs.c
  * source/rdd/dbfuncs.prg
  * source/rdd/dbtotal.prg
  * source/rdd/dbstrux.prg
  * source/rdd/dbsort.prg
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/hbsix/sxcompr.c
  * source/compiler/hbmain.c
  * source/compiler/expropta.c
  * source/compiler/exproptb.c
  * source/compiler/fixflex.c
  * source/compiler/compi18n.c
  * source/compiler/gencobj.c
  * source/compiler/hbopt.c
  * source/compiler/hbgenerr.c
  * utils/hbtest/rt_main.h
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/rt_vars.ch
  * contrib/gtalleg/gtalleg.c
  * contrib/gtalleg/ssf.h
  * contrib/hbmysql/mysqlold.c
  * contrib/hbmysql/mysql.c
  * contrib/hbct/charlist.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/charonly.c
  * contrib/hbct/ctset.c
  * contrib/hbct/ctset.h
  * contrib/hbct/cterror.ch
  * contrib/hbct/ftoc.c
  * contrib/hbct/charevod.c
  * contrib/hbct/exponent.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/ct.prg
  * contrib/hbct/cursor.c
  * contrib/hbct/color.c
  * contrib/hbct/charone.c
  * contrib/hbct/numconv.prg
  * contrib/hbct/cttime.prg
  * contrib/hbct/ctstr.h
  * contrib/hbct/atnum.c
  * contrib/hbct/disk.c
  * contrib/hbct/misc1.c
  * contrib/hbct/print.c
  * contrib/xhb/hblog.ch
  * contrib/xhb/bkgtsks.c
  * contrib/xhb/wintypes.ch
  * contrib/xhb/classex.ch
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/ttable.ch
  * contrib/xhb/hbcompat.ch
  * contrib/xhb/arrayblk.prg
  * contrib/xhb/hbctypes.ch
  * contrib/xhb/xhbextrn.ch
  * contrib/xhb/filestat.c
  * contrib/xhb/hblogdef.ch
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/xhbfunc.c
  * contrib/hbodbc/odbcold.c
  * contrib/hbtpathy/telepath.ch
  * contrib/hbmzip/hbmzip.c
  * contrib/hbblat/hbblat.ch
  * contrib/hbxbp/xbpfiledialog.prg
  * contrib/hbxbp/gra.ch
  * contrib/hbxbp/xbpwindow.prg
  * contrib/hbxbp/xbp.ch
  * contrib/hbxbp/xbphtmlviewer.prg
  * contrib/hbxbp/xbptoolbar.prg
  * contrib/hbxbp/appevent.ch
  * contrib/hbxbp/xbpgeneric.prg
  * contrib/xpp/philesx.c
  * contrib/hbnf/acctyear.prg
  * contrib/hbnf/byteneg.prg
  * contrib/hbnf/isshare.prg
  * contrib/hbnf/kspeed.c
  * contrib/hbnf/prtscr.c
  * contrib/hbnf/ftshadow.c
  * contrib/hbnf/descendn.c
  * contrib/hbnf/scancode.prg
  * contrib/hbnf/vidmode.prg
  * contrib/hbnf/acctadj.prg
  * contrib/hbnf/vidcur.prg
  * contrib/hbnf/iamidle.c
  * contrib/hbnf/acctmnth.prg
  * contrib/hbnf/madd.prg
  * contrib/hbnf/fttext.c
  * contrib/hbnf/mouse1.prg
  * contrib/hbnf/settime.prg
  * contrib/hbnf/page.prg
  * contrib/hbnf/setkeys.c
  * contrib/hbnf/month.prg
  * contrib/hbnf/acctweek.prg
  * contrib/hbnf/acctqtr.prg
  * contrib/hbnf/dosver.prg
  * contrib/hbnf/metaph.prg
  * contrib/hbnf/menu1.prg
  * contrib/hbnf/byteand.prg
  * contrib/hbnf/bytexor.prg
  * contrib/hbnf/byteor.prg
  * contrib/hbnf/asum.prg
  * contrib/hbnf/wda.prg
  * contrib/hbnf/aavg.prg
  * contrib/hbnf/mouse.c
  * contrib/hbnf/setdate.prg
  * contrib/hbnf/amedian.prg
  * contrib/hbnf/blink.prg
  * contrib/hbnf/getvid.c
  * contrib/hbnf/getver.c
  * contrib/hbnf/nwuid.prg
  * contrib/hbnf/aemaxlen.prg
  * contrib/hbnf/bitset.prg
  * contrib/hbnf/nwlstat.prg
  * contrib/hbnf/tempfile.prg
  * contrib/hbnf/diskfunc.prg
  * contrib/hbnf/d2e.prg
  * contrib/hbnf/mouse2.prg
  * contrib/hbnf/firstday.prg
  * contrib/hbnf/menutonf.prg
  * contrib/hbnf/pvid.prg
  * contrib/hbnf/isbit.prg
  * contrib/hbnf/datecnfg.prg
  * contrib/hbnf/putkey.c
  * contrib/hbnf/getenvrn.c
  * contrib/hbnf/bytenot.prg
  * contrib/hbnf/aeminlen.prg
  * contrib/hbnf/year.prg
  * contrib/hbnf/ftmenuto.ch
  * contrib/hbnf/rmdir.c
  * contrib/hbnf/sysmem.prg
  * contrib/hbnf/bitclr.prg
  * contrib/hbnf/setlastk.c
  * contrib/hbnf/clrsel.prg
  * contrib/hbcurl/hbcurl.ch
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvgax.prg
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvggui.h
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgtabpg.prg
  * contrib/gtwvg/wvgsink.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/stack.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/hbfimage/fi_winfu.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbgd/gd.ch
  * contrib/hbgd/gdchart.prg
  * contrib/hbgd/gdimage.prg
  * contrib/hbgd/gdwrp.c
  * contrib/hbmisc/nconvert.prg
  * contrib/hbmisc/stringsx.c
  * contrib/hbmisc/spd.c
  * contrib/hbmisc/stringp.prg
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/axfunc.prg
  * contrib/hbwin/win_prn1.c
  * contrib/hbvpdf/hbvpdf.ch
  * examples/hboleold/win_ole.c
    * Formatting:
       - Removing EOL whitespaces.
       - Removing extra empty lines at EOF.
       - Adding EOL at EOF if missing.
      (except in foreign code)
2009-07-09 21:22:22 +00:00
Viktor Szakats
1d54b33945 2009-07-09 17:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbgtcore.h
  * include/hbapigt.h
  * source/rtl/oldbox.c
  * source/rtl/box.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/gtcgi/gtcgi.c
  * source/rtl/gtapi.c
  * source/rtl/console.c
  * source/rtl/gtos2/gtos2.c
  * source/rtl/hbgtcore.c
  * source/rtl/gtpca/gtpca.c
  * contrib/hbct/screen2.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/ctwin.h
  * contrib/hbct/ctwfunc.c
  * contrib/hbclipsm/status.c
  * contrib/hbclipsm/gauge.c
  * examples/hbmake/hbmakec.c
    * BYTE * -> char * for GT API functions.
    * hb_gtRepChar() character parameter BYTE -> USHORT.
    % Unnecessary casts deleted.
    ; TODO: Screen save/restore buffer kept as BYTE, but it also should be
            converted to something else. void * probably.
    ; QUESTION: Single chars are represented as USHORT. Shouldn't we
                change it to 'char'?

  * contrib/hbtip/thtml.prg
  * contrib/hbtip/sendmail.prg
  * contrib/hbtip/httpcln.prg
    * Minor formatting.
2009-07-09 15:54:22 +00:00
Viktor Szakats
9ba5e3e952 2009-07-09 14:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/base64c.c
  + source/rtl/base64.prg
    + Added HB_BASE64ENCODE(), HB_BASE64DECODE() to core.
      They were copied from hbtip and hbvpdf and currently
      the decoder is .prg code while encoding is .c code.
      Latter has one TOFIX for an error situation.

  * contrib/hbtip/encurl.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbtip/sessid.prg
  * contrib/hbtip/popcln.prg
  * contrib/hbtip/sendmail.prg
  * contrib/hbtip/tip.ch
  * contrib/hbtip/cgi.prg
  * contrib/hbtip/url.prg
  * contrib/hbtip/encqp.prg
  * contrib/hbtip/base64x.c
  * contrib/hbtip/httpcln.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/encoder.prg
  * contrib/hbtip/smtpcln.prg
  * contrib/hbtip/encb64.prg
  * contrib/hbtip/mail.prg
  * contrib/hbtip/credent.prg
  * contrib/hbtip/ftpcln.prg
    + Added TOFIXes, QUESTIONs
    ! Fixed to use hb_MemoRead() instead of MemoRead() in one place.
    ! Fixed a wrong error checks after FCreate() calls.
    ! Fixed to use Len( hb_inetCRLF ) instead of hardwired length.
    ! Using hb_ntos() instead of Str() in POP3 commands.
    * Changed explicit values to manifest constants (F_ERROR)
    * Changed high ASCII chars in source to Chr() representation,
      now source can be edited with any editor.
    ! Added missing copyright header to tip.ch. Although this header
      seems to be unnecessary.
    ! TipMail:MakeBoundary() to not add any date punctuations in the ID.
    ! Fixed tIPClientFTP:fileSize() to not return permantent zero.
    % Heavier optimizations and cleanup in TIpClientSmtp().
    % Optimizations.
    * Formatting.
    ; Please test.
2009-07-09 13:03:59 +00:00
Przemyslaw Czerpak
b347767d27 2009-07-09 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexpra.c
    % reduce macro expressions used in POP operation.
      It allows to use code like: &("((M->VAR))") := 1

  * harbour/include/hbexprb.c
    + added support for iif() used in macro expressions passed by references:
         proc MAIN()
            local s := "IIF( lVar, xVar1, xVar2 )"
            M->xVar1 := 1
            M->xVar2 := 2
            M->lVar := .T.
            ? M->xVar1, M->xVar2
            P( @&s )
            ? M->xVar1, M->xVar2
         proc P(x)
            x+=1000

  * harbour/source/vm/hvm.c
     ! fixed possible assign value lost in extended references
2009-07-09 12:41:00 +00:00
Przemyslaw Czerpak
2532ca9143 2009-07-08 20:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    ! fixed macropop used with messages

  * harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
    * added code to debug recover statements - it's disabled by default
2009-07-08 18:33:12 +00:00
Przemyslaw Czerpak
e70b62d35e 2009-07-08 11:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbmath.h
    ! fixed C++ DJGPP builds
2009-07-08 09:13:34 +00:00
Viktor Szakats
b4317f84bf 2009-07-08 11:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/xhbat.c
  * contrib/hbtip/utils.c
    * Moved ATI() function to xhb lib.
      ATI() is different from HB_ATI() since it doesn't support
      national chars, but it supports negative start/end values in
      xhb style.

  * contrib/hbtip/thtml.prg
    * Changed to use core HB_ATI() instead of xhb specific ATI().
      To me it looks that negative positions aren't used by hbtip code,
      also respect for national chars is fine, so this replacement is okay.
      Please review me and correct it if needed.

  * contrib/xhb/xhbfunc.c
  * contrib/hbtip/legacy.prg
    * Moved HB_EXEC() to xhb lib. Restored the C version.

  * contrib/hbtip/Makefile
  - contrib/hbtip/legacy.prg
    - Deleted. No longer necessary.

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/ati.c
    + Added HB_ATI() function. This is the same as HB_AT(), but
      case-insensitive. It supports national chars.
2009-07-08 09:07:51 +00:00
Viktor Szakats
eb6298aa30 2009-07-07 01:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
  * bin/hb-func.sh
    + Added libpath= lines to generated hbmk2.cfg files.
    - Deleted arch=/comp= lines from generated hbmk.cfg files.

  * include/hbextern.ch
    + Added HB_PROCESSRUN().

  * contrib/hbtip/client.prg
    % Minor optimizations.
    * Formatting.

  * utils/hbmk2/hbmk2.prg
    % Changed to use hb_processRun() natively.
    ! Fixed doubly added resource stub when -icon is used.

  * source/rtl/hbproces.c
    * Really minor formatting.

  * source/rtl/hbprocfn.c
    ! Fixed to free memory of hb_storlen_buffer() returns failure.
    % Minor optimization: hb_storclen( "", 0, ... ) -> hb_storc( NULL, ... )
2009-07-06 23:32:38 +00:00
Przemyslaw Czerpak
e72c2d0416 2009-07-07 00:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gttrm/gttrm.c
    ! do not catch SIGCHLD

  * harbour/include/hbapifs.h
  * harbour/source/rtl/hbproces.c
    + added C function: hb_fsProcessRun()

  * harbour/source/rtl/hbprocfn.c
    + added .prg function:
      hb_processRun( <cCommand>, [ <cStdIn> ], [ @<cStdOut> ], ;
                     [ @<cStdErr> ], [ <lDetach> ] ) -> <nResult>
      This function is implemented for all builds also in DOS ones where
      temporary files are used to simulate pipes.
      TODO: in OS2 builds it should be possible to implement this function
            without temporary files just like in *nixes and MS-Windows builds.
            I would like to ask OS2 users to make it.
2009-07-06 22:18:53 +00:00
Przemyslaw Czerpak
973d1336e0 2009-07-03 13:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filesys.c
    ! fixed typo in recent modification

  * harbour/include/hbchksum.h
  * harbour/source/rtl/hbadler.c
  * harbour/source/rtl/hbcrc.c
  * harbour/source/rtl/hbmd5.c
    * changed passed parameter from 'const char *' to 'const void *' to
      eliminate explicit casting in user code
2009-07-03 11:40:29 +00:00
Viktor Szakats
beaaf5fb58 2009-07-03 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    ! hbUChar, hbSChar fixed to not depend on legacy types.

  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/Makefile
    + Enabled -mt switch on DOS platform.
    + Enabled MT builds on DOS platform.
      (currently its used by -jobs switch, maybe internal
      Harbour compiling can use this feature)

  * contrib/hbmysql/mysql.c
  * contrib/hbct/ctstrfil.c
  * contrib/hbct/print.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/filestat.c
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/dispc.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbmisc/hb_f.c
  * contrib/hbtip/utils.c
  * source/vm/memvars.c
  * source/vm/set.c
  * source/rtl/console.c
  * source/rtl/philes.c
  * source/rtl/gttrm/gttrm.c
  * source/rtl/memofile.c
  * source/rdd/dbsql.c
  * source/rdd/dbffpt/dbffpt1.c
  * examples/pp/pp.c
    % FS API call cast cleanups.
      (removed explicit casts for the most part, added const in few
      places, changed some BYTE types to char.)
    * Formatting.

  * source/vm/task.c
    ! Minor text sync in debug calls.

  ; TOFIX:
    ../../filesys.c(1698) : error C2065: 'Flags' : undeclared identifier
    ../../filesys.c(1792) : error C2065: 'Flags' : undeclared identifier
2009-07-03 07:42:17 +00:00
Przemyslaw Czerpak
9169e0e94f 2009-07-03 08:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/include/hbtask.h
  + harbour/source/vm/task.c
  * harbour/include/hbthread.h
  * harbour/include/hbatomic.h
  * harbour/source/vm/thread.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/fm.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/filesys.c
    + implemented OS independent task switching system - it gives PTHREAD
      compatible basic API so it can be used in HVM as alternative MT support
      which does not use any OS threads. As long as Harbour does not call
      any blocking OS function then it's possible to create and execute
      simultaneously many threads though only one CPU is used and switched
      between HVM threads. It gives similar scalability to xbase++ threads
      and also similar behavior in item protection at .prg level.
      Now it's possible to use HVM threads in any OS.
      Of course it does not mean that Harbour adds in some magic way
      thread support to OS-es which does not support threads like DOS.
      It only means that HVM supports threads for .prg code just like
      in native MT environment as long as some C code does not block
      task switching or process execution will not be frozen by sth, i.e.
      executing other process (__run()) in single process OS like DOS.
      In some cases it can be interesting alternative even in OS which
      have native thread support.
      All tests/mttest*.prg programs and speedtst --thread=<n> --scale
      are executed correctly with new task switching just like with
      OS native MT support.
      Compilation with task switching in hbvmmt library can be forced
      by HB_TASK_THREAD macro which also disable native OS threads
      support.
      For task context switching two alternative methods are used:
         1) getcontext()/makecontext()/swapcontext() (SUSv2, POSIX.1-2001)
            which is preferable because does not need any additional
            hacks but not all OS-es supports these functions.
            It's enabled by default in Linux builds.
         2) setjmp()/longjmp() (POSIX, ISO 9899 (C99)) otherwise.
            These functions are supported by most of C compilers
            but there is no function to set new stack in saved context
            so it's necessary to introduce for each architecure/C compiler
            peace of code which makes it. Macro HB_TASK_STACK_INIT() in
            task.c makes it. I defined this macro for x86@32 in DJGPP
            Linux GCC and OpenWatcom builds. I tested OpenWatcom builds only
            in DOS and Linux but probably it works in all x86@32 builds.
            If someone is interesting in adding support for some other
            platforms which does not support ucontext.h and 1-st methods
            then please define above macro for them.

      Have a fun with new toy ;-)

  * harbour/source/vm/Makefile
    * enabled hbvmmt in DJGPP and OpenWatcom DOS builds. It works well.
      Viktor if possible please add support for -mt switch in hbmk2
      in all builds even if we do not compile hbvmmt by default so
      it can be used with DJGPP and OW and any other builds for which
      someone enable hbtask.c though OS does not support threads.

  * harbour/contrib/hbmzip/hbmzip.c
    ! fixed '[const] char|BYTE *' casting in DOS and OS2 builds
2009-07-03 06:29:26 +00:00
Przemyslaw Czerpak
0e9b041baa 2009-07-03 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    % reduced INASSING definition - thanks to Xavi for information

  * harbour/source/compiler/hbopt.c
    ! fixed stupid bug in logical expression optimization - thanks to Randy
      for self contain example

  * harbour/include/hbapi.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexprb.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/hvm.c
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
    + added direct support for pushing references to macro expressions.
      It resolves the problem with Clipper compatibility (thanks to Alex
      for information and example) in code like:
         m->var := {0}
         &("var[1]") += 10
      and also many other things, f.e. now Harbour can cleanly compile
      and execute this code:
            proc main
               local s
               m->o := errorNew()
               s:="o:tries"
               ? m->o:tries
               ? &s
               ? &(s+"+=2")
               ? m->o:tries
               ? &(s+":=3")
               ? m->o:tries
               ?
               &s := 4
               ? m->o:tries
               &s -= 2
               ? m->o:tries
               &s++
               ? m->o:tries
               ?
               s := "o"
               m->o := 1
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
               ?
               s := "o[2]"
               m->o := { 1, 2 }
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
            return

  * harbour/utils/hbtest/Makefile
    * force hbtest compilation with line numbers - information about line
      numbers is important part of this test.
2009-07-03 00:24:36 +00:00
Viktor Szakats
c0ff8439be 2009-07-02 19:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
    * Formatting.

  * include/filesys.api
    % Cleaned cast.

  * contrib/gtwvg/wvgwing.c
    ! Fixed x64 bug.

  * examples/hbgf/hbgfos2/os2pm.c
    * LONG -> long
2009-07-02 17:02:40 +00:00
Viktor Szakats
03caef2ec2 2009-07-02 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
  * include/hbcompdf.h
  * include/hbapifs.h
  * include/hbexprop.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbdate.h
  * source/pp/ppcore.c
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/extend.c
  * source/common/expropt1.c
  * source/rtl/philes.c
  * source/rtl/empty.c
  * source/rtl/minmax.c
  * source/rtl/dates.c
  * source/rtl/filesys.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbf1.c
  * source/rdd/dbffpt/dbffpt1.c
  * source/rdd/hbsix/sxdate.c
  * source/compiler/hbmain.c
  * source/compiler/complex.c
  * source/compiler/harbour.yyc
  * source/compiler/harbour.y
  * contrib/hbct/files.c
  * contrib/hbct/dattime2.c
  * contrib/hbct/datetime.c
  * contrib/xhb/filestat.c
  * contrib/hbtip/utils.c
  * examples/hboleold/win_ole.c
    * LONG -> long for date/time related values
      (julian, date, type, millisec)
    ; This is an effort to clean Harbour sources from
      Windows/legacy-Clipper basic types and replace
      them with own or ANSI C ones.
      In the above case, usage wasn't consistent,
      LONG and long were mixed.

  * source/main/harbour.c
  * source/vm/fm.c
    * LONG -> long for some stat counters.
2009-07-02 14:18:06 +00:00