Commit Graph

531 Commits

Author SHA1 Message Date
Viktor Szakats
dfaad25c46 2010-06-22 17:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsha2.c
  * src/rtl/hbsha2hm.c
    + Added Win64 support for SHA1 functions.
    ; NOTE: HMAC keys longer than 2^32 bytes are not support 
            (unlike with SHA1), probably not huge limitation.
2010-06-22 15:59:51 +00:00
Viktor Szakats
80e33f6c7f 2010-06-22 17:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsha2hm.c
  * src/rtl/hbsha2.c
    * Switched to use triplet API instead of the all-in-one calls,
      in preparation for Win64 support.
2010-06-22 15:38:52 +00:00
Viktor Szakats
91a0e2a77e 2010-06-22 17:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsha1.c
  * src/rtl/hbsha1hm.c
    + Added Win64 support for SHA1 functions.
    ; Please review it.
2010-06-22 15:29:08 +00:00
Viktor Szakats
0cbaf318af 2010-06-22 04:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbhash.h
  * src/common/hbhash.c
    + hash key changed from HB_ULONG to HB_SIZE.

  * src/rtl/cdpapi.c
  * src/compiler/hbmain.c
    * Added casts to pacify long time msvc warnings.

  * include/hbapi.h
    ! HB_IS_VALID_INDEX() macro fixed to use HB_SIZE.
    * Changed hb_struRefer.offset structure member from HB_LONG to
      HB_ISIZ, fixing one pending Win64 type mismatch.
      The change doesn't modify HB_ITEM size.

  * include/hbapicls.h
    + Added parameter name to one declaration.
2010-06-22 02:36:40 +00:00
Viktor Szakats
df2f699897 2010-06-20 18:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
    ! Fixed typo in last commit affecting Windows builds.
2010-06-21 16:58:21 +00:00
Przemyslaw Czerpak
67ed6e53e6 2010-06-21 17:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/filesys.c
    ! fixed typo reportyed by Tamas - thanks
2010-06-21 15:51:27 +00:00
Przemyslaw Czerpak
70e0ef5890 2010-06-21 16:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/filesys.c
    * removed HAVE_POSIX_IO and HB_FS_FILE_IO macros
    * replaced !HB_FS_LARGE_OPTIMIZED macro with HB_FS_IO_16BIT
    * cleaned code covered by HB_FS_IO_16BIT
    ! fixed some direct castings between DWORD* and HB_SIZE*
    ! fixed direct casting from BOOL to HB_BOOL

  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/compiler/hbopt.c
  * harbour/src/compiler/gencc.c
  * harbour/contrib/xhb/fparse.c
    * pacified CLANG warnings
2010-06-21 14:47:39 +00:00
Viktor Szakats
4390ee4bd3 2010-06-20 21:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbstr.c
    * hb_str2number() changed to limit string size to 'int' internally.
      This fixes the warnings and inconsistencies on Win64.

  * src/rtl/hbcom.c
    ! Pacified msvc warnings on component boundary.
2010-06-20 19:15:40 +00:00
Viktor Szakats
722c306052 2010-06-20 19:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/cmdarg.c
  * src/vm/fm.c
  * src/nortl/nortl.c
  * src/rtl/fmhb.c
  * include/hbapi.h
    + hb_xquery() return value changed from HB_ULONG to HB_SIZE.
      Also fixes all msvc64 warnings
2010-06-20 17:30:31 +00:00
Viktor Szakats
337219b053 2010-06-20 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/estack.c
  * src/vm/dynsym.c
  * src/vm/hvm.c
  * src/vm/set.c
  * src/rdd/wafunc.c
  * src/compiler/hbmain.c
  * src/compiler/cmdcheck.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbexprb.c
    + Added strlen() casts to pacify msvc64 warnings

  * src/vm/cmdarg.c
    ! Readded one '( void * )' cast. (I've only tested C++ mode
      on Windows, this fell into *nix code). Thanks for checking it.

  * src/rtl/hbgtcore.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warnings

  * contrib/hbmisc/spd.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warnings
    ; In case of this function it'd be probably better to make it fully
      HB_SIZE compatible, instead of stepping back like this.

  * src/rdd/sdf1.c
  * src/rdd/delim1.c
    + Added casts to pacify some msvc64 warnings

  * src/rdd/hsx/hsx.c
    ! HB_SIZE -> HB_LONG. Resolves msvc64 warnings.
2010-06-20 17:17:23 +00:00
Viktor Szakats
21d22afdbd 2010-06-20 17:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
  * src/vm/cmdarg.c
  * src/rtl/defpath.c
  * src/rtl/hbstrfmt.c
  * src/rtl/dates.c
  * src/rtl/hbinet.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/file.c
  * src/compiler/ppcomp.c
     + Added strlen() casts to pacify warnings

  * src/vm/hashfunc.c
    + Using hb_vmPushSize() to add HB_SIZE support for Win64

  * src/vm/debug.c
    ! HB_SIZE -> HB_LONG. Signaled by warning

  * include/hbvm.h
  * src/vm/hvm.c
    + Added hb_vmPushSize()
      Please review, I copied hb_vmPushHBLong()

  * src/common/hbfopen.c
    + Suppressed MS warning about "unsafe" fopen()
      Also readded fopen_s() code, which is made inactive permanently.

  * include/hbexprop.h
    + Added argument names to function declarations.

  * contrib/hbct/ctwin.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warning.

  * contrib/xhb/xhbarr.c
    + HB_SIZE -> int, plus added necessary casts. Signaled by warning.

  * contrib/hbsqlit3/hbsqlit3.c
    - Suppressed MS warning about "unsafe" fopen()
2010-06-20 15:42:56 +00:00
Viktor Szakats
7a80cb71e6 2010-06-20 12:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/tab.c
  * src/pp/ppcore.c
  * include/hbdefs.h
    ! Pacifying these very old msvc warnings:
      'warning C4310: cast truncates constant value'
    ; Check me pls.
    ; TOFIX: These are the remaining ones:
      ---
      macro.c(1315) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(505) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(888) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(1625) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(1688) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ---

  * src/rtl/gtchrmap.c
    * Whitspace formatting
2010-06-20 10:50:32 +00:00
Viktor Szakats
d442c6fee9 2010-06-20 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/cmdarg.c
  * src/common/hbffind.c
  * src/common/hbtrace.c
  * src/common/hbfsapi.c
  * src/common/hbhash.c
  * src/rtl/setkey.c
  * src/compiler/hbmain.c
  * src/compiler/hbcmplib.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbapi.h
  * contrib/hbmemio/memio.c
  * contrib/hbhpdf/harupdf.c
  * contrib/hbpgsql/postgres.c
  * examples/pp/hbppcore.c
  * examples/pp/hbppcomp.c
    * Deleted unnecessary '( void * )' casts.
      Pls Check me.
