Commit Graph

6182 Commits

Author SHA1 Message Date
Viktor Szakats
81dcbfa6ec 2009-07-31 12:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbinet.c
    % Minor internal type cleanup.
2009-07-31 10:33:58 +00:00
Viktor Szakats
c7da271ebe 2009-07-31 12:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbinet.c
    % Cleaned old error description handling logic. Now the error
      desc is dynamically retrieved instead of being stored along
      the error code.
2009-07-31 10:30:43 +00:00
Przemyslaw Czerpak
352ca04d7b 2009-07-31 11:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    ! fixed typo in received bytes calculation. It was reported as warning
      in BCC builds - thanks to Enrico.
2009-07-31 09:58:11 +00:00
Przemyslaw Czerpak
bbd1e6b0a4 2009-07-31 11:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    ! modified hb_inetRecv[All]() to always return number
      of bytes read if at least one byte was successfully read
      just like in documentation so it's not longer necessary to
      use hb_inetCount() to check real number of read bytes.
      On error they return -1 and 0 when foreign host closed connection.
    ! modified hb_inetSend[All]() to always return number of written
      bytes if at least one byte was successfully written so it's not
      longer necessary to use hb_inetCount() to check real number of
      written bytes. On error they return -1.
    ! modified hb_inetRecvLine() to return "" on errors and always
      set numeric value with error code or number of bytes read
      in 2-nd parameter passed by reference
    ! modified hb_inetDataReady() to return -1 instead of .F. to
      indicate errors when socket is not open socket
    ! modified  hb_inetRecvLine() and hb_inetRecvEndBlock() to work
      like in documentation and set in 2-nd parameter passed by
      reference the size of read line with line terminator, -1
      or error and 0 when foreign host closed connection.
    ! modified hb_inetRecvEndBlock() to always use default EOL when
      there is no not empty string in passed string parameter or
      passed array with line terminators
    ! fixed some small differences between hb_inetRecvLine() and
      hb_inetRecvEndBlock()
    ! fixed returned values in hb_InetDGramSend() and hb_InetDGramRecv()
      to be synced with documentation
    * minor: modified hb_inetRecvEndBlock() to use as default EOL
      s_inetCRLF instead of hardcoded "\r\n"
    * eliminated some redundant code
    + added automatic socket initialization in windows builds
    % added support for read ahead buffer in hb_inetRecvLine() and
      hb_inetRecvEndBlock() and updated other functions which may
      interact with it. It greatly improved the speed of code
      which extensively uses above functions.

   Warning!!! Above modifications may force updating other code which used
              some undocumented hb_inet*() functions behavior i.e. some side
              effects in previous implementation. Please update your code
              if necessary.

  * harbour/doc/inet.txt
    ! modified hb_inetAccept() documentation wrongly describing value
      returned on error when it's NIL

  * harbour/config/os2/watcom.cf
    ! fixes for real OS2 command processor - please test
2009-07-31 09:32:11 +00:00
Viktor Szakats
b3cc100468 2009-07-31 11:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
  * include/hbsetup.h
  * include/hbinit.h
  * source/vm/fm.c
  + config/sunos/sunpro.cf
    + Added first round of Sun Pro (Sun Studio) compiler.
      Contribution of Tamas Tevesz.
    ; TODO:
      + Add other Sun Pro CPU targets.
      * Finalize __inline keyword usage. (currently in fm.c)
        Przemek, could you take a look at it?
      ! Fix warning option.
      + Add compiler identification code to hbver.c.
      + hbmk2 support.
      + dynamic lib creation.

  * utils/hbmk2/hbmk2.prg
    * Minor rename.

  * contrib/hbclipsm/gauge.c
    % Minor opt, plus removed cast.

  * contrib/hbwin/wce_smsc.c
  * contrib/hbwin/wce_sim.prg
    * Minor formatting.
