Commit Graph

517 Commits

Author SHA1 Message Date
Viktor Szakats
ffaf84caa2 2011-02-11 13:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/base64d.c
    ! Fixed crash when empty or non-string parameter was passed to HB_BASE64DECODE().

  + tests/base64.prg
    + Added base64 test suite. [Tamas]
2011-02-11 12:31:19 +00:00
Viktor Szakats
a12d2503d0 2011-02-11 12:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbfilehi.prg
    ! Fixed HB_PATHNORMALIZE() recent change to strip double pathseps.
      It was slashing ending pathsep too, which caused hbmk2 env detection
      to die and not find libs.
      NOTE: HB_PATHNORMALIZE() got very inefficient after this addition,
            so if I may chose to restore stable versions from hbmk2 code.
    ; There are at least two remaining bugs in recent changes.
2011-02-11 11:05:24 +00:00
Viktor Szakats
af945f7b1f 2011-02-11 07:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Readded REQUEST HB_FSETATTR. It was used in conditional 
      code, so it was not linked on *nix builds, causing 
      failure to run postinst.hbs.

  * src/rtl/hbrandom.c
    * Minor formatting.
2011-02-11 06:48:27 +00:00
Viktor Szakats
d09ba62c09 2011-02-11 00:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/base64d.c
    ! HB_BASE64DECODE(): Forgot to return sized buffer in recently 
      added C version of this function.
    ; Please review and/or stree-test this function.
2011-02-10 23:11:16 +00:00
Przemyslaw Czerpak
59b05913ea 2011-02-08 14:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/tbrowse.prg
    ! set default minimal number of visible rows to ::rowpos() when
      ::configure() method is called - clipper compatibility fix.
2011-02-08 13:36:59 +00:00
Przemyslaw Czerpak
ccd1b81241 2011-02-08 09:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwvt/gtwvt.c
    * redefine [GS]etWindowLongPtr() -> [GS]etWindowLong() in one place only
      Please verify it with MSC builds.
2011-02-08 08:02:46 +00:00
Viktor Szakats
cae0a25d90 2011-02-07 22:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/3rd/zlib/Makefile
    ! Fixed pocc64 related change in 2011-02-01 16:59 UTC+0100 Viktor Szakats
      Which broke zlib in harbour dll on all win platforms.

      Unfortunately pocc64 is broken (6.5 even) due to bugs in the compiler,
      so I _very strongly suggest_ to take out pocc64 from tests,
      but at least not use HB_BUILD_CONTRIB_DYN=yes, when building
      it.

  * src/rtl/base64d.c
    * Copyright header tweak.
2011-02-07 21:46:30 +00:00
Przemyslaw Czerpak
649b7d02d5 2011-02-07 14:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gttrm/gttrm.c
    ! fixed typo in key escape sequence

  * harbour/include/hbsocket.h
  * harbour/src/rtl/hbsocket.c
    + added new C function:
         char * hb_socketGetHostName( const void * pSockAddr, unsigned len );

  * harbour/src/rtl/hbsockhb.c
    + added new PRG function:
         HB_SOCKETGETHOSTNAME( <aAddr> ) --> <cHostName>
2011-02-07 13:43:38 +00:00
Viktor Szakats
4d140dc2d6 2011-02-03 22:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    * Renames in new path/fn handling functions.
      * HB_FNAMEDIRGET()     -> HB_FNAMEDIR()
      * HB_FNAMENAMEGET()    -> HB_FNAMENAME()
      * HB_FNAMENAMEEXTGET() -> HB_FNAMENAMEEXT()
      * HB_FNAMEEXTGET()     -> HB_FNAMEEXT()
      * HB_FNAMEEXTDEF()     -> HB_FNAMEEXTSETDEF()

  ; Patch from Tamas:

  * src/rtl/hbcom.c
    + adds minix serial device names to hbcom

  * utils/hbmk2/hbmk2.prg
    ! Fixed RTE regression in previous recent minix patch.

  * config/dos/djgpp.mk
    ! Applied previous C++ gcc flag patch also to djgpp.