2010-06-20 09:09:08 +00:00
Viktor Szakats
af2b63500f 2010-06-20 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/strapi.c
  * src/vm/runner.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/fm.c
  * src/vm/memvars.c
  * src/vm/extend.c
  * src/common/hbstr.c
  * src/common/hbmem.c
  * src/rtl/descend.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/hardcr.c
  * src/rtl/inkeyapi.c
  * src/rtl/mtran.c
  * src/rtl/hbproces.c
  * src/rtl/ati.c
  * contrib/hbct/ctwin.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/freadlin.c
  * contrib/xhb/txtline.c
  * contrib/xhb/cstructc.c
  * contrib/hbgt/strasint.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbwin/win_prn3.c
    + Using HB_PFS format in HB_TRACE() format strings.

  * contrib/xhb/freadlin.c
  * contrib/xhb/txtline.c
    * Variable names prefixed.

  * src/vm/macro.c
    * Deleted unnecessary '( void * )' casts.

  * INSTALL
    * Cleaned pocc support information.

  * contrib/hbct/files.c
  * contrib/hbct/color.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/print.c
    % Optimized to use hb_parn*def() calls instead of inline-if expression
      (where default value is constant or simple variable).
2010-06-20 08:39:13 +00:00
Viktor Szakats
80163a2008 2010-06-20 01:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/pocc.mk
  * config/win/pocc64.mk
    ! Fixed pocc64 build. The build setup was broken since
      about 2.0.0beta2. One year without anyone noticing.

  * src/rtl/hbsocket.c
    ! Readded once present (in old hbinet.c) ugly kludge for pocc64
      to at least be able to build binaries instead of choking on a
      missing Windows function. More in the source code.
      Affecting both 5 and 6.

  * external/zlib/Makefile
    ! Added ugly workaround to avoid quite strange pocc64 (both 5 and 6)
      error when compiling crc32 for dynamic lib:
      ---
      pocc.exe -I. -I../../../../../include -Ze -Go -MT -Tamd64-coff -Ot -DHB_LEGACY_TYPES_OFF -DUNICODE -Focrc32_dyn.obj -DHB_DYNLIB -DZLIB_DLL -c ../../../crc32.c
      ../../../crc32.c(209): error #3101: [asm] Invalid argument to 'GLOBAL'.
      ../../../crc32.c(209): error #3152: [asm] Expected ']'.
      ../../../crc32.c(209): error #3151: [asm] Syntax error.
      ../../../crc32.c(223): error #3101: [asm] Invalid argument to 'FUNCTION'.
      ../../../crc32.c(223): error #3152: [asm] Expected ']'.
      ../../../crc32.c(223): error #3151: [asm] Syntax error.
      ../../../crc32.c(223): error #3151: [asm] Syntax error.
      ---

  * external/bzip2/Makefile
    ! Disabled for pocc64 (both 5 and 6), due to this error:
      ---
      pocc.exe -I. -I../../../../../include -Ze -Go -MT -Tamd64-coff -Ot -DHB_LEGACY_TYPES_OFF -DUNICODE -Foblocksor.obj -c ../../../blocksor.c
      ../../../blocksor.c(583): error #3114: [asm] Invalid combination of opcode and operands.
      ---
2010-06-19 23:19:23 +00:00
Viktor Szakats
3941d2fbbf 2010-06-19 17:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hashfunc.c
  * src/vm/asort.c
  * src/vm/arrayshb.c
  * src/rtl/substr.c
  * src/rtl/hbzlibgz.c
  * src/rtl/at.c
  * src/rtl/strtran.c
  * src/rtl/stuff.c
  * src/rtl/cdpapihb.c
  * contrib/hbct/charsprd.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/charsort.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/addascii.c
  * contrib/hbct/tab.c
  * contrib/hbct/numline.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/ctpad.c
  * contrib/xhb/fparse.c
  * contrib/xhb/xhbhasha.c
  * contrib/xhb/xhbmsgs.c
  * contrib/xhb/freadlin.c
  * contrib/xhb/xhbfunc.c
  * contrib/hbmzip/hbmzip.c
    + Using size API.
    * Other type and minor code cleanups.

  * contrib/hbct/screen2.c
    % Using hb_parnldef().

  * src/rtl/hbzlib.c
    ! Fixed mingw warning after prev.

  * contrib/rddads/adsx.c
    * Formatting.
2010-06-19 15:15:54 +00:00
Viktor Szakats
d4d9a5f4e5 2010-06-19 16:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Adjusted HB_SIZE_MAX value for Win64 after recent changes.

  * src/vm/hashfunc.c
  * src/vm/hvm.c
  * src/debug/dbgentry.c
  * src/common/hbwin.c
  * src/common/hbfsapi.c
  * src/common/hbstr.c
  * src/rtl/lennum.c
  * src/rtl/hbzlibgz.c
  * src/rtl/hbtoken.c
  * src/rtl/hbmd5.c
  * src/rtl/hbregex.c
  * src/rtl/hbzlib.c
  * src/rtl/gtpca/gtpca.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token2.c
  * contrib/hbct/charsprd.c
  * contrib/hbct/charlist.c
  * contrib/hbct/charsort.c
  * contrib/hbct/maxline.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/charswap.c
  * contrib/hbct/pos1.c
  * contrib/hbct/token1.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/relation.c
  * contrib/hbct/atnum.c
  * contrib/hbct/count.c
  * contrib/hbct/ctstrfil.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/addascii.c
  * contrib/hbct/pos2.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/print.c
  * contrib/xhb/txtline.c
  * contrib/hbgt/strright.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/ascposgt.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/atdiff.c
  * contrib/hbbz2/hbbz2.c
  * contrib/hbmemio/memio.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/date.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbmisc/spd.c
    + Using new size API.
      NOTE: This will be a longer process as there many current variations
            to pass sizes (*nint(), *ni(), *nl()) and there is no warning
            issued in several of these.
            Please also note that not all updates files became fully clean.
            I will post a list of remaining warnings.
    + Type cleanup:
        int -> HB_ISIZ
    + Added casts at component boundaries.
    % Deleted unnecessary '( HB_SIZE )' casts.
    + ULONG_MAX -> HB_SIZE_MAX
    * 'hb_retl( 0 )' -> 'hb_retl( HB_FALSE )'
    * 'hb_retl( 1 )' -> 'hb_retl( HB_TRUE )'
    ! CSETSAFETY() fixed to return and accept logical parameters
      instead of returning numeric, checking for logical but retrieving
      numeric.

  * src/common/hbwin.c
    * DWORD -> int to be in sync with Windows API declarations.

  ; NOTE: I left out RDDs and VM from the areas I scanned, please
          modify them. F.e. we will need a hb_vmPushSize().

  ; Peer review (by as much eyeballs as possible) is appreciated.
