Commit Graph

16 Commits

Author SHA1 Message Date
Przemysław Czerpak
7ab8ae631d 2016-04-08 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbsocket.ch
  * src/rtl/hbsocket.c
    + added support for high-priority/out-of-bound data in select()
      emulated by poll()
    + added macros for socket send()/recv() flags: HB_SOCKET_MSG_*

  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
    * include <poll.h> when HB_HAS_POLL macro is set manually by user
      (thanks to Teo)

  * contrib/hbnetio/netiosrv.c
    * minor optimization
2016-04-08 14:30:05 +02:00
Przemysław Czerpak
2f1bf5ee72 2016-04-07 18:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbprintf.c
    * pacified warning

  * src/rtl/filesys.c
    ! return -1 instead of from hb_fsPipeIsData() when poll() detects
      error or end of stream - 0 should indicate timeout only.

  * src/rtl/hbcom.c
    ! fixed bad typo which blocked hb_comSend() in *nixes
      using select() instead of poll()

  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
    ; updated #if/#else/#endif comments
2016-04-07 18:34:30 +02:00
Przemysław Czerpak
d2cfbe3d56 2016-04-06 15:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbstr.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
    * pacified few warnings - thanks to Viktor

  * contrib/sddfb/core.c
    ! fixed code which extracted float number from uninitialized memory.
      On some systems it could even cause GPF or other (ie. FPE) exception.
2016-04-06 15:18:50 +02:00
Przemysław Czerpak
97fd742f71 2016-04-06 13:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbproces.c
    ! fixed infinite loop due to ignored POLLHUP errors reported by poll()
    ! fixed stupid typo

  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/hbcom.c
    * emulate read access when poll() used instead of select() reports
      POLLHUP - this poll() behavior is neither consistent within a
      single implementation, nor between different versions of the same
      implementation, and certainly not across platforms
    % optimize read/write access using extended (in comparison to select())
      information reported by poll()
    ; TODO: emulate select() behavior for high priority data.
2016-04-06 13:11:20 +02:00
Przemysław Czerpak
5a2af0b426 2016-04-05 21:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttone.c
    ! use asm {} directive only in CLANG BCC builds - asm {} needs TASM
      so using it breaks Harbour compilation with free BorlandC command
      line tools which do not contain TASM.

  * src/rtl/hbsocket.c
  * src/rtl/hbproces.c
  * src/rtl/filesys.c
  * src/rtl/hbcom.c
    ! use poll() instead of select() in POSIX.1-2001 compliant *nix builds
      It fixes the problem with file handles >= 1024
      Please make tests in different *nix builds. It affects sockets, pipes
      and serial ports.
2016-04-05 21:24:05 +02:00
Przemysław Czerpak
682d8e32e3 2016-01-15 16:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/common/hbfsapi.c
    + added automatic file handle table resizing to hb_fsOS2DosOpenL()
    + added new C function: hb_fsOS2DosOpen() which is wrapper to DosOpen()
      with automatic file handle table resizing.
      Please remember that unlike hb_fsOS2DosOpenL() this function is
      pure wrapper to DosOpen() so it does not make file name conversions
      and does not set hb_fsError().

  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
    * use hb_fsOS2DosOpen() instead of DosOpen()

  * src/vm/cmdarg.c
    * set the initial size of file handle table to 256 in OS2 OpenWatcom
      builds if user does not set it explicitly by //F:<n> switch

  * config/global.mk
    - removed set HARBOUR=F:100 - it's not necessary with automatic FHT
      resizing

  ; Please test it in real OS2 environment
