Commit Graph

6170 Commits

Author SHA1 Message Date
Viktor Szakats
1e91d9af72 2009-07-29 17:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/dlmalloc.c
    ! Restored 2.8.3.
      Huge amount of warnings (all Windows compilers), compile time (pocc, watcom)
      and build time (mingw) errors, incompatibility with fm.c parts, with 2.8.4,
      so I opted to revert.
      I hope someone will give it another go, as it should provide better MT
      performance on Windows, unfortunately this feature doesn't seem to be well 
      tested at this point.

  * config/lib.cf
    ! Fix dir creation for hbpp executable with os2 shells.
2009-07-29 15:47:59 +00:00
Przemyslaw Czerpak
efae473295 2009-07-29 11:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! fixed interface settings for multicast in IPv6 - in IPv6 interface
      indexes are used instead of addresses
2009-07-29 09:53:54 +00:00
Viktor Szakats
f769e560ad 2009-07-29 11:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtcrs/gtcrs.c
    + Utilizing write return values and returning success from low 
      level write functions to satisfy linux/gcc insisting on warnings.
2009-07-29 09:09:25 +00:00
Viktor Szakats
d6d9e74142 2009-07-29 10:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtcrs/gtcrs.c
    ! Suppress Linux warnings complaining about dropping return
      values of write operations.
2009-07-29 08:56:09 +00:00
Viktor Szakats
9a976e633e 2009-07-29 10:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbsocket.c
    ! Added missing 'static'.
2009-07-29 08:22:38 +00:00
Viktor Szakats
955f02d619 2009-07-29 09:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/dlmalloc.c
    + Updated to 2.8.4 (from 2.8.3)
      Reapplied two local patches (the rest of local fixes were applied upstream):
         2009-07-28 16:31 UTC+0200 Przemyslaw Czerpak
         2009-03-30 22:17 UTC+0200 Przemyslaw Czerpak
    ; From the dlmalloc changelog:
      V2.8.4 Wed May 27 09:56:23 2009  Doug Lea  (dl at gee)
        * Use zeros instead of prev foot for is_mmapped
        * Add mspace_track_large_chunks; thanks to Jean Brouwers
        * Fix set_inuse in internal_realloc; thanks to Jean Brouwers
        * Fix insufficient sys_alloc padding when using 16byte alignment
        * Fix bad error check in mspace_footprint
        * Adaptations for ptmalloc; thanks to Wolfram Gloger.
        * Reentrant spin locks; thanks to Earl Chew and others
        * Win32 improvements; thanks to Niall Douglas and Earl Chew
        * Add NO_SEGMENT_TRAVERSAL and MAX_RELEASE_CHECK_RATE options
        * Extension hook in malloc_state
        * Various small adjustments to reduce warnings on some compilers
        * Various configuration extensions/changes for more platforms. Thanks
           to all who contributed these.
2009-07-29 07:38:32 +00:00
Przemyslaw Czerpak
f9561f17c8 2009-07-29 05:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    * force blocking IO on socket returned by accept() - on some system
      new sockets can inherit blocking IO flag from the listening socket
2009-07-29 03:20:01 +00:00
Przemyslaw Czerpak
fe03d112cb 2009-07-29 04:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! finished hb_socketResolveAddr() in systems where getaddrinfo()
      is not available
2009-07-29 02:25:02 +00:00
Przemyslaw Czerpak
6a49526b0f 2009-07-29 00:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! disabled inet_pton() and inet_ntop() in OS2 GCC builds.
2009-07-28 22:50:50 +00:00
Przemyslaw Czerpak
50ebdd772e 2009-07-28 18:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    * return -1 instead of 0 on timeout in hb_socketSend*() and
      hb_socketRecv*() functions
2009-07-28 16:54:33 +00:00
Przemyslaw Czerpak
eb76326d2d 2009-07-28 18:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! yet another mistake in select() sets I missed to fix in previous commit
2009-07-28 16:22:38 +00:00
Przemyslaw Czerpak
757c4ad242 2009-07-28 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! fixed stupid typo in S&R - I reverted select() socket sets
      in send()/recv() when I was modifying function names.
      It can be also an answer why it exploited some problems
      with hb_InetRecvLine() in Francesco code.
2009-07-28 16:10:44 +00:00
Przemyslaw Czerpak
ef2cd8b99c 2009-07-28 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! fixed typo in recent modification
2009-07-28 15:52:42 +00:00
Przemyslaw Czerpak
01c98e8064 2009-07-28 17:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    * accept NULL and empty string "" as default address (INADDR_ANY)
      in hb_socketInet?Addr() functions

  * harbour/source/rtl/hbinet.c
    % use NULL as default address in hb_socketInetAddr()