2010-06-19 14:26:56 +00:00
Viktor Szakats
f798129d72 2010-06-19 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * src/vm/itemapi.c
  * src/vm/arrays.c
  * src/vm/extend.c
    + Added hb_storvns().
    + Added hb_parvns().
    ; TOFIX: hb_itemPutNS() gives these (not quite unexpected) mingw warnings:
             ---
             itemapi.c:993:8: warning: comparison between signed and unsigned integer expressions
             itemapi.c:998:38: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:35: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:7: warning: comparison is always false due to limited range of data type
             ---

  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/rat.c
    + Using size APIs.
    % Also deleting '( HB_SIZE )' casts along the way.

  * src/rtl/oemansi.c
    ! Cast to make Win64 happy. Quite interesting that almost no
      Windows API don't support proper 64-bit strings, so here
      Windows will be the limitation, not Harbour.
2010-06-19 11:49:23 +00:00
Viktor Szakats
685ab6229d 2010-06-19 13:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
    ! Fixed another miss for prev rename.

  * src/rtl/filesys.c
    * Minor indentation.
2010-06-19 11:26:45 +00:00
Viktor Szakats
8866af5c97 2010-06-19 13:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/arrayshb.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/len.c
  * src/rtl/padl.c
  * src/rtl/right.c
  * src/rtl/left.c
  * src/rtl/space.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbarr.c
    + Started to use size APIs. Quite random, just to test the
      feeling. Converted functions can properly handle > 4GB
      strings and no. of array elements in .prg code.
      (on Win64)

  * include/hbapiitm.h
    ! Missed to do the renaming in declaration.
2010-06-19 11:18:10 +00:00
Przemyslaw Czerpak
a46effd019 2010-06-19 12:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/filesys.c
    * minor cleanup in recent modification
2010-06-19 10:58:34 +00:00
Viktor Szakats
73eae980a9 2010-06-19 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/arrays.c
  * include/hbapi.h
    * Renamed hb_arrayGetNSize(), hb_arraySetNSize(),
      hb_itemGetNSize(), hb_itemPutNSize() functions to
      hb_arrayGetNS(), hb_arraySetNS(),
      hb_itemGetNS(), hb_itemPutNS().

  * src/rtl/at.c
  * src/rtl/ati.c
  * contrib/xhb/xhbat.c
    * Started to use hb_*ns() instead of hb_*nl() for size values.
2010-06-19 10:53:28 +00:00
Viktor Szakats
ec13203192 2010-06-19 12:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
    - hb_itemGetNL() no longer works for date types.
      INCOMPATIBLE. If you used it to retrieve date/time,
      use hb_itemGetDL() instead.
    ! Fixed typo in prev addition.

  * include/hbapi.h
  * src/vm/arrays.c
    + Added hb_arrayGetNSize(), hb_arraySetNSize().
    ! Fixed old typo in TRACE() call of hb_arrayGetNInt().

  * src/vm/extend.c
    ! Fixed typo in prev addition.

  * src/rtl/filesys.c
    ! Applied fixed from Przemek to hb_fsReadAt()/hb_fsWriteAt()
      code to be MT safe plus fix other problems.
    ; QUESTION: Shouls the same applied to hb_fsWriteLarge()/hb_fsReadLarge() 
                loops? (BTW inactive in 32-bit Harbour builds)

  * contrib/hbct/screen2.c
    ! Type cleanup.

  * contrib/hbct/pack.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/hbxml.h
  * contrib/hbgt/charmixg.c
  * contrib/hbgt/charodd.c
  * contrib/hbgt/strexpan.c
  * contrib/hbgt/asciisgt.c
  * contrib/hbgt/strright.c
  * contrib/hbgt/strasint.c
  * contrib/hbgt/strdiffg.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/chrfirst.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/strpbrk.c
  * contrib/hbgt/chareven.c
  * contrib/hbgt/bitflags.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/atdiff.c
  * contrib/hbnf/proper.c
  * contrib/hbnf/getenvrn.c
    ! Fixed to use Harbour size types.

  * contrib/hbnf/dispc.c
    ! Started using Harbour type, but this is code is
      deadly and needs further work. I still wonder how
      to create code which mixes properly HB_FOFFSET and
      HB_SIZE.

  * contrib/xhb/cstructc.c
    * Formatting.
2010-06-19 10:26:02 +00:00
Viktor Szakats
23dd5b134d 2010-06-19 09:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
    ! Minor to prev.

  * include/hbapi.h
  * src/vm/extend.c
    + Added hb_parnsize(), hb_retnsize(), hb_stornsize() functions.
    ; NOTE: These should be used in place of hb_parnl(), hb_retnl(),
            hb_stornl() when passing HB_SIZE types.
    ; TODO: Use them all accross Harbour if they are correct and
            after being finalized.

  * src/vm/itemapi.c
    + Added hb_itemGetNSize(), hb_itemPutNSize() functions.
    * DATETIME stuff in hb_itemGetNL() marked as HB_LEGACY_LEVEL3.
    ; QUESTION: It's marked as to be deleted in the TODO, so maybe we should
                rather delete it.

  * include/hbapiitm.h
  * src/rtl/filesys.c
    + hb_fsReadAt(), hb_fsWriteAt(): Added support for Win64 HB_SIZE.
    ; QUESTION: I assume these functions have the purpose of being
                atomic seek + read without moving the file pointer,
                which means current modification isn't safe. How
                can this be solved given Windows doesn't seem to have
                64-bit read/write API calls?
    ! Fixed old copy-paste typos in Windows OVERLAPPED initialization,
      where the lines were ended with command instead of semicolon,
      they didn't cause any harm though in their former location.
    % Reverted a minor change from prev commit to make it
      possibly a little bit faster, like it was before.

  * src/rtl/hbzlib.c
    + Added casts (at external interface calls) and other fixes to
      make it build for Win64 without warnings.

  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * contrib/rddbmcdx/bmdbfcdx.c
    * HB_ULONG -> HB_SIZE where appropriate to avoid Win64 errors
      and some warnings. I'm still not comfortable to touch this
      code, but it could certainly need a type cleanup.

  * include/hbdefs.h
    + Added HB_PFS macro which holds the printf() format string
      for HB_SIZE value.
    ; TODO: Use it all accross Harbour.

  * contrib/hbmysql/mysql.c
  * contrib/sddmy/sddmy.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbhpdf/harupdf.c
  * contrib/hbpgsql/postgres.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/ads1.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/sddodbc/sddodbc.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_regc.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/pem.c
  * contrib/hbssl/rand.c
  * contrib/hbssl/evp.c
    + Added necessary casts at external component boundaries to
      make Win64 builds warning-free.

  * contrib/hbct/ctstrfil.c
    + HB_ISIZ -> HB_FOFFSET, hb_fsSeek() usage, other type cleanup
      to handle file offsets correctly.

  * contrib/xhb/hbnxs.h
  * contrib/xhb/hbcrypt.c
    ! Fixed warnings for Win64.

  * contrib/hbwin/win_prn3.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/fparse.c
    * int -> HB_ISIZ for Win64.

  * contrib/xhb/freadlin.c
    * hb_fsSeek() -> hb_fsSeekLarge().

  * contrib/sddfb/sddfb.c
    * Minor type cleanup to make Win64 warning-free.

  * contrib/hbsqlit3/hbsqlit3.c
    + Added necessary casts at external interface calls.
    % Deleted one dummy operation from SQLITE3_FILE_TO_BUFF().

  * contrib/rddsql/sqlmix.c
  * contrib/rddads/adsx.c
    * HB_ULONG -> HB_SIZE.

  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
    ! int -> HB_ISIZ/HB_SIZE
    + Added necessary casts at external component boundaries to
      make Win64 warning-free.

  * contrib/rddads/ads1.c
    * HB_ULONG -> HB_SIZE

  * contrib/hbtip/utils.c
    * int -> HB_ISIZ
    ! Fixed to use HB_FOFFSET type to save/restore file position.

  * ChangeLog
    + Added missing item to previous log entry:
      ! Fixed hb_fsCurDirBuff() for Win64.

  ; It's quite large commit, nevertheless I'd highly appreciate
    peer review, and certainly there will be places which need
    better or different solution for Win64.