2016-01-15 16:02:45 +01:00
Viktor Szakats
58faf91453 2016-01-14 19:17 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage [1] from copyright header. Pass 1 - using script.
      [1] nobody has access to it anymore AFAIK - and it's also just
          a redirect since long
    ! update url in copyright header
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:18:17 +01:00
Przemysław Czerpak
c559d7409b 2015-12-29 17:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ src/3rd/hbdossrl/Makefile
  + src/3rd/hbdossrl/serial.c
  + src/3rd/hbdossrl/serial.h
  + src/3rd/hbdossrl/README
    + added DOS Serial Library - it's much cleaner and simpler then COMLib
      we used so far in DOS builds. It also supports hardware and software
      flow control. Many thanks for Karl Stenerud for his wonderful job.

  * src/rtl/hbcom.c
    + added support for DOS Serial Library used as low level backend in
      Harbour DOS builds.

  * config/dos/djgpp.mk
  * config/dos/watcom.mk
  * config/dyn.mk
  * config/lib.mk
  * src/3rd/Makefile
  * src/Makefile
  * utils/hbmk2/hbmk2.hbp
  * utils/hbmk2/hbmk2.prg
    * use DOS Serial Library (hbdossrl) instead of COMLib (hbpmcom)
2015-12-29 17:03:40 +01:00
Przemysław Czerpak
2a743e15e1 2015-10-22 10:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtwvt/gtwvt.h
    * merged and simplified code for HB_GTI_ICONFILE and HB_GTI_ICONRES

  * src/rtl/hbcom.c
    * use "COM<n>:" instead of "COM<n>" as serial port name in WinCE
      builds - it's suggested by MSDN but if some of you has different
      experience then please inform me.
2015-10-22 10:13:39 +02:00
Przemysław Czerpak
004399c75d 2015-09-24 22:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbcom.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
    * added workaround for bug in some Linux kernels (i.e.
      3.13.0-64-generic Ubuntu) in which select() unconditionally
      accepts terminal device for reading if c_cc[ VMIN ] = 0
      It's very serious problem, i.e. in GTTRM no input is possible
      in such kernels without this workaround.

  * src/rtl/dirscan.prg
    * modified hb_DirScan() and hb_DirRemoveAll() to work with Harbour
      File IO API (hb_vf*() functions)
    + added new PRG function:
         hb_FileDelete( <cFileMask> [, <cAttr> ] ) -> <lResult>
      this function removes files which match given <cFileMask>
      (it may contain path) and returns .T. if at least one file
      was deleted. Optional <cAttr> parameter can be used to include
      system ("S") and hidden ("H") files. If <cAttr> contains "R"
      letter then before deleting READONLY attribute is removed from
      files (it's necessary to remove files with READONLY attribute
      in systems like DOS, MS-Windows or OS2). This function uses
      Harbour File IO API (hb_vf*() functions)
    * remove READONLY attribute from files in hb_DirRemoveAll()

 * include/harbour.hbx
    + added hb_DirRemoveAll() and hb_FileDelete()

  * contrib/hbct/files.c
    ! do not allow to remove empty directories by FileDelete() function
      even if user explicitly sets directory attribute - CT3 compatible fix.
    ! remove READONLY attribute before deleting READONLY files if 2-nd
      parameter of FileDelete() contains READONLY bit

  * src/rtl/filesys.c
    * formatting

  * ChangeLog.txt
    ! typo
2015-09-24 22:14:14 +02:00
Przemysław Czerpak
b2b672222e 2014-10-05 16:40 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/tiff/tiff.dif
  * src/3rd/tiff/tiffconf.h
    * do not redefine O_* macros in all *nix builds

  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
  * src/macro/macro.yyc
  * src/macro/macro.yyh
    * regenerated with bison 3.0.2.

  * src/rtl/hbcom.c
    ! fixed compilation with OpenWatcom for Linux

  * src/rtl/hbsocket.c
    * pacified warning in OpenWatcom Linux builds

  * src/rtl/hbjson.c
    * own code for conversion integer numbers
