Commit Graph

14 Commits

Author SHA1 Message Date
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
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
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
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
bd5452a48f 2009-06-25 13:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbformat/hbformac.c
  * examples/superlib/superlib.dif
  * examples/hbsqlit2/hbsqlit2.c
  * examples/uhttpd2/socket.c
    * 'const' cleanup.
2009-06-25 11:59:09 +00:00
Przemyslaw Czerpak
68c738b9ba 2009-06-20 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/extend.c
    * renamed existing hb_par*() and hb_stor*() functions which supports
      variable number of parameters (...) into hb_parv*() and hb_storv*()
    * added new hb_par*() and hb_stor*() functions which use strict number
      of parameters. New hb_par*() functions do not make hidden conversion
      between types, f.e. hb_parl() returns 1 only for logical parameters
      which contain .T.

  * harbour/include/extend.api
    * map Clipper _par*() functions to hb_parv*()
    * map Clipper _stor*() functions to hb_storv*()

  * harbour/source/vm/dynsym.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/thread.c
  * harbour/source/vm/classes.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/contrib/hbnf/dispc.c
  * harbour/contrib/hbnf/mouse.c
  * harbour/contrib/hbnf/getenvrn.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgwin.c
  * harbour/contrib/gtwvg/wvgutils.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddads/adsmgmnt.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbwin/wapi_commctrl.c
    * replaced hb_par*() and hb_stor*() calls used with additional parameters
      by hb_parv*() and hb_storv*()
    TODO: update examples/hbwhat/*.c files

  * harbour/examples/uhttpd2/socket.c
  * harbour/examples/httpsrv/socket.c
    * changed hb_parni() to hb_parnidef()

  * harbour/source/vm/itemapi.c
    * removed some conversion which are not necessary for CA-Cl*pper
      compatibility

  * harbour/source/macro/macrolex.c
    * replaced HB_LEX_IS*() macros by by HB_IS*() ones
2009-06-20 20:25:26 +00:00
Viktor Szakats
c6b45e7bd5 2009-06-16 15:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* examples/uhttpd2/socket.c
    ! Including winsock2.h to avoid missing macro SD_BOTH 
      on MSVC and POCC (maybe more) compilers.
2009-06-16 13:10:17 +00:00
Viktor Szakats
4dbccf8ead 2009-06-16 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
  * examples/uhttpd2/umain.prg
    * Replaced HB_MUTEXWAITERSCOUNT() with 
      HB_MUTEXQUEUEINFO( hMutex, [ @nWaitersCount ], [ @nQueueLength ] )
    ; Please review.
2009-06-16 06:51:12 +00:00
Viktor Szakats
4037666eb6 2009-06-15 23:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * examples/uhttpd2/socket.c
    * Minor formatting.

  * examples/uhttpd2/items.dbf
    * Updated with content. Thanks Mindaugas.
2009-06-15 21:05:57 +00:00
Viktor Szakats
c73804dc7a 2009-06-15 20:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
    + Added HB_MUTEXWAITERSCOUNT() to core.
      (slightly rewritten using local functions)

  - examples/uhttpd2/umutex.c
    - No longer needed.
2009-06-15 18:45:17 +00:00
Viktor Szakats
d3e965d9a2 2009-06-15 20:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* examples/uhttpd2/uwidgets.prg
  * examples/uhttpd2/uhbext.prg
  * examples/uhttpd2/app.prg
  + examples/uhttpd2/umutex.c
    * Embedded C moved to separate file.
    % Using Harbour's hb_HGetDef() instead of local version.
2009-06-15 18:37:38 +00:00
Viktor Szakats
131fd93c5f 2009-06-15 20:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* examples/uhttpd2/socket.c
    * Minor updates.

  - examples/httpsrv/httpsrv.hbp
    * Apparently all uhttpd -> httpsrv renames and changes 
      were lost, except this file added afterwards.
2009-06-15 18:33:53 +00:00
Viktor Szakats
d765ece0bb zap 2009-06-15 18:29:05 +00:00
Viktor Szakats
7fec598cbd 2009-06-15 20:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ examples/uhttpd2
  + examples/uhttpd2/umain.prg
  + examples/uhttpd2/files
  + examples/uhttpd2/files/main.js
  + examples/uhttpd2/files/main.css
  + examples/uhttpd2/uhttpd2.hbp
  + examples/uhttpd2/uwidgets.prg
  + examples/uhttpd2/carts.dbf
  + examples/uhttpd2/uhbext.prg
  + examples/uhttpd2/app.prg
  + examples/uhttpd2/socket.c
  + examples/uhttpd2/items.dbf
  + examples/uhttpd2/readme.txt
  + examples/uhttpd2/users.dbf
    + Added contribution of Mindaugas Kavaliauskas:
      small-footprint multithreading http server with session model. 
      Read the whole description in readme.txt.

  + examples/httpsrv
  + examples/httpsrv/httpsrv.hbp
    + Somehow missed from prev.
2009-06-15 18:22:09 +00:00