2011-02-03 21:44:01 +00:00
Viktor Szakats
e974cbc2fc 2011-02-03 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
  * contrib/xhb/xhb.hbp
  * contrib/3rd/sqlite3/sqlite3.hbp
  * contrib/hbmzip/3rd/minizip/minizip.dif
  * contrib/hbmzip/3rd/minizip/ioapi.h
  * INSTALL
    ; Further Minix patch from Tamas:
    * contains small touchups to src/rtl/hbsocket.c to bring the previous
      modifications in line with the rest, plus typo fixes
    * disables contrib/xhb until minix gets the features needed
    * disables contrib/3rd/sqlite3, pending investigation
    * makes contrib/hbmzip work
    * adds some notes to INSTALL
2011-02-03 17:17:27 +00:00
Viktor Szakats
530f92449e 2011-02-03 13:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    * HB_PATHMAKEABSOLUTE() swapped two input parameters. Now: ( <PathAbs>, <PathRel> )
    * HB_PATHMAKEABSOLUTE() renamed to HB_PATHJOIN()
    * HB_PATHMAKERELATIVE() 3rd (<lForceRelative>) parameter default changed to .T.
    * HB_PATHMAKERELATIVE() renamed to HB_PATHRELATIVIZE()
    * HB_DIRADDPATHSEP() renamed to HB_DIRSEPADD()
    * HB_DIRDELPATHSEP() renamed to HB_DIRSEPDEL()
    ; HB_PATHNORMALIZE() name finalized

  * contrib/hbide/idemisc.prg
    - Deleted unused hbmk2_PathMakeRelative()
2011-02-03 12:58:47 +00:00
Przemyslaw Czerpak
a504a1e2c9 2011-02-03 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
    * added workaround to pacify warning in some winsock header files
      defining SOCKET as signed integer
2011-02-03 12:32:36 +00:00
Viktor Szakats
93e1f182c4 2011-02-03 09:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbatomic.h
  * include/hbfloat.h
  * src/vm/task.c
  * src/common/hbgete.c
  * src/common/hbver.c
  * src/common/hbprintf.c
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/hbsocket.c
  * utils/hbmk2/hbmk2.prg
  * config/detplat.mk
  * config/global.mk
  * config/detect.mk
  + config/minix
  + config/minix/libs.mk
  + config/minix/gcc.mk
  + config/minix/ack.mk
  + config/minix/global.mk
    + Added Harbour port for minix 3 operating system.
    ; Created by Tamas Tevesz. Many thanks!
2011-02-03 08:20:28 +00:00
Viktor Szakats
0938c26a1e 2011-02-01 16:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
    ! Fixed to build with pocc after recent png update.

  * src/rtl/hbfilehi.prg
    * Comments.
2011-02-01 15:07:13 +00:00
Przemyslaw Czerpak
0469427295 2011-02-01 03:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashfunc.c
  * harbour/src/vm/hashes.c
    * moved HB_HASH_RESORT setting to avoid potential problems when some
      3-rd party code didn't set it correctly.

  * harbour/src/rtl/itemseri.c
    ! fixed restoring hash arrays with strict order - they were not resorted
2011-02-01 02:34:25 +00:00
Viktor Szakats
b96ebc81ea 2011-01-31 22:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbfilehi.prg
    + PATHNORMALIZE(): Will now strip double pathseps, except the 
      UNC root ones. I hope. Pls make tests.
2011-01-31 21:51:02 +00:00
Viktor Szakats
a0e44fe17f 2011-01-31 22:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * src/rtl/hbfilehi.prg
    ! HB_DIRADDPATHSEP() fixed to not add pathsep to plain dirspec.
    ! HB_DIRDELPATHSEP() fixed to not remove double pathspec from UNC root.
    ! Fixed to work if HB_OSDRIVESEPARATOR()'s length is not 1:
      HB_PATHMAKERELATIVE(), HB_DIRUNBUILD(), HB_DIRDELPATHSEP().
      (QUESTION: is this a valid possibility, or is this over-design?)
    + Added TODO to HB_CWD() to also be able to change dir.
      This will require adding Harbour versions of DIRCHANGE() and
      DISKCHANGE(), or moving the implementation to C level.
      (possibly the latter)
    - Deleted HB_FNAMEDIREXTSET(). Doesn't satisfy a general need.
2011-01-31 21:29:51 +00:00
Viktor Szakats
f3f1d04f80 2011-01-31 16:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbfilehi.prg
    % Minor optimization, cleanups.

  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    * Cleaned PathProc() to have the name PathMakeAbsolute().
      Deleted duplicate copies under different names.