2014-10-05 16:40:18 +02:00
Przemysław Czerpak
74f298f8ec 2014-03-10 18:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtcpio/tcpio.c
    * use default timeout defined in initial hostname string in read/write
      operations

  * include/hbapicom.h
  * src/rtl/hbcom.c
    + added new C function:
         int hb_comFindPort( const char * pszDevName, HB_BOOL fCreate );
      It check if given port name is already defined and if not and second
      parameter fCreate is TRUE then it allocates such port in one of last
      free slots. On success port number is returned. If port cannot be
      found or created 0 is returned.

  * include/harbour.hbx
  * src/rtl/hbcomhb.c
    + added new PRG function:
         hb_comFindPort( <cDeviceName> [, <lCreate> = .F. ] ) -> <nPort>

  * contrib/hbplist.txt
  + contrib/hbcomio/comio.c
  + contrib/hbcomio/hbcomio.hbc
  + contrib/hbcomio/hbcomio.hbp
    + added new Harbour FILE IO redirector.
      It recognizes and process names with "COM<n>:" prefix, in form like:
         COM<n>:[<com_params>]
      <n> is port number or port name prefixed with "$" character.
      <com_params> may contain serial port parameters like baud rate, stop
      and data bits, parity and flow control (XON,XOFF,CTS, RTS,DST,DTR).
      As delimiter comma "," is accepted.
      This redirector can be used in different subsystems using Harbour
      FILE IO and stream read/write operations, i.e.
         REQUEST HB_COMIO
         SET PRINTER TO COM2:38400,N81,XONXOFF
      can be used to connect to serial printers.
      Please remember that redirectors like NETIO can be used as wrapper
      to other redirectors so code like:
         pFile := hb_vfOpen( "NET:192.168.0.1:::COM1:9600,8N1" )
      opens 1-st serial port on the server and
         pFile := hb_vfOpen( "NET:192.168.0.1:::COM$/dev/ttyUSB0:9600,8N1" )
      opens "/dev/ttyUSB0" serial device on the server.
2014-03-10 18:59:52 +01:00
Przemysław Czerpak
9a636d9711 2014-01-09 20:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctcom1.c
    ! fixed typo reported by Rolf

  * src/rtl/hbcom.c
    + added support for 1000000 baudrate setting in *nix builds covered
      by B1000000 macro
2014-01-09 20:04:56 +01:00
Przemysław Czerpak
877ddb4a06 2013-04-18 14:58 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)
* .gitignore
    ! removed executable file permission

  * package/mpkg_src.sh
    ! added executable file permission

  * contrib/hbct/screen2.c
    % use STR API for parameters instead of using local conversions

  * contrib/hbct/token1.c
    % small simplification

  * contrib/hbnetio/netiosrv.c
    + respect timeout parameter also in send operation

  * contrib/make.hb
    ! moved project name normalization and directory verification to
      AddProject() function. It fixes HB_BUILD_ADDONS envvar functionality.

  * doc/xhb-diff.txt
    + added new paragraph: DECLARATION AND INITIALIZATION OF VARIABLES

  * src/rtl/hbcom.c
    * added 3-rd parameter to TIOCEXCL and TIOCNXCL ioctl() codes
      to pacify valgrind warnings

  * include/hbexpra.c
    ! fixed compilation with HB_USE_ENUM_FUNCTIONS macro

  * include/hbapicls.h
  * include/hbcompdf.h
  * include/hbexpra.c
  * src/compiler/harbour.y
  * src/vm/classes.c
    + added support for :__enumIsFirst() iterator message. It's opposite
      to recently added :__enumIsLast()
    + added support for overloading :__enumIsFirst() and :__enumIsLast()
      functionality in custom FOR EACH implementations

  * include/hbcompdf.h
  * include/hbexpra.c
  * src/compiler/harbour.y
    + added support for reverting :__enumIsFirst() and :__enumIsLast()
      messages in descendant FOR EACH loops. It's disabled now by 2 #if 0
      but I think it should be discussed. Should we keep it enable it?
      The answer is not trivial when FOR EACH is used to iterate some
      objects. In general such names are confusing.

  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
    * regenerated using bison 2.5

  * tests/foreach.prg
    + added :__enumIsFirst() to test code

  * tests/foreach2.prg
    ! typo in comment
2013-04-18 14:58:40 +02:00
vszakats
9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00
vszakats
a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00