2009-07-28 15:22:07 +00:00
Przemyslaw Czerpak
d53ec11751 2009-07-28 16:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dlmalloc.c
    * modified to compile in OS2 (tested only compilation with OpenWatcom,
      without real binaries tests)
2009-07-28 14:31:17 +00:00
Przemyslaw Czerpak
62334184f8 2009-07-28 14:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtcrs/Makefile
    * disabled from OS2 builds - if someone knows OS2 curses port then
      he can try to reenable it and update gtcrs code to compile with it.
2009-07-28 12:38:15 +00:00
Przemyslaw Czerpak
3fb9dfddd1 2009-07-28 14:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvmall.c
    ! define INCL_* macros for OS2 builds which uses hvmall.c
2009-07-28 12:33:49 +00:00
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
d985b594f5 2009-07-28 12:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbinet.c
    * Struct member 'com' renamed to 'sd' to be in sync.
2009-07-28 10:37:57 +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
Przemyslaw Czerpak
25c5333120 2009-07-28 12:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    * pacified MSVC64 warnings
2009-07-28 10:23:25 +00:00
Przemyslaw Czerpak
4cef2a48c4 2009-07-28 11:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    % small improvement in INET6 broadcast address initialization
      enabled for all *nix builds, tested only with Linux and SunOS.
2009-07-28 09:46:00 +00:00
Przemyslaw Czerpak
8b0a2e6ba8 2009-07-28 10:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! fixed timeout updating in non Linux builds

  * harbour/mpkg_rpm.sh
    ! test 'gd-devel' version number not 'gd'
2009-07-28 08:46:02 +00:00
Viktor Szakats
f9e33982f7 2009-07-28 10:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu_os2.cmd
  * make_gnu.bat
    % Deleted defaulting of HB_*_INSTALL. Now done by make files.
    ; Same should be done for *nixes.

  * contrib/xhb/inet.h
    * Converted to a stub which shows error. This header was
      making public some local structures and functions which are
      no longer supported in Harbour.

  * contrib/xhb/inet.h
  * contrib/hbct/print.c
  * contrib/hbtpathy/tpwin.c
  * source/rtl/hbinet.c
    ! *WIN_32* -> *WIN*
2009-07-28 08:29:54 +00:00
Viktor Szakats
3a74eec9e1 2009-07-28 10:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbinet.c
    % Deleted _HB_SOCKET
    * [P]HB_SOCKET -> [P]HB_SOCKET_STRUCT
    ; This gives way to use HB_SOCKET as a public name.
    * Renamed Socket -> socket, Newsocket -> new_socket
    ; Generated code is verified to stay the same.
2009-07-28 08:06:19 +00:00
Viktor Szakats
58de04190f 2009-07-28 09:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Do not install hbpp executable when HB_HOST_BUILD == 'lib'.
      Please verify me.

  * config/global.cf
    % Minor simplification to HB_*_INSTALL defaulting.

  * utils/hbmk2/hbmk2.prg
    * Minor formatting.
2009-07-28 07:14:16 +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
4a51d89404 2009-07-23 18:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ source/rtl/hbfeof.c
  * source/rtl/Makefile
  * source/rtl/philes.c
    ! HB_FEOF() moved to separate file to ease name collision
      situations.

  * contrib/hbssl/evpciph.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/evpenc.c
    ! Fixed buffer sizes, after valgrind test.
      (off by one bugs. hb_storclen_buffer()/hb_retclen_buffer() need
      one byte extra above the size returned, in order to hold the 
      EOS char)

  * contrib/xhb/freadlin.c
  * contrib/hbqt/qth/QFtp.qth
  * contrib/hbqt/qth/QHttp.qth
  * contrib/hbqt/QFtp.cpp
  * contrib/hbqt/QHttp.cpp
  * contrib/hbcurl/hbcurl.c
  * contrib/hbwin/win_prt.c
    ! Fixed similar to above allocation errors.

  * config/global.cf
    + Added HB_???_INSTALL initialization. Just a step, needs more
      work before making it a replacement for current method.
2009-07-23 17:22: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
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
2a1929a261 2009-07-21 00:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/net.c
    ! Fixed NETNAME()/hb_netname() on dos/watcom platforms
      in error cases it was leaking 16 bytes of memory.
      (+ minor formatting)
      Please review me.
    + NETNAME(), HB_USERNAME() now do conversion from OS
      codepage. Couldn't test it, please review me.