2011-01-31 15:14:54 +00:00
Viktor Szakats
c7a2b185d6 2011-01-31 15:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/dirdrive.c
    + Added HB_DIRCREATE(), which is same as MAKEDIR() C5.3 function,
      but it's always available, not just when HB_COMPAT_C53 is enabled.
    + Added HB_DIRDELETE(), which is same as DIRREMOVE() C5.3 function,
      but it's always available, not just when HB_COMPAT_C53 is enabled.

   * contrib/hbnetio/tests/netiotst.prg
   * contrib/hbnetio/tests/netiot03.prg
   * contrib/hbfimage/tests/fitest.prg
   * contrib/hbide/idesaveload.prg
   * utils/hbmk2/hbmk2.prg
   * utils/hbrun/hbrun.prg
   * tests/wcecon.prg
   * tests/flink.prg
   * bin/hb3rdpat.hbs
   * examples/hbdoc2/gentpl.prg
     * Replaced MakeDir() with universally available hb_DirCreate().
     ; TODO: same in config/postinst.hbs (delayed to avoid a million
             false bug reports)

  * src/rtl/Makefile
  + src/rtl/hbfilehi.prg
    + Added generic file/dir/path handling functions.
      They are taken from hbmk2 code, added parameter checking,
      did two minor change to DirBuild() to be generic,
      renamed to have HB_ prefix.
      Please note the parameter list and any details are
      subject to change yet, IOW these APIs are not yet finalized:

         hb_cwd() -> <cPath>
         hb_PathNormalize( <cPath> ) -> <cPath>
         hb_PathMakeAbsolute( <cPathRel>, <cPathAbs> ) -> <cPath>
         hb_PathMakeRelative( <cPathBase>, <cPathTarget>, <lForceRelative> ) -> <cPath>
         hb_DirAddPathSep( <cDir> ) -> <cDir>
         hb_DirDelPathSep( <cDir> ) -> <cDir>
         hb_DirBuild( <cDir> ) -> <lSuccess>
         hb_DirUnbuild( <cDir> ) -> <lSuccess>
         hb_FNameDirGet( <cFileName> ) -> <cDir>
         hb_FNameNameGet( <cFileName> ) -> <cName>
         hb_FNameNameExtGet( <cFileName> ) -> <cNameExt>
         hb_FNameExtGet( <cFileName> ) -> <cExt>
         hb_FNameExtDef( <cFileName>, <cDefExt> ) -> <cFileName>
         hb_FNameExtSet( <cFileName>, <cExt> ) -> <cFileName>
         hb_FNameDirExtSet( <cFileName>, <cDirNew>, <cExtNew> ) -> <cFileName>

    ; TODO: Review, clean interface.
    ; TODO: Use these functions in .hbs files, utils, hbide.

  * include/harbour.hbx
    * Updated.

  * utils/hbmk2/hbmk2.prg
    * One internal function renamed.
2011-01-31 14:49:20 +00:00
Viktor Szakats
396ad654d2 2011-01-31 00:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
    + Added client address filtering engine for both data and
      management interface. It will do quick match against
      IP, then wildcard match against IP, then quick host name match,
      wildcard hostname match. Block filter has priority over
      allow filter. It's possible to control via management RPC,
      console UI not yet extended to use it. A lot of other
      TODO is quickly generated by this feature, f.e. making
      settings persistent, supporting IP subnet masks, etc.
      I didn't test this at all, pls do.

  * src/rtl/strmatch.c
    ! Typo in comment.