2009-07-31 09:12:15 +00:00
Viktor Szakats
1237de4177 2009-07-30 08:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbdate.c
    + Enhancement to hb_timeUTCOffset(). (using thread safe 
      version of gmtime() where available, and precisely checking 
      tm_isdst). Thanks to Przemek.
2009-07-30 06:50:56 +00:00
Viktor Szakats
0e4021d699 2009-07-30 06:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbdate.c
    ! Refixed for HB_HAS_LOCALTIME_R.
2009-07-30 04:59:48 +00:00
Viktor Szakats
072c6896c4 2009-07-30 06:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbdate.c
    ! Fixed typos in last modif.
2009-07-30 04:49:12 +00:00
Viktor Szakats
ecb56859df 2009-07-30 06:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/common/hbdate.c
    ! Fixed for some systems where tm->tm_gmtoff isn't available.
      (like sunos). Thanks to Tamas Tevesz for report and pointer.

  * contrib/rddads/adsfunc.c
    + ADSCREATESAVEPOINT()
      ADSROLLBACKSAVEPOINT()
      Added support for 3rd optional parameter on Harbour level.

  * include/hbapi.h
  * source/vm/extend.c
    + hb_parnidef(), hb_parnldef() to give a faster and shorter
      alternative to HB_ISNUM( x ) ? hb_parn[i|l]( x ) : <value>
      construct, which quite often occure in C interface code.
      We may also add a hb_parl() version which returns TRUE,
      this covers most real-life usages.

  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    % Deleted local hb_parnidef() wrapper.
2009-07-30 04:36:35 +00:00
Viktor Szakats
d518e481c5 2009-07-30 00:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/dateshb.c
    + Added HB_UTCOFFSET() -> <nSecs> core function to return UTC offset
      as signed number in seconds.

  * contrib/hbwin/win_misc.c
    + Copied WIN_SYSREFRESH() from httpsrv. Bit reworked (types, goto,
      64-bit compatibility, unnecessary outer loop), pls review.

  * examples/httpsrv/uhttpd.hbp
  - examples/httpsrv/uhttpdc.c
  * examples/httpsrv/uhttpd.prg
    * HB_UTCOFFSET() renamed to UHTTPD_UTCOFFSET() and rewritten as .prg.
    ! Using __PLATFORM__WINDOWS to enable WIN_SYSREFRESH() calls.
2009-07-29 22:46:19 +00:00
Viktor Szakats
4607e2fd7a 2009-07-29 23:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdate.h
  * source/common/hbdate.c
  * contrib/hbtip/utils.c
  * examples/httpsrv/uhttpdc.c
    + Added hb_timeUTCOffset( void ) -> long (in seconds)
    % Using hb_timeUTCOffset() in TIP_TIMESTAMP() and HB_UTCOFFSET().
      These functions can now be implemented on .prg level if we
      add a .prg level wrapper for hb_timeUTCOffer(), but I have no
      good idea which format to use to return this value, so maybe
      simple signed number of seconds.
2009-07-29 21:47:28 +00:00
Viktor Szakats
28b15bce39 2009-07-29 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbtip/utils.c
  * contrib/hbtip/tests/tiptime.prg
    ! Reworked TIP_TIMESTAMP():
      ! Applied fix from xhb. (with cleanups/optimizations and without
        newly introduced bug)
      + Added support for DATETIME type as first parameter.
        (at the same time second numeric time parameter is deprecated)
      % Simplified code, more optimal API/memory usage.
      * Second parameter will always override default time, if passed.
        This is a little bit different, but more natural behavior than
        before.
      + Replaced meaningless test code with some better one.
    ; NOTE: We should probably add some core functions to detect TZ offset.

  * examples/httpsrv/uhttpdc.c
    ! Applied above fix/cleanups to HB_UTCOFFSET().

  * source/common/hbdate.c
    * Minor formatting.
2009-07-29 20:39:57 +00:00
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