2010-06-19 08:05:24 +00:00
Viktor Szakats
98d0b811d1 2010-06-18 16:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * include/hbapifs.h
    + Added support for 64-bit HB_SIZE to hb_fsWriteLarge(), 
      hb_fsReadLarge().
    * Some HB_SIZE variables renamed to have 'n' prefix.
    * Minor cleanups in code layout in hb_fsWriteLarge(), 
      hb_fsReadLarge().
    ; Please review, I didn't make any real tests. Most code 
      was copied and adapted from similar code existing for 
      16-bit systems to support 32-bit HB_SIZE.

  * src/vm/runner.c
    % Adjusted scope of recently added variable.

  * ChangeLog
    ! Fixed HB_COMPILER_VER values for MSVC for pre < 1000 versions
      (requires zero prefix to work right) in:
      2010-06-06 00:50 UTC+0200 Viktor Szakats
2010-06-18 14:12:32 +00:00
Viktor Szakats
38c91a1eee 2010-06-18 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * include/hbapifs.h
    ! hb_fsLock()/hb_fsSeek() to use HB_ULONG/HB_LONG, instead of
      HB_SIZE/HB_ISIZ.
    * Cleaned some casting in hb_fsLock(). Please check me.
2010-06-18 11:43:07 +00:00
Viktor Szakats
f145ef4c80 2010-06-18 11:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    ! Fixed one intentional typo I put in to test legacy types.

  * src/compiler/hbmain.c
  * src/compiler/genhrb.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * include/hbcomp.h
  * include/hbcompdf.h
    * HB_ULONG -> HB_SIZE, where I could find out from warnings.
    + Added parameter names to some function declarations where they
      were missing.
    ; Przemek, please check me. I feel I will mess this up if continuing
      beyond this point, so I'd appreciate if you could take a look at
      HB_ULONG to HB_SIZE conversion from an intrinsic perspective,
      there seem to be places where it needs further tweaks to get us
      full Win64 support. [ I've also intentionally left this area
      more or less intact when doing the previous pass of conversion. ]
    ; There are places where simple 'int' is used, while it should be
      HB_SIZE (or maybe size_t? in some places).
    ; Also, Win64 conversion will need some more work f.e. in filesys.c
      where WinAPI file I/O functions can't accept a 64-bit value.
      First I will report these and if they seem complicated I'll
      revert to HB_SIZE = HB_ULONG for Win64 in the being.

  * src/compiler/hbgenerr.c
    * Formatting.

  * src/pp/ppcore.c
  * src/vm/strapi.c
  * src/vm/debug.c
  * src/vm/itemapi.c
  * src/vm/cmdarg.c
  * src/vm/set.c
  * src/debug/dbgentry.c
  * src/common/hbgete.c
  * src/common/hbstr.c
  * src/common/strwild.c
  * src/nortl/nortl.c
  * src/rtl/lennum.c
  * src/rtl/strmatch.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/direct.c
  * src/rtl/filesys.c
  * src/rtl/console.c
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/mlcfunc.c
  * src/rtl/itemseri.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/gete.c
  * src/rdd/workarea.c
  * src/rdd/hsx/hsx.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxfname.c
  * contrib/hbct/tab.c
  * contrib/xhb/dbf2txt.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/dbgfxc.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbnf/fttext.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbpgsql/postgres.c
  * contrib/hbclipsm/num.c
  * contrib/rddads/ads1.c
  * contrib/sddsqlt3/sddsqlt3.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/sddodbc/sddodbc.c
  * contrib/sddoci/sddoci.c
  * contrib/hbwin/win_svc.c
  * contrib/hbwin/win_prn2.c
    * '( HB_SIZE ) strlen(' -> 'strlen('