2009-07-20 22:24:54 +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
Przemyslaw Czerpak
8f26e540ec 2009-07-20 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/itemapi.c
    * cleaned hb_itemPutC*() functions. Now each function which accepts
      only pure szText pointer without length can be called with NULL
      as szText. Each function which need string length parameter needs
      non NULL szText value. I hope it's easy to remember for developers.
    % minor code optimizations for above rules

  * harbour/source/rtl/filebuf.c
    * allow to reuse tables in aliased workarea in RW mode after previous
      opening in RO mode
2009-07-20 11:20:22 +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
Przemyslaw Czerpak
314d60309f 2009-07-18 02:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbzlib.c
    + added HB_ZERROR( <nError> ) => <cErrorDescription>
      It's wrapper to zError() ZLIB function.
2009-07-18 00:57:57 +00:00
Przemyslaw Czerpak
551d0c2bcf 2009-07-17 16:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
    % improved macrocompiler speed by reducing number of memory
      allocations for compiled subexpressions
2009-07-17 14:19:24 +00:00
Viktor Szakats
073fd02030 2009-07-17 13:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    - Deleted reference to hbfm lib.

  * source/pp/Makefile
    * Minor formatting.
2009-07-17 11:36:32 +00:00
Przemyslaw Czerpak
a253517ff2 2009-07-17 13:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    * removed old  HB_PP_RULES used for precomputed pptables
    * added protection against setting possible actions executed without
      HB_ARCHITECTURE and HB_COMPILER
2009-07-17 11:00:37 +00:00
Przemyslaw Czerpak
7b9e94a15c 2009-07-17 12:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    ! set EXE_FILE - it's workaround to force bin/<arch>/<cmp> directory
      creation in current make files and then cleaning it if possible

  * harbour/config/rules.cf
    * removed old hardcoded clean rules which deleted files not created
      by build process

  * harbour/config/instsh.cf
    * pacified install command echo

  * harbour/config/globsh.cf
    ! fixed new sh clean rules: [ ! -f $(LIB_DIR)/* ] causes syntax
      error when more then one file exists in $(LIB_DIR) directory
2009-07-17 10:15:40 +00:00
Viktor Szakats
5cb93fcc29 2009-07-17 12:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed to delete hbpp.tds.

  * config/globsh.cf
    + Attempt to fix nt shell clean rules. Please test.
    ! Fixed to create bin dir even when lib targets are being
      created. This hack is needed to support existing hack
      inside source/pp/Makefile. If there is any possibility
      to solve current hbpp lib+bin rules in some cleaner ways
      IMO we should do it, but so far I couldn't figure out
      how current method works.
2009-07-17 10:06:27 +00:00
Viktor Szakats
c439db6050 2009-07-17 10:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtxwc/gtxwc.c
    ! Fixed typo.
      This should fix the warning plus black screen reported by 
      some users. Please test.
2009-07-17 08:40:59 +00:00
Viktor Szakats
64f481018a 2009-07-17 10:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtxwc/gtxwc.c
    ! Fixed to compile under cygwin.
2009-07-17 08:02:34 +00:00
Przemyslaw Czerpak
4e8c876b3e 2009-07-16 20:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtcrs/Makefile
    * test for HB_COMPILER=djgpp instead of HB_ARCHITECTURE=dos to
      activate trick used to detect PDCURSES in DJGPP builds when
2009-07-16 18:58:10 +00:00
Przemyslaw Czerpak
d9f771d119 2009-07-16 19:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/source/nulrtl
  - harbour/source/nulrtl/nulrtl.c
  - harbour/source/nulrtl/Makefile
  + harbour/source/nortl
  + harbour/source/nortl/nortl.c
  + harbour/source/nortl/Makefile
  * harbour/source/pp/Makefile
  * harbour/source/main/Makefile
  * harbour/source/Makefile
  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/harbour.spec
  * harbour/examples/pp/pp.hbp
    * renamed hbnulrtl library to hbnortl to eliminate 8.3 name conflicts
      in DJGPP builds
2009-07-16 17:35:25 +00:00
Viktor Szakats
fb63a2d9cc 2009-07-16 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/rules.cf
  * config/global.cf
    + Added new internal variable HB_HOST_BIN_DIR to avoid touching
      original HB_BIN_COMPILE and in turn mess up __PLATFORM__ macro
      definitions in recursive runs to GNU Make.
2009-07-16 14:38:30 +00:00