2011-01-31 00:00:27 +00:00
Viktor Szakats
3742c1f6f6 2011-01-30 20:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/Makefile
  - src/rtl/base64.prg
  + src/rtl/base64d.c
    + Replaced HB_BASE64DECODE() with an optimized C implementation.
      The core code is borrowed from libb64 project
      (http://sourceforge.net/projects/libb64) and has been places
      to public domain by author Chris Venter.
      I've reformatted the code and made some minor modifications.
      I had used the Harbour license for the whole file.
      This code is 50-100 times faster than old Harbour code doing
      the same job. Please review it, especially the buffer size
      calculation.
      BTW the C code uses a unique trick called 'Duff's device'.
2011-01-30 19:00:54 +00:00
Viktor Szakats
fd56026109 2011-01-30 15:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/listbox.prg
    ! LISTBOX(): Fixed RTE (and 5.3 incompatibility) when 
      non-logical/non-NIL type is passed as 5th parameter.
      This makes the ListBox() example included in 5.3 NG behave 
      exactly the same in Harbour as in C5.3. (Yes, the 
      example passes wrong parameter, plus it has a compiler 
      stopping typo, and it still RTEs even after the fix, 
      so better find some better example.)
2011-01-30 14:39:55 +00:00
Viktor Szakats
8a16d1405a 2011-01-30 00:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/listbox.prg
    ! Fixed casing in some words in license gone wrong in a very 
      old reformatting session.
2011-01-29 23:28:17 +00:00
Viktor Szakats
045014a57f 2011-01-30 00:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/listbox.prg
    ! _LISTBOX_(): Fixed very old bug (can't access ViewVC ATM, but around ~r7550)
      causing incompatibility with C5.3 regarding IsOpen initial value. It was
      wrongly initialized by parameter what is now correctly renamed to lScrollBar.
      Was wrongly named lIsOpen before this fix.
    % Don't pass default style value to ScrollBar()
2011-01-29 23:22:39 +00:00
Viktor Szakats
8874af4808 2011-01-29 16:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/einstvar.prg
  * src/rtl/einstv52.prg
    * Fixed to use manifest constants. Two more.
2011-01-29 15:33:49 +00:00
Viktor Szakats
3572482250 2011-01-29 16:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/listbox.prg
    * Internal var renamed to reflect its type.

  * src/rtl/einstvar.prg
  * src/rtl/einstv52.prg
    * Fixed to use manifest constants.

  * utils/hbrun/hbrun.prg
    ! Fixed to allow case-insensitive match for headers on 
      non-*nix platforms.
2011-01-29 15:26:56 +00:00
Viktor Szakats
888e666f9c 2011-01-27 10:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/tget.prg
    * Formatting.

  * contrib/hbnetio/utils/netiosrv/netiocui.prg
    + Added some SETs.
2011-01-27 09:22:02 +00:00
Przemyslaw Czerpak
5110687827 2011-01-13 10:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/stuff.c
    * minor modification which should pacify warnings in some compilers

  * harbour/src/rtl/gtgui/gtgui.c
    * removed unnecessary assignment to pacify BCC warning

  * harbour/contrib/hbxdiff/hbxdiff.c
    ! fixed file handle to pointer casting - on some platforms/C compilers
      old code could cause compile time warnings or even errors
2011-01-13 09:44:53 +00:00
Przemyslaw Czerpak
eff6876f82 2011-01-10 22:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtgui/gtgui.c
    * use MB_ABORTRETRYIGNORE instead of MB_RETRYCANCEL only when defined
      by default and program is executed in W2K or newer Windows version
2011-01-10 21:35:54 +00:00
Przemyslaw Czerpak
13b7273d44 2011-01-10 20:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtgui/gtgui.c
    + added basic support for redirecting ALERT() to MessageBox() in
      MS-Windows GTGUI builds. Please remember that MessageBox() supports
      only few predefined buttons so it's not possible to show all user
      options. Anyhow it should be enough to present error messages
      generated by default error handler.
2011-01-10 19:03:02 +00:00
Przemyslaw Czerpak
75a272cf20 2011-01-08 19:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/filesys.c
    ! fixed function name in HB_TRACE() message

  * harbour/src/rdd/sdf1.c
  * harbour/src/rdd/delim1.c
    * add CHR(26) at the end of COMMA and SDF files only when _SET_EOF is .T.
2011-01-08 18:26:10 +00:00
Przemyslaw Czerpak
cb9a4d5af8 2011-01-08 03:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/filesys.c
    + added new macros HB_WIN_IOREAD_LIMIT and HB_WIN_IOWRITE_LIMIT
      They are used to define maximal size of single IO read and
      write operations. In Win64 builds they are set by defauly
      to HB_U32_MAX. It's possible to rebuild Harbour with above
      macros setting some smaller limits.
2011-01-08 02:27:54 +00:00
Przemyslaw Czerpak
2be18a9c27 2011-01-05 10:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbproces.c
    ! fixed hb_fsProcessExec() in DOS, OS2 and WinCE builds and 
      hb_fsProcessOpen() in OS2 builds to close handles open for
      stdin, stdout and stderr communication
2011-01-05 09:28:47 +00:00
Przemyslaw Czerpak
1363a5c8fb 2010-12-23 22:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/fieldbl.prg
    ! fixed FieldBLock() and FieldWBLock() to be CA-Cl*pper compatible
      (they should return NIL for field names which are not valid
      identifiers and generate RTE during evaluation if field does
      not exist)
2010-12-23 21:40:45 +00:00
Przemyslaw Czerpak
8f2656c604 2010-12-21 17:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprop.h
    * removed unused declaration

  * harbour/src/rtl/filesys.c
    * replaced ULONG_MAX used as 32 bits mask with 0xFFFFFFFF

  * harbour/src/vm/macro.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/src/rdd/dbffpt/dbffpt1.c
    * pacified few MSVC warnings
2010-12-21 16:17:26 +00:00
Przemyslaw Czerpak
058d080c64 2010-12-17 02:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    * removed dummy assignment

  * harbour/src/lang/msgpl852.c
  * harbour/src/lang/msgplmaz.c
  * harbour/src/lang/msgpliso.c
  * harbour/src/lang/msgplwin.c
    ! fixed one message translation

  * harbour/config/dos/watcom.mk
  * harbour/config/win/watcom.mk
  * harbour/config/linux/watcom.mk
  * harbour/config/os2/watcom.mk
    * disable explicitly some Open Watcom warnings in 3rd party code
      which we can safely ignore when HB_BUILD_WARN='no'

  * harbour/utils/hbmk2/hbmk2.prg
    * disable explicitly some Open Watcom warnings in 3rd party code
      which we can safely ignore when warning level is low
2010-12-17 01:00:28 +00:00
Viktor Szakats
2cb717f820 2010-12-11 17:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    + Attempt to enable HB_GTI_PALETTER support for MSVC 2005/2008
      combined with Longhorn SDK. (also reverted prev change)
      Please retest in above environments, plus old MSVC and
      BCC 5.9.

  * config/hbc.cfg
    + More tweaks to make it Harbour-ready.
2010-12-11 16:55:05 +00:00
Viktor Szakats
6785f0b732 2010-12-11 16:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    ! Disabled HB_GTI_PALETTE support for MSVC 2005/2008
      versions combined with certain (older) SDK versions.
      The symptom is missing NDDI_* detection support, yet
      present CONSOLE_SCREEN_BUFFER_INFOEX structure.
      (Most pbly SDK 6.x. SDK 7.0a is fine)
      Thanks to Andi for the tests.

  * config/hbc.cfg
    + Few tweaks to make it more Harbour compliant.
      F.e. for hblzf.c it now generated perfect result.

  * contrib/hblzf/hblzf.c
  * contrib/hblzf/tests/test.prg
    ! Added missing EOL at EOF.
    ! Restored my formatting fixes from previous commits.
    ! Refixed wrong formatting. (for the ~5th time)
    - Deleted synonym added in previous commit.
      I suggest to write a few words of reasoning for
      changes not having obviously apparent reason.
      It's brand new lib, so we should decide about _one_
      (the best) initial name and stick to it. Let's use
      synonyms if we later find out that we did some
      mistakes in the past, or other special occasion.
2010-12-11 15:21:47 +00:00
Viktor Szakats
eb65ad9c48 2010-12-11 11:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwin/gtwin.c
    + Added HB_GTI_PALETTE support to GTWIN for all non-msvc 
      compilers.
      (solution is hackish so it may need revision as future
      non-msvc, non-watcom compiler versions implement this
      feature in their own WinAPI headers.
2010-12-11 10:18:16 +00:00
Przemyslaw Czerpak
3a71036691 2010-12-05 01:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/tests/cpinfo.prg
    + added support to define CPs using different letter case sorting
      in human readable form. Now it's possible to use:
         // uppers before lowers: ABCDE...abcde...
         #define HB_CP_CSSORT    HB_CDP_CSSORT_UPLO
         // uppers and lowers are mixed: AaBbCcDdEe....
         #define HB_CP_CSSORT    HB_CDP_CSSORT_MIXED
         // ignore case
         #define HB_CP_CSSORT    HB_CDP_CSSORT_IGNORE
2010-12-05 00:04:47 +00:00
Viktor Szakats
1e8ce2e200 2010-12-04 12:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    ! Fixed typo breaking MS-DOS builds.
2010-12-04 11:54:22 +00:00
Viktor Szakats
25bffb2a7d 2010-12-02 21:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbinet.c
    * Do not set SO_EXCLUSIVEADDRUSE on Windows in
      HB_INETSERVER(), HB_INETDGRAMBIND() calls.
    ; NOTE: INET API is compatibility API, it's deprecated and
            not recommended. Use SOCKET API instead, where
            you have full control of above options and it's
            also much superior API.
2010-12-02 20:42:33 +00:00
Viktor Szakats
514c3a2d00 2010-12-02 14:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * include/hbsocket.h
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/hbsockhb.c
    + Added hb_socketSetExclusiveAddr() on .c level.
    + Added hb_socketSetExclusiveAddr() on .prg level.
    * hb_socketSetReuseAddr() cleaned from SO_EXCLUSIVEADDRUSE (Windows-only)
      logic.
    * Changed HB_INETSERVER(), HB_INETDGRAMBIND() to call
      hb_socketSetExclusiveAddr()(). We may delete these if they
      cause problems on some Windows platforms, though we must
      absolutely use this option (for security reasons) in every
      server component, if Windows host supports it.
    ; TODO: Call hb_socketSetExclusiveAddr() from hbnetio server,
            hbhttpd server.

  * include/hbcpage.hbx
  * src/codepage/Makefile
  + src/codepage/cpcs852c.c
  * src/codepage/cpsk852c.c
  - src/codepage/cpcskam.c
  + src/codepage/cpcskamc.c
  - src/codepage/cpskkam.c
  + src/codepage/cpskkamc.c
    ! Fixed SK852C to be fully Clipper compatible. (generated with cpinfo)
    ! Added Clipper compatible CS852C CP. (generated with cpinfo)
    * SK/CS Kamenicky CP moved to Clipper compatibility status.
      Updated to be Clipper compatible. (generated with cpinfo)
      INCOMPATIBLE. Pls update CP names if you used these.
      Thanks to Jaroslav Janik for the help.
      Please test all these.
2010-12-02 13:44:51 +00:00
Viktor Szakats
a623c4232f 2010-11-30 08:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    ! hb_socketSetReuseAddr() changed on win platforms to use
      SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR. See http://paste.lisp.org/display/59751.
      Rough patch, maybe the logic isn't applied to the right place,
      maybe extra win version checks are required, please test it
      and patch it further if needed.

  * src/rtl/hbinet.c
    * s_inetBind() changed back to call hb_socketSetReuseAddr() also
      on win platforms.

  * contrib/hbwin/tests/testole.prg
    + Added shortcut creation example.

  * contrib/hbide/idemisc.prg
    ! Fixed HBIDE_PATHNORMALIZED() to _never_ lowercase passed
      filename. As discussed very long time ago, such behavior
      is not portable. For comparison purposes HB_FILEMATCH()
      should be used, for other purposes _no_ change should be
      done by hbide in filename casing. Ever.
      This is brute force fix only applied to low-level code.
      It will cause regressions on the higher level, which have
      to be fixed.
    ; TODO: Delete this second parameter from all calls, now
            the value is ignored.
    ; TOFIX: Review all
             HBIDE_PATHNORMALIZED() and
             HBIDE_PATHNORMALIZED( p, .T. )
             calls if they are used in comparison context and change
             caller code to use HB_FILEMATCH().
    ; TOFIX: All current code which uses LOWER()/UPPER() to
             "normalize" filename before comparison with '=='
             operator should also be changed to HB_FILEMATCH().
             (except for cases where extension is used in the
             sense of file type).
    ; TOFIX: Rest of cases where LOWER()/UPPER() is applied to
             filenames.
    ! Fixed HBIDE_PATHFILE() to never uppercase drive letter.
      It's not strictly required since all so far known systems
      supporting drive letter are case insensitive, but it's
      nevertheless not the job of hbide to reformat pathnames.

  * contrib/hbide/ideactions.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
    ! Fixed some code to use HB_FILEMATCH() instead of unconditional
      uppercasing/lowercasing. Please review and finish this modification, 
      there might be more hidden places and might have overlooked anything 
      in this patch.
2010-11-30 07:46:52 +00:00
Przemyslaw Czerpak
f65ef41176 2010-11-29 15:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    ! fixed character sort weight calculation for digraphs
2010-11-29 14:42:51 +00:00
Viktor Szakats
4a22ee33f7 2010-11-26 13:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * src/common/hbver.c
    + Added hb_iswin2k3().

  * src/rtl/hbsocket.c
    + Comment.
    ; TOFIX: Use SO_EXCLUSIVEADDRUSE on Windows.
             See: http://paste.lisp.org/display/59751

  - examples/udpds
  + contrib/hbmisc/tests/udpdstst.prg
  + contrib/hbmisc/udpds.prg
  * contrib/hbmisc/hbmisc.hbp
    + Moved UDPDS functions to hbmisc lib. Added hb_ prefix to names,
      plus formatted with hbformat.

  * contrib/hbhttpd/tests/webapp.prg
    * Formatting.

  ; Patch from Tamas:

  * config/bsd/gcc.mk
  * config/bsd/clang.mk
    * switch bsd to -fPIC, otherwise not even core builds (on 8.1/amd64)
    * while there, bring bsd/gcc.mk in line with linux/gcc.mk (now they
      are identical)
    * ditto for bsd/clang.mk

  * contrib/hbqt/hbqt_common.hbc
    * for hbqt, switch static supc++ to dynamic stdc++, otherwise dyn hbqt
      doesn't build. this is because on at least fbsd supc++ is apparently
      not pic; but switching from static supc++ to dynamic stdc++ easily
      fixes it.
2010-11-26 12:46:14 +00:00
Przemyslaw Czerpak
b244822532 2010-11-25 11:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbinet.c
    * restored old behavior of listen sockets used by hb_inet*() functions
      for non Windows platforms (SO_REUSEADDR)
2010-11-25 10:51:56 +00:00
Przemyslaw Czerpak
69bab2430e 2010-11-24 18:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/fstemp.c
    * enabled mkstemp() usage in *nix OpenWatcom 1.8 and newer builds

  * harbour/src/rtl/hbsocket.c
    * disabled getpeername() and shutdown() usage in OpenWatcom *nix
      builds only for OpenWatcom <= 1.9

  * harbour/src/rtl/diskspac.c
    * minor formatting

  * harbour/src/rtl/hbproces.c
    * enabled sysconf() hack only for OpenWatcom <= 1.9

  * harbour/src/rtl/hbcom.c
    * disabled OpenWatcom *nix builds only for OpenWatcom <= 1.9

  ; it's possible that above modifications will cause error if problems
    are not fixed in newer OpenWatcom releases but in such case we can
    simply change to OW number in #if condition.
2010-11-24 17:20:18 +00:00
Przemyslaw Czerpak
d3b7a3a61b 2010-11-21 17:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    * cover s_fThreadInit declaration by HB_MT_VM macro

  * harbour/src/rtl/hbsocket.c
    ! added missing const to 1-st parameter of hb_inet_ntoa()
2010-11-21 16:35:24 +00:00
Viktor Szakats
e20e7bc4d9 2010-11-21 12:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbodbc/odbc.c
    ! SQLEXECUTESCALAR() marked with HB_LEGACY_LEVEL3. Do no use this
      function. It's not a direct ODBC function wrapper and it
      internally calls SQLGetData with a fixed SQL_CHAR type, which
      is wrong.
    ! SQLGETDATA() fixed to default some parameters properly (so far
      it was checking for zero value instead of looking at Harbour
      type). Potentially incompatible change.
    ! SQLROWCOUNT() fixed to always return value by reference.
      (it's not wrapper's job to check success value and act anything
      depending on it).
    ; TOFIX: There are some more wrappers which do that: SQLDESCRIBECOL(), 
             SQLCOLATTRIBUTES(), SQLGETCONNECTATTR(), SQLGETSTMTATTR().
    % SQLROWCOUNT(), SQLGETINFO(), SQLNUMRESULTCOLS(), SQLCOLATTRIBUTE(): Minor optimization.
    ! SQLGETINFO(), SQLNUMRESULTCOLS(), SQLGETSTMTATTR(), SQLSETCONNECTATTR(),
      SQLGETCONNECTATTR(), SQLDESCRIBECOL(): Setting initial value to parameter retrieved by reference.
    ! SQLDESCRIBECOL(), SQLCOLATTRIBUTE(): fixed to not crash if wrong length is passed.

  * contrib/hbodbc/todbc.prg
    % TODBC:LoadData() got some minor optimizations.
    * TODBC:LoadData() changed to be able to retrieve fields with
      length of 256, instead of 64. This is still hack and should
      be fixed to retrieve full length.
    ! TOFIX: TODBC:LoadData() to pull data in its original type
             instead of pulling everything as string, then trying
             to convert it back to original type.

  * src/rtl/dircmd.prg
    ! Typo in comment.
2010-11-21 11:38:39 +00:00