2010-06-18 10:03:44 +00:00
Viktor Szakats
c128b8a171 2010-06-18 09:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    ! Fixed for pocc after: 2010-03-05 19:26 UTC+0100 Viktor Szakats
      (looks like pocc isn't very actively used in Harbour)

  * config/globsh.mk
    + Added two TODOs to FALSE definitions.
2010-06-18 07:57:20 +00:00
Viktor Szakats
fb5241c566 2010-06-17 07:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt_common.hbm
  * contrib/hbqt/detect.mk
    + Enabled for mingw64.

  * src/rtl/inkey.c
    - Deleted recently added HB_KEYLAST()/HB_KEYNEXT().
    - Deleted dirty/hidden parameter extension from LASTKEY().
    - Deprecated NEXTKEY() dirty/hidden extension by HB_LEGACY_LEVEL3.
2010-06-17 05:49:05 +00:00
Viktor Szakats
b50ea8e77e 2010-06-16 21:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/extend.api
  * include/hbapi.h
    + Disabled IS*() macros when HB_LEGACY_TYPES_OFF is defined
      (default when building Harbour)

  * src/pp/pplib.c
  * src/rtl/hbregex.c
  * src/rtl/dateshb.c
  * contrib/xhb/xhbfunc.c
  * contrib/rddads/rddads.h
    ! Fixed IS*() -> HB_IS*()

  * src/rtl/hbregex.c
  * contrib/hbmysql/mysql.c
  * contrib/xhb/xhbsave.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbfbird/firebird.c
  * contrib/hbnetio/netiosrv.c
  * contrib/rddads/rddads.h
  * contrib/rddads/adsmgmnt.c
  * contrib/rddads/adsfunc.c
  * contrib/hbmisc/hb_f.c
  * contrib/hbmisc/ffind.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbssl/bio.c
  * contrib/hbssl/hbssl.c
  * contrib/hbssl/sslctx.c
    % Optimized to use hb_parn*def() calls instead of inline-if expression
      (where default value is constant or simple variable).

  * INSTALL
    + valgrind is available for darwin-amd64 (in 1.6 devel tree, yet).
2010-06-16 19:10:22 +00:00
Viktor Szakats
290317ac9f 2010-06-16 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbzlibgz.c
  * src/rtl/fstemp.c
  * src/rtl/at.c
  * src/rtl/strtran.c
  * src/rtl/hbinet.c
  * src/rtl/saverest.c
  * src/rtl/diskspac.c
  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/disksphb.c
  * src/rtl/shadow.c
  * src/rtl/trace.c
  * src/rtl/ati.c
  * src/rtl/hbstrsh.c
    % Optimized to use hb_parn*def() calls instead of inline-if expression 
      (where default value is constant or simple variable).
    % Optimized out few HB_ISNUM() calls where the default value was zero.
      Also added comment to signal the intention.

  * src/rtl/inkey.c
    + Added two TOFIXes to LASTKEY() and NEXTKEY() after having discovered 
      two hidden (dirty) parameter extensions over original Clipper 
      implementation, both added here in Harbour in year 2001. [ I didn't 
      test if it's undocumented Clipper function, but there is no such 
      indication in past log enties, plus even in this case it would have 
      to be marked with HB_CLP_UNDOC. They are also not Xbase++ extensions. ]
    + Added HB_KEYNEXT(), HB_KEYLAST() functions which implement original 
      NEXTKEY()/LASTKEY() functionality plus the extension.
      Pls correct me if I'm wrong, but after reading all related log entries 
      I could not find out why the default of the optional parameter is 
      _SET_EVENTMASK in NEXTKEY(), but INKEY_ALL in LASTKEY(). It was changed 
      as part of big change, here: 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak
    ; I intend to deprecate the dirty extensions and finish adding the two 
      new Harbour specific function, which we're free to extend.

  * contrib/xhb/dumpvar.prg
    ! Fixed recent typo.

  * INSTALL
    * Updated tdm website.
2010-06-16 18:08:04 +00:00
Przemyslaw Czerpak
73a06f6c8f 2010-06-15 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
  * harbour/include/hbvmpub.h
  * harbour/src/common/expropt1.c
  * harbour/src/common/expropt2.c
  * harbour/src/common/hbstr.c
  * harbour/src/compiler/gencc.c
  * harbour/src/vm/hvm.c
  * harbour/src/vm/itemapi.c
  * harbour/src/vm/task.c
  * harbour/src/rtl/abs.c
  * harbour/src/rtl/hbdyn.c
  * harbour/src/rdd/dbsql.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/sddoci/sddoci.c
  * harbour/contrib/sddsqlt3/sddsqlt3.c
    * renamed HB_LONG_{MIN,MAX} to HB_VMLONG_{MIN,MAX} and
      HB_INT_{MIN,MAX} to HB_VMINT_{MIN,MAX} to not confuse users
      after renaming HB_LONG to HB_MAXINT and LONG to HB_LONG.
      They could expect that HB_LONG_{MIN,MAX} are for HB_LONG type.
2010-06-15 10:00:45 +00:00
Przemyslaw Czerpak
92fa64ac12 2010-06-15 02:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/idle.c
    ! fixed missing open comment marker (/*)
      Thanks to Tamas.
2010-06-15 00:33:21 +00:00
Przemyslaw Czerpak
73c06c043a 2010-06-15 00:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/idle.c
    ! fixed to call hb_idleState() for hb_idleSleep( 0 )

  * harbour/src/pp/ppcore.c
  * harbour/src/rdd/workarea.c
  * harbour/src/rdd/dbcmd.c
  * harbour/src/rdd/dbf1.c
  * harbour/include/dbinfo.ch
  * harbour/include/hbapifs.h
  * harbour/include/hbvmopt.h
  * harbour/include/hbvmint.h
  * harbour/include/hbrddntx.h
    * renamed xHarbour to Harbour in some of my comments
2010-06-14 22:59:27 +00:00
Viktor Szakats
ae5063bd4f 2010-06-15 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbzlib.c
    + Added QNX version number to the comment noting the hack.

  * contrib/xhb/xhbfs.c
    + Added ISDIRECTORY() implementation which exactly mimics 
      current xhb behavior. Current xhb behavior seems wrong 
      because on Windows platform it works like HB_DIREXISTS() 
      in Harbour (not allowing wildcards), while on rest of 
      platforms it accept wildcards. The original intent in 
      xhb was the latter.

  * contrib/xhb/hbcompat.ch
    - Deleted ISDIRECTORY() <-> HB_DIREXISTS() mapping.
2010-06-14 22:59:03 +00:00
Viktor Szakats
83bab940b8 2010-06-14 15:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dynlibhb.c
  * include/hbthread.h
    + Added QNX support.

  * src/rtl/hbzlib.c
    ! Added hack to fix missing zlibVersion() and zError()
      functions from the zlib lib shipped with QNX 6.2.1.

  + config/qnx/libs.mk
    + Added QNX specific lib configuration.

  * utils/hbmk2/hbmk2.prg
    + Added (untested) list of system libs for qnx/gcc.

  * INSTALL
    + Added QNX reference to one more place.

  ; NOTE on QNX:
      All binaries build cleanly, hbtest works.
  ; TOFIX/TODO:
      - hbrun seems to misdetect the width of the terminal
      - Clean some hack in QNX port
      - platform autodetection
      - retest whole port from vanilla SVN source, test MT
        linkage.

  ; So now Harbour can run in cars, planes and spaceships.
2010-06-14 13:35:19 +00:00
Viktor Szakats
4020ab88cb 2010-06-14 14:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbffind.c
  * src/rtl/fstemp.c
  * src/rtl/filesys.c
  * src/rtl/fssize.c
    ! Fixed to use '#define _LARGEFILE64_SOURCE 1' instead of
      'define _LARGEFILE64_SOURCE' to fix compilation on QNX.
      This replaced previously added hack for stat64 in two
      locations.

  * src/rtl/hbzlibgz.c
    ! Protected gzungetc() and gzclearerr() calls with 'ZLIB_VERNUM >= 0x1202'
    ; QNX 6.2.1 ships with zlib 1.1.3.

  * src/rtl/gttrm/gttrm.c
    ! Added fix to compile when SA_RESTART is not available (in QNX).
    ; TOFIX: Replace this with some more meaningful solution.

  * src/rtl/hbzlib.c
    ! Fixed to compile when compressBound() is not available.
      The detection is hackish because proper zlib version detection 
      is not available here yet.

  * src/rtl/hbznet.c
    ! Fixed to build with older zlib versions where Z_RLE and/or 
      Z_FIXED are not available.

  * include/hbdefs.h
    ! Fixed stdint handling for QNX.
2010-06-14 12:23:46 +00:00
Viktor Szakats
9adc0c8611 2010-06-14 11:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbsetup.h
  * utils/hbmk2/hbmk2.prg
    + Added experimental support for QNX operating systems.
      Tested with 6.2.1.

  + config/qnx
  + config/qnx/gcc.mk
  + config/qnx/global.mk
    + Added qnx GNU make files. For now this is a simple copy
      of linux ones.

  * src/common/hbgete.c
  * src/common/hbprintf.c
    + HB_OS_QNX tweaks.

  * src/common/hbffind.c
  * src/rtl/fssize.c
    ! Disabled stat64 for HB_OS_QNX.

  * src/common/hbffind.c
    ! Fixed very old error in default (todo) branch 
      where hbrtl function was mistakenly referenced.

  * external/Makefile
  * contrib/Makefile
  * contrib/sddoci/Makefile
  * config/none.mk
  * config/global.mk
  * config/bin.mk
  * config/dir.mk
    + Since QNX has GNU Make 3.79.1, I had to re-xmastree
      the GNU Make files (though I didn't restore the xmas
      indentation), plus restore all logic that dealt
      with older GNU Make versions. Also added some new logic.
    + Changed to give warning only when using older than
      3.81 make versions. Some feature are disabled in this case,
      f.e. HB_BUILD_PKG (win/dos specific feature)
    ; TOFIX: host platform and cpu detection relies on $(eval)
             which is not present on pre 3.80.

  ; habour and hbpp builds fine, but there are several remaining
    problems in rtl and vm.

  * mpkg_nightly.sh
    + Added feeback about what the script does.
    + Using -q for zip to lessen large amount of unnecessary feedback

  * external/pcre/pcre.dif
  * external/pcre/Makefile
    ! Tweak to make PCRE build on djgpp 2.3
      Patch by Tamas Tevesz (2nd version posted on dev list)
2010-06-14 09:59:41 +00:00
Viktor Szakats
5ae08a0e0e 2010-06-12 14:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/set.c
    * Reset default value to "hb_out.log".

  + mpkg_nightly.sh
    + Added script to generate nightly sources.
    ; TODO: Upload nightlies to sf.net.
    ; TODO: Change nightly filenames to match our normal source releases.
    ; TOFIX: Current .zip nighly has wrong (*nix) EOLs. This has to be
             changed to CRLF.

  * INSTALL
    * Changed nightly script URLs to point to sf.net file area.
    ! Minor fix to bug tracker address.

  * contrib/xhb/regexrpl.prg
  * contrib/hbtip/httpcli.prg
  * contrib/hbtip/mail.prg
    ! Fixed to use EMPTY() on HB_REGEX[ALL]() return
      value instead of NIL check.
      Required after recent change in HB_REGEX*()
      return values in no-match case.

  * contrib/hbcurl/hbcurl.c
  * contrib/hbcurl/hbcurl.ch
    + Added support to download-to/upload-from file handle.

  * contrib/hbqt/qtgui/Makefile
  * contrib/hbqt/qtcore/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbqt/gtqtc/Makefile
  * contrib/hbqt/qtnetwork/Makefile
    ! Fixed to not build separate HBQT libs for static
      linkage for non-win/wce targets.

  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.nsi
    * Changed to use 'Harbour Project' as folder name in registry.
      (instead of 'Harbour'). Just to be consistent.

  * package/winuni/mpkg_win_uni.nsi
    + Add major.minor version number to registry folder names.
      This allows multiple major versions of Harbour to be installed
      in parallel.

  * contrib/xhb/ttable.prg
    % '&("{||" + c + "}")' -> HB_MACROBLOCK()

  * contrib/xhb/trpccli.prg
  * contrib/xhb/hblognet.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/tedit.prg
  * contrib/xhb/xdbmodst.prg
  * contrib/xhb/trpc.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/xhbmt.prg
  * contrib/xhb/xhberr.prg
  * contrib/xhb/ttable.prg
  * contrib/xhb/txml.prg
    * '.NOT.' -> '!'
    % ValType( x ) == "Y" -> IS*()
    * Some other basic formatting and cleanup.

  * src/rtl/hbini.prg
  * examples/httpsrv/session.prg
    * Formatting.

  * tests/db_brows.prg
  * tests/server.prg
  * tests/testrdd2.prg
  * tests/setkeys.prg
  * contrib/hbtip/tests/tiptest.prg
  * contrib/hbtip/tests/loadhtml.prg
  * examples/hbsqlit2/tests/hbsqlite.prg
  * examples/gtwvw/tests/wvwtest9.prg
  * examples/gtwvw/tests/ebtest7.prg
    * '.NOT.' -> '!'
2010-06-12 12:15:59 +00:00
Mindaugas Kavaliauskas
508e2ec93f 2010-06-10 19:12 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/examples/httpsrv/uhttpd.prg
  * harbour/examples/uhttpd2/umain.prg
    * optimized hb_socketRecv() calls
    * optimized (removed) hb_socketSelect() calls, current API
      has timeout parameter and make things simple

  * harbour/examples/commouse/commouse.prg
    ! fixed error reporting (missing hb_comGetError()) parameter

  * harbour/include/hbsocket.ch
    * adjusted comment text

  * harbour/contrib/hbtpathy/telepath.prg
    ! fixed missing nTimeout parameter in tp_send()

  * harbour/source/rtl/hbcomhb.c
    ! fixed typo in hb_comSend()
    ! fixed hb_storni() paramter order bugs
2010-06-10 16:12:39 +00:00
Przemyslaw Czerpak
fc8b32088e 2010-06-10 01:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbcom.c
    * use one static function to set timeouts for read/write operations
      in Windows builds
2010-06-09 23:02:52 +00:00
Viktor Szakats
ea7e1d15b9 2010-06-09 23:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.ch
    + Added address info array positions.

  * src/rtl/hbsockhb.c
    - Deleted spaces @ EOL.

  * contrib/hbtpathy/telepath.prg
  * contrib/hbcomm/tests/test.prg
  * contrib/hbcomm/hbcomm.prg
  * contrib/hbsms/hbsms.prg
    ! Fixed HB_COMRECV() which requires a preallocated string
      to be passed.
      (no testing done, please review me, I'm almost sure I've
      made mistakes here)

  * examples/httpsrv/uhttpd.hbp
  * examples/httpsrv/uhttpd.prg
  - examples/httpsrv/socket.c
    + Changed to use new natic SOCKET API.
2010-06-09 21:38:32 +00:00
Viktor Szakats
c8a32bfc8c 2010-06-09 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Quite big commit aiming to clean path forming in different
      situations. After this is change it should be more or less
      true that internally hbmk2 always uses native path format,
      it should accept _any_ format regardless of platform,
      and it should convert filenames to proper format only when
      calling external compiler tools, according to their specific
      taste.
      F.e. this should fix problems when doing Windows cross-build
      on *nix systems, with watcom, or other compilers (except
      mingw) which has native compiler. It should continue to
      work with WINE based on compilers in similar situations.
      There is one specific exception when passing around
      filenames as part of options. In this case hbmk2 cannot do
      too much magic, so try to avoid it.
      Though I never actualluy tried this latter case.
      Please test it, regressions are possible. I'd be happy to 
      see stress tests with passing various combination of pathseps 
      and watching -trace output whether everything is properly 
      converted to right format.
    + Will now convert filenames to Cygwin format for Cygwin
      targets.
    ! Fixed to accept .hbi files without '@' prefix.

  * config/postinst.prg
    % Do not add '@' prefix when referring to .hbi files.

  * src/vm/extend.c
    ! Fixed TRACE message of new hb_parnintdef() function.

  * src/rtl/hbcomhb.c
    * Minor correction to one function description in comment.

  * src/rtl/hbsocket.c
    * Minor formatting.

  * include/hbcom.ch
    + Added comments.
    * Formatting.
    + Added comment that code is used by .c code.

  * contrib/hbtpathy/telepath.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    + tp_send() code rewritten to use core timeout functionality.
    + Implemented formerly disabled tp_ctrldtr() function.
      (pls review it)
    % FetchChars() internal function simplified.

  * contrib/hbcomm/hbcomm.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).

  * contrib/hbsms/hbsms.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    * Receive code rewritten to rely on core timeout functionality
      instead of rolling local implementation.

  ; I didn't make any tests with API converted COM code, so please
    review and test these changes.

  * contrib/hbtpathy/hbtpathy.hbc
  * contrib/hbcomm/hbcomm.hbc
  * contrib/hbsms/hbsms.hbc
    - Deleted hbct dependency.

  * INSTALL
  * package/winuni/RELNOTES
    * QT 4.6.2 -> 4.6.3
2010-06-09 17:57:34 +00:00
Mindaugas Kavaliauskas
f6ad555233 2010-06-09 18:37 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ harbour/src/rtl/hbcomhb.c
  * harnour/src/rtl/Makefile
  * harbour/include/hbextern.ch
    + added wrapper functions for Serial communication port API
      The list of exported functions is:
        HB_COMCLOSE( nPort )  --> lSuccess
        HB_COMDISCARDCHAR( nPort, nChar | cChar ) --> lSuccess
        HB_COMERRORCHAR( nPort, nChar | cChar ) --> lSuccess
        HB_COMFLOWCHARS( nPort, nXONchar | cXONchar, nXOFFchar | cXOFFchar ) --> lSuccess
        HB_COMFLOWCONTROL( nPort, @iValue, nFlow ) --> lSuccess
        HB_COMFLOWSET( nPort, nFlow ) --> lSuccess
        HB_COMFLUSH( nPort, [ nType = HB_COM_IOFLUSH ] ) --> lSuccess
        HB_COMGETDEVICE( nPort )  --> cDeviceName
        HB_COMGETERROR( nPort ) --> nError
        HB_COMGETOSERROR( nPort ) --> nError
        HB_COMINIT( nPort, nBaud, cParity, nSize, nStop ) --> lSuccess
        HB_COMINPUTCOUNT( nPort ) --> nCount
        HB_COMINPUTSTATE( nPort ) --> nState
        HB_COMLASTNUM() --> nLastPortNumber
        HB_COMLSR( nPort, @nValue ) --> lSuccess
        HB_COMMCR( nPort, @nValue, nClear, nSet ) --> lSuccess
        HB_COMMSR( nPort, @nValue ) --> lSuccess
        HB_COMOPEN( nPort ) --> lSuccess
        HB_COMOUTPUTCOUNT( nPort ) --> nCount
        HB_COMOUTPUTSTATE( nPort ) --> nState
        HB_COMSENDBREAK( nPort, [ nDuration = 50 ] ) --> lSuccess
        HB_COMSETDEVICE( nPort, cDeviceName ) --> lSuccess
        HB_COMRECV( nPort, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nTimeout = 0 ] ) --> nBytesRecv
        HB_COMSEND( nPort, cBuffer, [ nLen = LEN( cBuffer ) ], [ nTimeout = 0 ] ) --> nBytesSent

  + harbour/include/hbcom.ch
  * harbour/include/hbapicom.h
    * moved HB_COM_* constants to .ch file

  + harbour/examples/commouse
  + harbour/examples/commouse/commouse.prg
    + sample application to decode and display COM port mouse data.
      Two types of mouse protocol is supported. You just need to 
      find COM port mouse! :) 

  * harbour/src/rtl/hbcom.c
    ! fixed timeouts on Windows platform (thanks Przemek!)
2010-06-09 15:37:23 +00:00
Mindaugas Kavaliauskas
02651dc13a 2010-06-09 15:37 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/rtl/hbsockhb.c
    * changed return values of some functions: nSuccess to lSuccess
    * HB_SOCKET_PF_* changed to HB_SOCKET_AF_*
    - hb_parnintdef() (moved to extend.c)
    ! some bug fixes
    ! some typo in documentation

  * harbour/examples/udpds/udpds.prg
    * sychronized with hb_socket*() changes
    * changed server thread exit condition (proposed by Przemek)

  * harbour/include/hbapi.h
  * harbour/src/vm/extend.c
    + hb_parnintdef()
2010-06-09 12:42:08 +00:00
Przemyslaw Czerpak
864974ae82 2010-06-09 12:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
  * harbour/include/hbsocket.ch
    ! cleaned a little bit HB_SOCKET_AF_*/HB_SOCKET_PF_* usage to not confuse
      other developers and users.
2010-06-09 10:55:49 +00:00
Mindaugas Kavaliauskas
b9836e09ef 2010-06-08 21:54 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ harbour/src/rtl/hbsockhb.c
    + added wrapper functions for Harbour socket API
      The list of exported functions is:
        HB_SOCKETGETERROR() --> nSocketError
        HB_SOCKETGETOSERROR() --> nOSError 
        HB_SOCKETERRORSTRING( [ nSocketErrror = hb_socketGetError() ] ) --> cError
        HB_SOCKETGETSOCKNAME( hSocket ) --> aAddr | NIL
        HB_SOCKETGETPEERNAME( hSocket ) --> aAddr | NIL
        HB_SOCKETOPEN( [ nDomain = HB_SOCKET_PF_INET ] , [ nType = HB_SOCKET_PT_STREAM ], [ nProtocol = 0 ] ) --> hSocket
        HB_SOCKETCLOSE( hSocket ) --> nSuccess
        HB_SOCKETSHUTDOWN( hSocket, [ nMode = HB_SOCKET_SHUT_RDWR ] ) --> nSuccess
        HB_SOCKETBIND( hSocket, aAddr ) --> nSuccess
        HB_SOCKETLISTEN( hSocket, [ iQueueLen = 10 ] ) --> nSuccess
        HB_SOCKETACCEPT( hSocket, [ @aAddr ], [ nTimeout = FOREVER ] ) --> nSuccess
        HB_SOCKETCONNECT( hSocket, aAddr, [ nTimeout = FOREVER ] ) --> nSuccess
        HB_SOCKETSEND( hSocket, cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], [ nTimeout = FOREVER ] ) --> nBytesSent
        HB_SOCKETSENDTO( hSocket, cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], aAddr, [ nTimeout = FOREVER ] ) --> nBytesSent
        HB_SOCKETRECV( hSocket, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], [ nTimeout = FOREVER ] ) --> nBytesRecv
        HB_SOCKETRECVFROM( hSocket, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], @aAddr, [ nTimeout = FOREVER ] ) --> nBytesRecv
        HB_SOCKETSETBLOCKINGIO( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETNODELAY( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETREUSEADDR( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETKEEPALIVE( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETBROADCAST( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETSNDBUFSIZE( hSocket, nValue ) --> nSuccess
        HB_SOCKETSETRCVBUFSIZE( hSocket, nValue ) --> nSuccess
        HB_SOCKETGETSNDBUFSIZE( hSocket, @nValue ) --> nSuccess
        HB_SOCKETGETRCVBUFSIZE( hSocket, @nValue ) --> nSuccess
        HB_SOCKETSETMULTICAST( hSocket,  cAddr ) --> nSuccess
        HB_SOCKETSELECTREAD( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECTWRITE( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECTWRITEEX( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECT( aRead, lSetRead, aWrite, lSetWrite, aExcep, lSetExcep, [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETRESOLVEINETADDR( cAddr, nPort ) --> aAddr | NIL
        HB_SOCKETRESOLVEADDR( cAddr, [ nFamily = HB_SOCKET_AF_INET ] ) --> cResolved
        HB_SOCKETGETHOSTS( cAddr, [ nFamily = HB_SOCKET_AF_INET ] ) --> aHosts
        HB_SOCKETGETIFACES( [ nFamily ], [ lNoAliases ] ) --> aIfaces

  + harbour/examples/udpds
  + harbour/examples/udpds/udpds.prg
    + added UDP Discovery Server sample

      This module demonstrates a simple UDP Discovery Server
     
      If you run some service on the network (ex., netio), you need to
      know server IP address and configure client to connect to this
      address. UDPDS helps client to find server address (or addresses
      of multiple servers) on local network. UDPDS should be run in
      parallel to real server (ex., netio). Server part of UDPDS uses
      threads, so, it should be compiled in MT mode.
     
      Server functions:
        UDPDS_Start( nPort, cName [, cVersion ] ) --> hServer
        UDPDS_Stop( hServer ) 
        
      Client function:
        UDPDS_Find( nPort, cName ) --> { {"ip_addr_1", "version_1"}, ... }

    ; Please add .hbc, .hbp files, if it is required. This module requires 
      only a standard harbour runtime library and MT VM.
2010-06-08 18:54:58 +00:00
Viktor Szakats
45447a4c91 2010-06-08 20:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbregexc.c
    + Restored RTE which is thrown when unsupported regex string is
      found in any .prg level regex API calls except HB_REGEXCOMP().
      The only difference compared to previous solution is different
      error code (3015) to differenciate this case from wrong
      parameter _type_ error cases.
    ; TOFIX: IMO even current solution is not ideal, because it just
             forces developers to use HB_ISREGEX() to pre-evaluate regex
             strings before actually using them (causing performance hit),
             or it forces them to use HB_REGEXCOMP() to pre-compile and
             pre-evaluate the expressions before passing them to actual
             regex functions, in the valid case they want to avoid unexpected
             RTEs due to missing or unsupported regex (PCRE) subsystem.
             IOW it makes plain HB_ATX( <cRegExp>, ... ) style calls
             prone to fail with RTE in certain, very hard to predict
             situations in officially supported Harbour builds.
             Comments are appreciated.

  * utils/hbmk2/hbmk2.prg
    * Deleted unused code.
    * Formatting.
2010-06-08 18:32:53 +00:00
Przemyslaw Czerpak
87657b036f 2010-06-08 19:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
    ! added missing code to duplicate IP6 address passed explicitly
      to hb_socketResolveAddr() - thanks to Mindaugas for reporting
      the problem
2010-06-08 17:58:23 +00:00
Viktor Szakats
ce166b1c81 2010-06-08 13:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbregexc.c
    * Changed to not throw RTE, just gracefully return
      error value when invalid PCRE expression is used.
      It will continue to throw RTE only for user-controllable
      error situations, f.e. when wrong argument type is passed.
    ! Fixed to not contain English text hard-coded in RTE message.

  * src/rtl/hbregex.c
    * HB_ATX() changed to fill parameters passed by reference with
      error values (zeros) in case of error.
    * HB_REGEX(), HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
      functions changed to consistently return arrays. If there
      is no match, the array will be empty. This gives a more
      natural (and Clipper/Harbour-like) interface (f.e. return
      value can be passed to FOR EACH loop without extra checks
      and extra local variable).
      Slight INCOMPATIBILITY for those who did 'r == NIL' check
      to verify non-match and something special in this case.
      For code simply evaluating the returned matches, the NIL
      check can be deleted, and for code which wants to be
      backward/forward compatible _and_ to specifically check
      for no match situation it's suggested to use 'EMPTY( r )'.
      Please check me.
    * HB_REGEXMATCH() marked as HB_LEGACY_LEVEL4. (this leaves
      quite some headstart to change it)

  * include/hbextern.ch
    - Deleted HB_REGEXMATCH().

  * utils/hbmk2/hbmk2.prg
    % Simplified regex usage after above changes.
    + Will now show an internal error in case the used
      regex is invalid in current Harbour context
      (f.e. when no PCRE engine was forced by user, or
      the one used doesn't support the expression used by
      hbmk2). I don't know how special current expression
      is (it doesn't seem very much so), but it can be
      streamlined to something more compatible if current
      is deemed not ideal.

  * src/compiler/hbusage.c
    * Changed to enclose e-mails between '()' instead of '<>'.

  * include/hbsetup.h
    ! Patch by Tamas Tevesz for SunPro compiler.

  * ChangeLog
    - Deleted my personal exception from ChangeLog license.
2010-06-08 11:19:04 +00:00