Commit Graph

211 Commits

Author SHA1 Message Date
Viktor Szakats
78fcd3ab59 2009-12-21 00:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added new trace functions.
    ; TODO: Use these new functions in HBQT, HBXBP.

  * contrib/hbwin/win_dll.c
    ! Fix for OpenWatcom. Seems to require LPVOID in asm code.

  * contrib/hbqt/hbqt_destruct.cpp
    * Minor formatting. ('return( x )' -> 'return x', return is not a function)
    + Added 'TODO:' to todo text.
    + Added TOFIX to hb_parptr() usage. Without reference counting this is 
      still dangerous.
      Probably some mechanisms would be needed to count references when 
      attaching one GC collected pointer to another object, and decrement 
      references when disconnecting or deleting holder object. Without 
      this, there will always be a possibility that some objects refer 
      to deleted objects. Unless I'm missing some logic which already that.
      Probably "delayed release" is the mechanism which is trying to 
      solve that problem at the moment.

  * contrib/hbwin/wapi_winbase_mutex.c
    * Minor formatting (superfluous brackets)
2009-12-21 00:07:24 +00:00
Viktor Szakats
32bf41944d 2009-12-11 10:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added HB_THREADONCEINIT().

  * contrib/hbqt/hbqt.ch
  * contrib/hbxbp/xbp.ch
    ! Moved XBP specific macro to HBXBP header.

  * contrib/hbqt/tests/demoqt.prg
    ! Deleted no more needed init calls.

  * contrib/hbqt/hbqt_events.cpp
    + Added TOFIX about GC collected pointer stored in low level 
      structure. (source of GPF).

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/legacyco.c
    - Deleted now unnecessary '( LP[C]TSTR )' casts.
    + Cleaned const usage in WIN_PRINTERSETDEFAULT().
      F.e. OpenPrinter() has apparently wrong winapi declaration, 
      so a cast must have been added.

    ; TOFIX: CreateProcessW() second parameter has to be a read/write 
             buffer. Przemek, do you have an idea how to solve that 
             the cleanest way?
             (for now I kept a cast, assuming that a buffer is 
             created by Harbour conversion API, but that's not 
             something it guarantees in the future.)
2009-12-11 10:01:12 +00:00
Viktor Szakats
b7d47cd284 2009-12-02 11:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/philes.c
  * include/hbextern.ch
    + Added HB_FISDEVICE()

    ; NOTE: Didn't add anything to hbmk2 yet, as after testing I found it 
            weird and unusual that the output is different when redirected, 
            but we may think of some other solution, like user option or else.
2009-12-02 10:44:06 +00:00
Viktor Szakats
b69e1a68c2 2009-12-02 01:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/set.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/hbgtcore.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/gtsln.h
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hbdbsort.c
  * src/rdd/sdf1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/hsx/hsx.c
  * src/rdd/dbffpt/dbffpt1.c
  * doc/en-EN/lang.txt
  * include/hbrdddbf.h
  * include/hbapicdp.h
  * include/hbextern.ch
  * contrib/xhb/dbf2txt.c
  * contrib/gtqtc/gtqtc.cpp
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * examples/hbdoc/examples/core_es/lang.txt
    - Deleted HB_CDP_SUPPORT_OFF.
2009-12-02 00:57:48 +00:00
Viktor Szakats
f4c1fe62e5 2009-12-01 08:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/philes.c
  * src/rtl/philes53.c
  * include/hbextern.ch
    + Added HB_FSETDEVMODE(). Documented, always available
      equivalent of C5.3 undocumented function FSETDEVMOD().

  * utils/hbmk2/hbmk2.prg
    * Changed to use HB_FSETDEVMODE().
2009-12-01 07:58:05 +00:00
Viktor Szakats
4715be9ddc 2009-11-29 07:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    ! HB_SETCODEPAGE() reference also guarded with HB_LEGACY_LEVEL2.

  * tests/wcecon.prg
  * tests/gtkeys.prg
  * examples/terminal/trm_cli.prg
    * HB_SETCODEPAGE() -> HB_CDPSELECT().

  * contrib/hbwin/win_prn2.c
    + Added comment.

  * contrib/hbwin/legacy.prg
    + Guarded with HB_WIN_LEGACY_LEVEL_OFF.

  * contrib/hbmysql/mysqlold.c
  * contrib/hbodbc/odbcold.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/legacyco.c
  * contrib/hbwin/legacycp.c
  * contrib/hbwin/legacycv.c
  * contrib/hbwin/legacy.prg
    + Guarded with HB_LEGACY_LEVEL3.
      This means these will be removed after major release.
      Please upgrade your code to use new function names.
2009-11-29 06:59:59 +00:00
Przemyslaw Czerpak
fd4bd6208f 2009-11-27 18:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbextern.ch
    + added new .prg function:
         HB_UTF8ASC( <cUtf8> ) -> <nUnicode>

  * harbour/contrib/hbwin/olecore.c
    % removed redundant call to SafeArrayGetDim()
2009-11-27 17:40:49 +00:00
Przemyslaw Czerpak
7ec5d4cc53 2009-11-08 02:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/set.c
    ! fixed small typos in returned values (FALSE instead of NULL and 0)

  * harbour/src/vm/estack.c
    * make calling hb_stackTotalItems() safe in MT mode when stack is not
      initialized - now this function can be used to check if HVM stack
      exists and is initialized in ST and MT mode

  * harbour/src/rtl/errintlo.c
    ! fixed at least 4 GPF traps exploited when hb_errInternal() was called
      and HVM stack was not initialized

  * harbour/include/Makefile
  + harbour/include/hbcdpreg.h
  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new CDP API which fixes many errors and limitations in old
      implementation.
      Warning !!! some very serious bugs in national sorting have been
                  fixed. It may cause that old indexes using some national
                  sorting will not be compatible. Please rebuild existing
                  indexes.

  * harbour/src/vm/itemapi.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddsql/sqlmix.c
    * updated to work with new CDP API
    TOFIX: update adsx.c and sqlmix.c to use hb_cdpcmp() which resepcts
           sorting with accented and mulitybyts characters.
           Mindaugas, can you update above code?

  * harbour/src/codepage/cpbg866.c
  * harbour/src/codepage/cpbgiso.c
  * harbour/src/codepage/cpbgmik.c
  * harbour/src/codepage/cpbgwin.c
  * harbour/src/codepage/cpcs852.c
  * harbour/src/codepage/cpcsiso.c
  * harbour/src/codepage/cpcskam.c
  * harbour/src/codepage/cpcswin.c
  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
  * harbour/src/codepage/cpel737.c
  * harbour/src/codepage/cpeliso.c
  * harbour/src/codepage/cpelwin.c
  * harbour/src/codepage/cpes850.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpesiso.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/cpeswin.c
  * harbour/src/codepage/cpeswinc.c
  * harbour/src/codepage/cpeswinm.c
  * harbour/src/codepage/cpfr850.c
  * harbour/src/codepage/cpfriso.c
  * harbour/src/codepage/cpfrwin.c
  * harbour/src/codepage/cphr437.c
  * harbour/src/codepage/cphr852.c
  * harbour/src/codepage/cphrwin.c
  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphu852s.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuisos.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cphuwins.c
  * harbour/src/codepage/cpit437.c
  * harbour/src/codepage/cpit850.c
  * harbour/src/codepage/cpitisb.c
  * harbour/src/codepage/cpitiso.c
  * harbour/src/codepage/cpitwin.c
  * harbour/src/codepage/cpltwin.c
  * harbour/src/codepage/cppl852.c
  * harbour/src/codepage/cppliso.c
  * harbour/src/codepage/cpplmaz.c
  * harbour/src/codepage/cpplwin.c
  * harbour/src/codepage/cppt850.c
  * harbour/src/codepage/cpptiso.c
  * harbour/src/codepage/cpro852.c
  * harbour/src/codepage/cproiso.c
  * harbour/src/codepage/cprowin.c
  * harbour/src/codepage/cpru866.c
  * harbour/src/codepage/cpruiso.c
  * harbour/src/codepage/cprukoi.c
  * harbour/src/codepage/cpruwin.c
  * harbour/src/codepage/cpsk852.c
  * harbour/src/codepage/cpskiso.c
  * harbour/src/codepage/cpskkam.c
  * harbour/src/codepage/cpskwin.c
  * harbour/src/codepage/cpsl437.c
  * harbour/src/codepage/cpsl852.c
  * harbour/src/codepage/cpsliso.c
  * harbour/src/codepage/cpslwin.c
  * harbour/src/codepage/cpsrwin.c
  * harbour/src/codepage/cpsv850.c
  * harbour/src/codepage/cpsvclip.c
  * harbour/src/codepage/cpsviso.c
  * harbour/src/codepage/cpsvwin.c
  * harbour/src/codepage/cptr857.c
  * harbour/src/codepage/cptriso.c
  * harbour/src/codepage/cptrwin.c
  * harbour/src/codepage/cpua1125.c
  * harbour/src/codepage/cpua866.c
  * harbour/src/codepage/cpuakoi.c
  * harbour/src/codepage/cpuawin.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_6.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/ucnext.c
    * updated for new CP API
    Warning: please test all national CPs. I'm not able to test unknown for
             me national character conditions so it's possible that I made
             something wrong. Additionally current CP API does not have
             some limitations which existed in the old one so now some hacks
             or workarounds can be cleaned. I.e. now all translations are
             done using Unicode tables so it's not necessary to use the
             same number of characters to make them working.
             Updating CP files I've found the following potential problems
             in definitions which I haven't fixed or fixed only partially:

         cpes850c.c - update for new format removing hacks for old CP
                      implementation
         cpesisoc.c  > remove, it's not longer necessary
         cpeswinc.c /
         cpeswinm.c - it is the same as cpesiso.c so it should be removed

         cphu852.c  \
         cphu852s.c  \
         cphuiso.c    > update for new format removing hacks for old CP
         cphuwin.c   /  implementation

         cphuisos.c  > remove, it's not longer necessary
         cphuwins.c /

         cphr437.c  > does it really use CP-437? and ^]\[@~}|{` instead of
         cpsl437.c /  nationalletters or it uses different then 437 CP for
                      7-bit Croatian characters encoding. It's important
                      because without valid unicode table translations will
                      not work.

         cpit437.c  - update for new version if necessary (upper characters)

         cpsv850.c \
         cpsviso.c  > they had ACCENTED_INTERLEAVED but without ACCENTED_EQUAL
         cpsvwin.c /  so this setting was ignored. Now it's not ignored.

         cpsvclip.c - update for new format to be fully not only
                      "almost compatible with Clipper's NTXSWE.OBJ"

      For sure these are not all problems inherited from old CP
      implementation so please verify all existing CPs.

  * harbour/src/codepage/cp_tpl.c
    + added new example for CP definition. Working on new CPs please read
      this description:
         If accented characters need special sorting ( HB_CDP_ACSORT_EQUAL or
         HB_CDP_ACSORT_INTERLEAVE ) then you need to mark the accented
         characters with the symbol '~' before each of them, for example:
            a~_
         If there is two-character sequence, which is considered as one, it
         should be marked with '.' before and after it, for example:
            ... h.ch.i ...
         if such multibyte character has its own Unicode representation then
         this Unicode value can be set using '=' symbol, for example:
            ....h.ch=2A7C.i
         and it will be used in translations.

         The Upper case string and the Lower case string should use the
         same letters. If some characters does not have corresponding upper
         or lower letter then space ' ' can be used as dummy character, for
         example in German CPs there is no upper case 'scharfes S' letter
         so space is used as dummy character.

         HB_CP_LATIN should be 1 if the national alphabet is based on Latin
         otherwise 0

      Please note that now you can use two versions of CP definition.
      The 1-st one which uses human readable form similar to the old CP
      definition and 2-nd which uses directly final CP tables so it
      allows to replicate any conditions which existed in Clipper or
      any other compatible language which uses static tables.
      tests/cpinfo.prg can generate automatically .c files with new CP
      definition in the 2-nd version. Now if user wants to create new
      Harbour CP which is fully Clipper compatible he only has to
      compile and link cpinfo.prg with given national sorting module
      and then execute it with new Harbour CP name as 1-st parameter.
      cp<cpname>.c file is generated which can be added to Harbour
      repository. Optional 2-nd parameter is CP description and 3-rd
      is Harbour Unicode table ID (if not given 437 is used and should
      be updated by user in .c file). This method should definitely
      resolve any problems with creating Clipper compatible CP definition.
      It also allows to easy verify if CP definitions are compatible. It's
      enough to compare generated .c files.

  * harbour/src/codepage/uckam.c
    ! fixed Kamenicky Unicode table definition - it was Mazovia CP :)

  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
    ! fixed CP wrongly encoded CP due to limitations in old CP definition.
      Now it's possible to define different number of upper an lower
      characters (space " " can be used as dummy character) and I used
      it to eliminate hack for 'scharfes S' which does not exists as upper
      case.
      Please clean other CPs which contain similar hacks.

  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cpua866.c
    * removed dummy letters introduced for old translation code

  * harbour/src/rtl/natmsg.c
  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbextern.ch
    + added HB_CDPINFO() function
    * redirected _NATSORTVER() function to HB_CDPINFO()

   To All,
      Please check your national sorting in current version and make
      any updates if necessary or inform me about found problems.
      I've checked that Polish CPs are working fine and all existing
      CPs passes my test program which verified some technical aspects
      of CP implementation. But I cannot verify if this definitions
      satisfy users in different countries.
2009-11-08 01:46:17 +00:00
Przemyslaw Czerpak
dce9013c0f 2009-10-19 22:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    + added HB_TTOD() and HB_DTOT() functions
2009-10-19 20:14:02 +00:00
Przemyslaw Czerpak
c3e0439921 2009-10-17 01:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/Makefile
  + harbour/src/rtl/hbbffnc.c
  * harbour/include/hbextern.ch
    + added PRG functions for BlowFish encryption:
         hb_blowfishKey( <cPass> ) -> <bfKey>
         hb_blowfishEncrypt( <bfKey>, <cData> ) -> <cCryptedData>
         hb_blowfishDecrypt( <bfKey>, <cCryptedData> ) -> <cData>
      On errors above functions return NIL.
      Warning: the size of encrypted data is padded to 64bit (8 bytes)
      so it's bigger then original one.
2009-10-16 23:22:41 +00:00
Francesco Saverio Giudice
0cc5bbb822 2009-10-13 00:21 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/src/rtl/hbini.prg
     * Changed hb_IniString() function name to hb_IniReadStr()
     + Added hb_IniWriteStr() that returns a string from an Ini hash
        hb_iniWriteStr( hIni, cCommentBegin, cCommentEnd, lAutoMain )
         -> cData | NIL
        ! Fixed a previous error in logic in case of hIni with missing MAIN section
  * harbour/include/hbextern.ch
     - Removed hb_IniString() declaration
     + Added hb_IniReadStr() and hb_IniWriteStr() external declarations
  * harbour/tests/parseini.prg
     + Added samples of hb_IniReadStr() and hb_IniWriteStr() functions
2009-10-12 22:22:37 +00:00
Francesco Saverio Giudice
e53db654d2 2009-10-12 22:47 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/include/hbextern.ch
     + Added hb_IniString() external declaration
2009-10-12 20:48:50 +00:00
Viktor Szakats
8e15abc1bd 2009-10-07 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/transtst.prg
  * doc/pp.txt
  * doc/en-EN/string.txt
  * doc/en-EN/terminal.txt
  * doc/en-EN/dbstrux.txt
  * include/hbpp.h
  * include/std.ch
  * include/hbclass.ch
  * include/hbsetup.ch
  * include/hbdefs.h
  * include/dbedit.ch
  * include/hbapigt.h
  * include/hbextern.ch
  * include/hbexprb.c
  * ChangeLog
  * source/pp/ppcore.c
  * source/vm/macro.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/arrays.c
  * source/vm/proc.c
  * source/vm/memvars.c
  * source/vm/arrayshb.c
  * source/vm/memvclip.c
  * source/common/hbverdsp.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/setposbs.c
  * source/rtl/round.c
  * source/rtl/oldbox.c
  * source/rtl/trim.c
  * source/rtl/tpopup.prg
  * source/rtl/einstvau.prg
  * source/rtl/setta.prg
  * source/rtl/transfrm.c
  * source/rtl/browse.prg
  * source/rtl/tget.prg
  * source/rtl/setfunc.prg
  * source/rtl/achoice.prg
  * source/rtl/strzero.c
  * source/rtl/natmsgu.c
  * source/rtl/strtran.c
  * source/rtl/errapiu.c
  * source/rtl/einstvar.prg
  * source/rtl/dbedit.prg
  * source/rtl/einstv52.prg
  * source/rtl/console.c
  * source/rtl/mousehb.c
  * source/rtl/chrasc.c
  * source/rtl/dircmd.prg
  * source/rtl/oldclear.c
  * source/rtl/hbgtcore.c
  * source/rtl/dirdrive.c
  * source/rtl/mlcfunc.c
  * source/rtl/datesx.c
  * source/rtl/accept.c
  * source/rtl/defpathu.c
  * source/rtl/tgetlist.prg
  * source/rtl/input.prg
  * source/rtl/alert.prg
  * source/rtl/tmenuitm.prg
  * source/rtl/shadowu.c
  * source/rtl/tbrowse.prg
  * source/rdd/dbfntx/dbfntx1.c
  * source/rdd/dbdelim.prg
  * source/rdd/rddordu.prg
  * source/rdd/workarea.c
  * source/rdd/dbnubs.c
  * source/rdd/rddinfo.c
  * source/rdd/dbstruxu.prg
  * source/rdd/sdf1.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbcmd.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbdrop.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/dbrename.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/cursor.c
  * contrib/xhb/xhbver.prg
  * contrib/xhb/xhbtrim.c
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_array.prg
  * examples/hbdoc/examples/core_es/dbstrux.txt
  *  examples/hbdoc2/hbdoc2.prg
    * HB_C52_STRICT -> HB_CLP_STRICT
      We use it cover strict Clipper compatibility in general, not 
      just for C5.2.
    * HB_C52_UNDOC -> HB_CLP_UNDOC
      We use it cover Clipper undocumented stuff in general, not 
      just C5.2 version specific ones.
2009-10-07 09:35:33 +00:00
Przemyslaw Czerpak
fd6e8558c0 2009-10-07 00:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/Makefile
  + harbour/source/rtl/hbascii.c
  * harbour/include/hbextern.ch
    + added new .prg functions which operates on pure ASCII strings:
      hb_asciiUpper(), hb_asciiLower(), hb_asciiIsAlpha(),
      hb_asciiIsUpper(), hb_asciiIsLower(), hb_asciiIsDigit()

  * harbour/source/rtl/objfunc.prg
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/treport.prg
  * harbour/source/rtl/tpersist.prg
  * harbour/source/rtl/memoedit.prg
  * harbour/source/rtl/menuto.prg
  * harbour/source/rtl/tgetlist.prg
  * harbour/source/rtl/tclass.prg
    ! use hb_asciiUpper() instead of Upper() to convert identifiers
      and pictures
2009-10-06 22:28:23 +00:00
Przemyslaw Czerpak
1638204a1c 2009-09-15 16:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/rtl/filebuf.c
    + added hb_fileRename()

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + implemented Rename method in NETIO

  * harbour/include/hbapirdd.h
  * harbour/source/rdd/workarea.c
    + added new non workarea method: RENAME()

  * harbour/source/rdd/Makefile
  * harbour/include/hbextern.ch
  * harbour/source/rdd/dbcmd.c
  + harbour/source/rdd/dbrename.c
    + added new .prg function:
         dbRename( <cTable> [,<cIndex>], <cNewName>, ;
                   [<cRDD>], [<nConnect>] ) -> <lOK>
    + added hb_dbRename() - synonym of dbRename()

  * harbour/source/rdd/dbf1.c
    + added support for dbRename() in DBF* RDDs

  * harbour/include/hbrdddbf.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
  * harbour/include/hbusrrdd.ch
  * harbour/source/rdd/usrrdd/usrrdd.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddsql/sqlbase.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/hbbmcdx/hbbmcdx.h
    + updated to compile with new RDD method: RENAME
      TODO: add support for this method to ADS* RDDs
2009-09-15 14:53:23 +00:00
Przemyslaw Czerpak
f2e27f3302 2009-08-17 16:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/Makefile
  + harbour/source/rtl/hbbyte.c
  * harbour/include/hbextern.ch
    + added hb_byteSwap*() functions

  * harbour/contrib/hbtpathy/telepath.prg
    % use hb_byteSwapW() in tp_crc16() function
2009-08-17 14:24:02 +00:00
Viktor Szakats
d518e481c5 2009-07-30 00:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/dateshb.c
    + Added HB_UTCOFFSET() -> <nSecs> core function to return UTC offset
      as signed number in seconds.

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

  * examples/httpsrv/uhttpd.hbp
  - examples/httpsrv/uhttpdc.c
  * examples/httpsrv/uhttpd.prg
    * HB_UTCOFFSET() renamed to UHTTPD_UTCOFFSET() and rewritten as .prg.
    ! Using __PLATFORM__WINDOWS to enable WIN_SYSREFRESH() calls.
2009-07-29 22:46:19 +00:00
Przemyslaw Czerpak
2abefe1b3e 2009-07-27 23:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
    + added socket error codes to HB_IOERRORS

  * harbour/include/Makefile
  + harbour/include/hbsocket.ch
  + harbour/include/hbsocket.h
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/hbsocket.c
    + added new BSD socket functions: hb_socket*(). They should be quite
      close to low level C socket interface with few modifications which
      help to hide some platform differences. Unfortunately we do not use
      autoconf so I had to arbitrary set which features are available
      on some platforms. In practice it means that it reduces portability
      to older OS-es, i.e. it should work with current Linux versions
      but it will not without some modifications in macros used to control
      supported features with older Linuxes using kernel 2.2 or 2.0.
      The same can happen with other *nix ports like Darwin, SunOS, HP-UX
      or with different versions of some Windows compilers. I also do not
      know which functionality is available in OS2 GCC ports and I would
      like to ask OS2 users to make tests and disable not working features.
      We also need tests with HP-UX, Darwin and SunOS.
      IP6 support is enabled only in *nixes. If Windows users are interested
      in IP6 then please add support for it. Most of Windows compilers do
      not support standard POSIX functions so I do not want to make it
      myself using unknown for me API without testing.
      In *nix builds PF_UNIX/PF_LOCAL sockets are also supported.
      Support for other socket types can be easy added if someone is
      interested in them.
      The constant values used in hbsocket.ch are equal to original BSD
      socket definitions. If it's necessary then it's possible to enable
      their translation inside hbsocket.c code though I do not think we
      will find such OS.
      The list of hb_socket*() functions was designed to cover all existing
      functionality in hbinet.c and socket.c. Most of functions supports
      timeout parameter what effectively allows to hide direct select()
      usage.
      Please make test with real applications and report any problems
      with hb_inet*() functions you will find.

  * harbour/source/vm/hvm.c
    * minor cleanup

  * harbour/source/rtl/hbi18n1.c
    * cleaned variable name

  * harbour/source/rtl/hbinet.c
  * harbour/examples/uhttpd2/socket.c
  * harbour/contrib/hbssl/hbssl.c
    * updated to use hb_socket*() functions

  * harbour/include/hbextern.ch
    * enabled HB_INET*() functions in DOS builds - they will simply return
      errors

  - harbour/include/hbapinet.h
    - removed old header file

  * harbour/source/pp/ppcore.c
    ! modified ENDTEXT marker to work also with comments in the same line
      It's more closer to Clipper though intentionally we are not fully
      CA-Cl*pper compatible here.
2009-07-27 21:43:31 +00:00
Viktor Szakats
bbc434f9a2 2009-07-22 17:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu.bat
    ! Added SHLVL=0 to make commands to force native shell
      even if sh shell is found in the PATH (f.e. when msys or
      cygwin is present there, for mingwarm targets, cygwin is
      even required.)

  * external/libhpdf/Makefile
    + Made it compile with mingwarm.

  * include/hbextern.ch
    ! Fixed typo in prev.

  * contrib/hbssl/pem.c
    + Added two new functions. Under testing.
      PEM_READ_BIO_RSAPRIVATEKEY()
      PEM_READ_BIO_RSAPUBLICKEY()
2009-07-22 15:52:10 +00:00
Viktor Szakats
40a7012cb7 2009-07-22 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
  * include/hbextern.ch
  * contrib/Makefile
  * source/rtl/Makefile
  + source/rtl/sha1.c
  + source/rtl/sha1.h
  + source/rtl/hbsha1hm.c
  + source/rtl/sha2.c
  + source/rtl/sha2.h
  + source/rtl/hbsha2hm.c
  + source/rtl/sha1hmac.c
  + source/rtl/sha1hmac.h
  + source/rtl/hbsha1.c
  + source/rtl/sha2hmac.c
  + source/rtl/sha2hmac.h
  + source/rtl/hbsha2.c
  + tests/testsha1.prg
  + tests/testsha2.prg
    * hbcrypt contrib library merged into the core.
2009-07-22 13:53:21 +00:00
Viktor Szakats
a647e930c6 2009-07-19 19:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/Makefile
  + contrib/hbssl/sslerr.c
  + contrib/hbssl/sslx509.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/tests/test.prg
    + Added ERR_*() API functions.
    + Prefixed .ch contant names with HB_ to avoid collision with
      ssl own headers.
    + Added SSL_CTX_SET_MODE(), SSL_CTX_GET_MODE() functions.
    + Added HB_SSL_READ_ALL(), HB_SSL_READ_LINE() functions meaning
      to mimic HB_INETRECVALL() and HB_INETRECVLINE(). (probably needs
      more work, it'd be great if someone who understands the guts of
      these inet functions could take a look)
    * SSL_PEEK() synced with SSL_READ() recent changes.
    + Added SSL_SET_MODE(), SSL_GET_MODE(), SSL_SET_MTU() functions.
    + Added SSL_GET_RBIO(), SSL_GET_WBIO() functions.
    + Added SSL_GET_PEER_CERTIFICATE() function.
    + Added X509_GET_SUBJECT_NAME(), X509_GET_ISSUER_NAME(), X509_NAME_ONELINE()
    + Added HB_SSL_MODE_* constants.

  * include/hbextern.ch
    * Changed to use new hbextlng.ch.

  - examples/hbextern/hbextern.lst
    ! It wasn't deleted in 2009-07-18 21:37 UTC+0600 for some reason.

  * source/rtl/console.c
    ! Fixed OUTSTD() and OUTERR() to output separator space
      to std/err instead of alt.

  * source/rtl/hbinet.c
    % Minor optimization.
2009-07-19 17:42:06 +00:00
Przemyslaw Czerpak
1688862f1e 2009-07-18 02:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    + added HB_ZERROR
2009-07-18 00:59:23 +00:00
Viktor Szakats
43cd4d5102 2009-07-16 10:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/lang/Makefile
  + source/lang/msguados.c
    + Added Ukrainian language module for cp1125.
      (borrowed from xhb, work of Pavel Tsarenko.)
      I've made a few corrections compared to xhb:
      - Using the same internal name as filename for
        consistency with other language modules
        (UADOS instead of UA1125).
      - Fixed date format which must only contain YYYY, MM, DD
        regardless of the CP/language used, since it's a picture mask.
      - Formatting (semicolon, spaces, deleted embedded $Id$ not
        needed with SVN)
      - Added to hbextern.ch.

  * source/lang/msguakoi.c
  * source/lang/msgua866.c
    * Two corrections to internal name.
      (borrowed from xhb, work of Pavel Tsarenko.)
    ; QUESTION: I wonder why the texts are very much different in
                Harbour and xhb. Someone familiar with Ukrainian
                language and encodings should check this, only one
                of them can be right and all CPs should be synced 
                with each other the only thing being different is 
                the encoding.

  * source/codepage/msguakoi.c
    ! Fixed one letter.

  * source/codepage/cpuawin.c
  * source/codepage/cpua1125.c
  * source/codepage/cpua866.c
  * source/codepage/cpuakoi.c
    * Added "CYRILLIC LETTER GHE WITH UPTURN" letter.
      (borrowed from xhb, work of Pavel Tsarenko.)
2009-07-16 08:49:33 +00:00
Viktor Szakats
22eba88dc3 2009-07-15 20:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/Makefile
  + include/hbextcdp.ch
  * include/hbextern.ch
  * utils/hbmk2/hbmk2.prg
    + Separated EXTERNAL HB_CODEPAGE_* lines to hbextcdp.ch.
      These are commonly needed by apps.
    * Using hbextcdp.ch in hbmk2.
    ; TODO: hbextern app needs to be updated to filter out 
            CODEPAGE symbols.
2009-07-15 18:01:41 +00:00
Viktor Szakats
61962be0dd 2009-07-14 12:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/extend.c
    ! Fixed hb_parvcx() to return "" instead of NULL when dealing
      with array parameters out of bound or non-string.
      (Borrowed from xhb by Ron Pinkas. Although the fix is
      implemented differently in Harbour)

  * source/rtl/gttrm/Makefile
    * CFLAGS -> HB_USER_CFLAGS

  * include/hbapicdp.h
  * include/hbextern.ch
  * source/lang/Makefile
  * source/codepage/Makefile
  + source/codepage/cpua1125.c
  + source/codepage/uc1125.c
    + Added DOS Ukrainian 1125 codepage
      (Borrowed from xhb. Work of Pavel Tsarenko)

  * utils/hbmk2/hbmk2.prg
    * OS/2 embedded compiler autodetection order fixed.
2009-07-14 10:16:48 +00:00
Viktor Szakats
5da96d8c2a 2009-07-10 21:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added HB_SETCLSHANDLE().

  * source/vm/evalhb.c
  * source/vm/eval.c
  * source/vm/dynlibhb.c
    ! Fixed old int <-> USHORT conversion MSVC warnings.
    ; TOFIX: ? There is a disagreement between different APIs
               and Harbour program parts on the size and type of
               number of parameters, it can be int, USHORT, ULONG,
               and in some places there is also BYTE limit.

  * source/common/hbver.c
    * Minor formatting.
2009-07-10 19:21:40 +00:00
Viktor Szakats
9ba5e3e952 2009-07-09 14:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/base64c.c
  + source/rtl/base64.prg
    + Added HB_BASE64ENCODE(), HB_BASE64DECODE() to core.
      They were copied from hbtip and hbvpdf and currently
      the decoder is .prg code while encoding is .c code.
      Latter has one TOFIX for an error situation.

  * contrib/hbtip/encurl.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbtip/sessid.prg
  * contrib/hbtip/popcln.prg
  * contrib/hbtip/sendmail.prg
  * contrib/hbtip/tip.ch
  * contrib/hbtip/cgi.prg
  * contrib/hbtip/url.prg
  * contrib/hbtip/encqp.prg
  * contrib/hbtip/base64x.c
  * contrib/hbtip/httpcln.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/encoder.prg
  * contrib/hbtip/smtpcln.prg
  * contrib/hbtip/encb64.prg
  * contrib/hbtip/mail.prg
  * contrib/hbtip/credent.prg
  * contrib/hbtip/ftpcln.prg
    + Added TOFIXes, QUESTIONs
    ! Fixed to use hb_MemoRead() instead of MemoRead() in one place.
    ! Fixed a wrong error checks after FCreate() calls.
    ! Fixed to use Len( hb_inetCRLF ) instead of hardwired length.
    ! Using hb_ntos() instead of Str() in POP3 commands.
    * Changed explicit values to manifest constants (F_ERROR)
    * Changed high ASCII chars in source to Chr() representation,
      now source can be edited with any editor.
    ! Added missing copyright header to tip.ch. Although this header
      seems to be unnecessary.
    ! TipMail:MakeBoundary() to not add any date punctuations in the ID.
    ! Fixed tIPClientFTP:fileSize() to not return permantent zero.
    % Heavier optimizations and cleanup in TIpClientSmtp().
    % Optimizations.
    * Formatting.
    ; Please test.
2009-07-09 13:03:59 +00:00
Viktor Szakats
b4317f84bf 2009-07-08 11:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/xhbat.c
  * contrib/hbtip/utils.c
    * Moved ATI() function to xhb lib.
      ATI() is different from HB_ATI() since it doesn't support
      national chars, but it supports negative start/end values in
      xhb style.

  * contrib/hbtip/thtml.prg
    * Changed to use core HB_ATI() instead of xhb specific ATI().
      To me it looks that negative positions aren't used by hbtip code,
      also respect for national chars is fine, so this replacement is okay.
      Please review me and correct it if needed.

  * contrib/xhb/xhbfunc.c
  * contrib/hbtip/legacy.prg
    * Moved HB_EXEC() to xhb lib. Restored the C version.

  * contrib/hbtip/Makefile
  - contrib/hbtip/legacy.prg
    - Deleted. No longer necessary.

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/ati.c
    + Added HB_ATI() function. This is the same as HB_AT(), but
      case-insensitive. It supports national chars.
2009-07-08 09:07:51 +00:00
Viktor Szakats
eb6298aa30 2009-07-07 01:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
  * bin/hb-func.sh
    + Added libpath= lines to generated hbmk2.cfg files.
    - Deleted arch=/comp= lines from generated hbmk.cfg files.

  * include/hbextern.ch
    + Added HB_PROCESSRUN().

  * contrib/hbtip/client.prg
    % Minor optimizations.
    * Formatting.

  * utils/hbmk2/hbmk2.prg
    % Changed to use hb_processRun() natively.
    ! Fixed doubly added resource stub when -icon is used.

  * source/rtl/hbproces.c
    * Really minor formatting.

  * source/rtl/hbprocfn.c
    ! Fixed to free memory of hb_storlen_buffer() returns failure.
    % Minor optimization: hb_storclen( "", 0, ... ) -> hb_storc( NULL, ... )
2009-07-06 23:32:38 +00:00
Mindaugas Kavaliauskas
22fbdfa45e 2009-06-30 18:10 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/rddsql/sddmy/mysqldd.c
    + added support for MySQL TIMESTAMP, DATETIME and TIME types. These
      types are mapped to @,8 and T,4 field types, and native harbour 
      timestamp type.

  * harbour/include/hbextern.ch
    + added a dozen of Harbour functions
    ; NOTE: about 120 functions are still not included into this .ch:
      SX_*(), USRRDD_*(), __DBG*(), __CLS*(), HB_COMPILE*(), etc.
2009-06-30 15:16:46 +00:00
Viktor Szakats
a48321cf39 2009-06-18 00:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/mousehb.c
  * source/rdd/rddinfo.c
  * source/rdd/dbdrop.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
    * Rest of similar to STOD() status functions also 
      protected with ! HB_C52_STRICT.
2009-06-17 22:52:52 +00:00
Viktor Szakats
41b7534251 2009-06-18 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/datesx.c
    * STOD() function not protected by HB_COMPAT_XPP anymore.
      Instead it's turned off only in HB_C52_STRICT mode.

  + contrib/xpp/xppextrn.ch
    + Added.

  * contrib/hbwin/win_misc.c
    + Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
      But commented because of colliding names.
2009-06-17 22:34:21 +00:00
Viktor Szakats
a3805daf7e 2009-06-16 18:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* include/hbextern.ch
    + Added HB_WAEVAL().

  * contrib/hbwin/win_prn1.c
    - Direct procedural Windows printing interface will now only
      accept real pointers.
    * WIN_CREATEDC() will now return null pointer instead of NIL.
      The safest way to check for success is: 'IF ! Empty( win_CreateDC() )'
    ; With this, only some DLL related functions remain which
      still use numeric pointers
2009-06-16 16:39:43 +00:00
Viktor Szakats
4dbccf8ead 2009-06-16 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
  * examples/uhttpd2/umain.prg
    * Replaced HB_MUTEXWAITERSCOUNT() with 
      HB_MUTEXQUEUEINFO( hMutex, [ @nWaitersCount ], [ @nQueueLength ] )
    ; Please review.
2009-06-16 06:51:12 +00:00
Viktor Szakats
c73804dc7a 2009-06-15 20:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
    + Added HB_MUTEXWAITERSCOUNT() to core.
      (slightly rewritten using local functions)

  - examples/uhttpd2/umutex.c
    - No longer needed.
2009-06-15 18:45:17 +00:00
Viktor Szakats
8cff1ae469 2009-06-14 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/hashfunc.c
    + Added HB_HGETDEF( <hHash>, <xKey>[, <xDefault> ] ) -> <value>
      This function will return <xDefault> when <xKey> isn't 
      found in the hash table. If <xDefault> isn't passed, it 
      will return NIL.
2009-06-14 08:38:37 +00:00
Viktor Szakats
2b5d2600aa 2009-06-06 16:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Made clear that GNU Make installation isn't needed for mingw
      targets.

  * include/hbextern.ch
    + Added HB_EXECMSG().

  * contrib/xhb/tests/xhb.hbc
    + Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
      has these libs as part of the core.

  * utils/hbmk2/hbmk2.prg
    + Environment variables can not be used as filters.
      If an envvar with the name of the filter exists and it's
      value isn't "0" or "no", it's considered a match.
    - Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
      This was copied from Harbour Make files, and most probably they
      aren't necessary even there, especially since they are set
      inconsistently (differently) for depending on msvc compiler
      version and win/wce target. These flags deal with exception
      handling, so I doubt any core code (with the exception of hbqt)
      would need it.
    + Added some level of internal support for build modes
      (release, debug, fulldebug) and unicode/ascii selection. Added
      to TODO anyway, will continue with them in the future.
2009-06-06 14:07:51 +00:00
Viktor Szakats
3cef50334b 2009-06-03 08:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/idlex.c
    * Renamed XPP compatible SLEEP() function to XPP_SLEEP() to
      avoid collision with FlagShip and CLIP implementations.

  * contrib/hbwin/wapi_winbase.c
    + Added WAPI_SLEEP() function as a wrapper to Windows Sleep()
      function.
2009-06-03 06:21:00 +00:00
Viktor Szakats
325e4bc4db 2009-06-02 21:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/idlex.c
    + Added Xbase++ compatible SLEEP() function.
2009-06-02 19:04:05 +00:00
Viktor Szakats
622639c23c 2009-05-15 09:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Using HB_USERLANG() to detect language, so it now also
      works on Windows.
    + Added support for -lang= switch to override language.
    + Added support for HB_LANG envvar to override language.
      (this is the recommended method)

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/lang.c
    + Added HB_USERLANG() function to retrieve ietf code of
      language set by user. Works also on Windows.

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    * WAPI_*() functions moved to wapi_* files.
    + WAPI_GETPROCADDRESS() added. This is a pure wrapper to
      this Windows API.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prt.c
    % hb_parnl() -> hb_parni() where it was cast to int anyway.
2009-05-15 07:40:39 +00:00
Viktor Szakats
8959f99f45 2009-05-14 02:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/tgethb.prg
  * source/rtl/tget.prg
    + HB_EXTENSION functionality (:hideInput() and :style()) moved
      from GET to a new derived class called HB_GET(). It means
      this functionality is available in default builds.
      Further extensions can be added to this class.
2009-05-14 00:31:36 +00:00
Viktor Szakats
196768b461 2009-05-14 02:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * contrib/xhb/hbcompat.ch
  * source/rtl/setkey.c
    + Added HB_SETKEY() which is similar to SETKEY() but contains
      3rd parameter extension. Now this functionality is available
      for default Harbour builds under this new function name.
    + Added cross mappings for xhb SETKEY().

  * source/rtl/setfunc.prg
    + F11/F12 key handling now protected with HB_C52_STRICT instead
      of HB_EXTENSION so it will available in default builds.
    - Other HB_EXTENSION protected feature deleted (allowing to
      assign non-string key sequences to F keys. This effect can
      easily be achieved with direct SETKEY() calls, so it wasn't
      an essential extension here.

  * source/rtl/hbffind.c
    + Internal HB_EXTENSION protected part enabled.
    - Deleted HB_EXTENSION dealing with Windows-specific attribute
      chars. Those needing this functionality can access it using
      C level API.

  * source/rtl/tpopup.prg
  * source/rtl/ttopbar.prg
    - Deleted minor (non Clipper-compatible) behaviour change
      in handling disabled menu items when HB_EXTENSION
      is enabled.

  ; Only remains few class extensions covered by HB_EXTENSION.
    Overall there is no reason anymore to use this macro.
    TODO: Solve these using inheritance.
2009-05-14 00:15:22 +00:00
Viktor Szakats
339c86f1bc 2009-05-12 16:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added -hbrun option which will run the target without trying to
      build it. If target is missing, the command will fail.
    + -run/-hbrun options will now run GUI target executable using 'start'
      command on Windows platforms so that hbmk2 will return and leave
      the app running.

  * include/hbextern.ch
    + Added HB_GZPUTC().

  * include/hbsetup.ch
    - Removed HB_EXTENSION from documented list of build modified macros.

  * source/common/hbverdsp.c
    - Deleted HB_EXTENSION dependent part.

  * source/rtl/mlcfunc.c
    - Deleted HB_EXTENSION branch. Please modify your program to
      use Set( _SET_EOL ) instead of passing EOLs explicitly to
      memo functions. This works also in xhb.
      INCOMPATIBLE when for HB_EXTENSION builds.

  * source/rtl/alert.prg
    ! Minor in comment.

  * source/rtl/saverest.c
    - Removed SAVESCREEN()/RESTSCREEN() extra "lNoCheck" parameter
      when HB_EXTENSION is enabled. Please report on the list
      if you need this functionality.

  * source/compiler/hbfunchk.c
    ! Fix to prev: AT() declaration.

  ; TODO: Clean rest of HB_EXTENSION stuff.
2009-05-12 14:11:21 +00:00
Viktor Szakats
301c1c5f98 2009-05-12 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/xhb/hbcompat.ch
    + Added HB_GETENV() <-> GETENV() conversions.
    + Added MEMOWRIT() translation for xhb sources.

  * source/rtl/at.c
  * source/rtl/gete.c
  * source/rtl/memofile.c
    - Deleted HB_EXTENSION branches. Users of extended
      GETENV(), GETE(), AT() and MEMOWRIT() functionality
      will have to use hbcompat.ch to stay compatible with xhb
      (this isn't needed for MEMOWRIT()).
      INCOMPATIBLE change for those who enabled HB_EXTENSION
      in Harbour. Hopefully xhb will implement HB_AT() and
      HB_GETENV() in the future so hbcompat.ch will become
      unnecessary.

   * include/hbextern.ch
   + source/rtl/radiobhb.prg
   * source/rtl/radiobtn.prg
     * RADIOBUTTON() Harbour extension moved to a separate file
       to cause no harm for programs defining this function locally.
       At the same time, HB_EXTENSION protection got removed so
       it can be accessed in default builds as a RADIOBUTTO() 
       alternative.
2009-05-12 08:44:03 +00:00
Viktor Szakats
52e2e002e5 2009-05-12 09:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/cmdline.txt
  * doc/howtosvn.txt
    + Added CC copyright.

  * source/rtl/alert.prg
  * include/hbextern.ch
    + HB_ALERT(). Now this function holds all extended features:
      nDelay support and any type for first parameter.
    * ALERT() now behaves completely along Clipper version, without
      extensions. HB_EXTENSION no longer modifies its behaviour, so
      if someone needs these extended features, there is no need to
      build with HB_EXTENSION, only ALERT() calls have to be
      converted to HB_ALERT(). INCOMPATIBLE (in some scenarios).

  * contrib/hbtip/utils.c
    % TIP_TIMESTAMP() code cleaned to remove redundancy of
      having two full distinct copies of this function. Now
      platform independent parts are kept common.
    ! TIP_TIMESTAMP() fixed hb_parl() to hb_parnl() for 'hours'
      parameter. I wonder how this bug wasn't noticed till now.
      Please someone test, maybe I'm missing the point of this
      parameter, but it's unlikely the intent was a logical value
      as it's later converted to timestamp.

  * contrib/hbtip/thtml.prg
  * contrib/hbtip/sendmail.prg
  * contrib/hbtip/httpcln.prg
  * contrib/hbtip/ftpcln.prg
    * END -> END*
    * Minor formatting.

  * contrib/hbtip/base64x.c
  * contrib/hbtip/smtpcln.prg
    * Formatted.
    * Minor optimizations (File() -> hb_FileExists(), ::AuthPlain()
      simplification).
    % BUILDUSERPASSSTRING() rewritten in Harbour. It's a very
      simple function.
2009-05-12 07:32:45 +00:00
Viktor Szakats
95673458f2 2009-04-13 10:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* tests/speedtst.prg
    ! Fixed missing hb_progname() for non-Harbour compilers.

  * include/hbextern.ch
    + Added time related new functions.

  * utils/hbmk2/hbmk2.prg
    + Added -runflag: option to pass flags to target executable.
    + Started -inc (incremental link) support. It's very early
      stage, don't expect it to work yet and please don't report
      any problems with this feature yet.

  * source/vm/asort.c
    ! Fixed to return Clipper compatible results when non-logical
      non-numeric value is returned from ASORT() codeblock.

  * utils/hbtest/rt_array.prg
    * Cleaned ASORT() tests when sorting block returns constant value.
      Now Clipper results aren't bent anymore, instead I've added
      different expected results for Harbour and Clipper. The
      difference is due to different sorting algorithms used,
      here the point is to get similar *pattern* for different
      invalid values.

  * source/rtl/philes.c
    % HB_FGETDATETIME(): Removed double call to hb_stortdt().

  * contrib/hbqt/tests/hbqt.hbp
    * Removed extra line at EOL.

  * contrib/gtqtc/tests/hbqt.hbp
    ! Removed environment dependent 'libspath=' line.
      Please don't add such path to Harbour SVN, since these
      can differ from system to system and is also non-portable.
      The correct name of the directive is: 'libpaths='.

  * contrib/gtqtc/Makefile
    % Removed double SVN ID.
      This file needs to be updated according to hbqt latest
      Makefile portability changes.

  * contrib/rddads/ads1.c
    * Minor formatting.
2009-04-13 08:53:53 +00:00
Viktor Szakats
ccab51d63e 2009-03-05 21:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_SETENV()

  * utils/hbmk2/hbmk2.prg
    * Minor cleanups.

  * contrib/examples/uhttpd/uhttpd.hbm
    - Removed -n. It's now automatic.
    ; TODO: Remove the rest.

  * INSTALL
  * doc/man/hbmk.1
  + config/win/icc.cf
  * utils/hbmk2/hbmk2.prg
    + Added Intel(R) C++ compiler support for Windows.
    + Added initial support also in hbmk2.
    ; This compile is actively developed and its famous of
      generating the fastest running code of all C compilers.
      It also outputs an extremely detailed warning list.
      And the best thing: It compiled Harbour without a single
      hitch. hbtest is also running fine. hbmk2 is able to
      create executables.
2009-03-05 20:12:47 +00:00
Viktor Szakats
9f2c4df193 2009-03-02 09:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/Makefile
  * include/hbextern.ch
  + source/rtl/hbstrfmt.c
    + Added HB_STRFORMAT() sprintf()-like formatting.
    + Added hb_StrFormat() C level function.
    ; Work of Mindaugas sent to the list, with some minor 
      cleanups applied. Please test on your platform/compiler.

  * contrib/examples/uhttpd/uhttpd.prg
  * contrib/examples/uhttpd/cgifunc.prg
  * contrib/examples/uhttpd/session.prg
  * contrib/examples/uhttpd/uhttpd.hbm
    * xhb compatibility cleanups.
    - xhb lib and header dependency removed.

  * utils/hbmk2/hbmk2.prg
    * Changed so that libs won't inherit their .hbm file paths.
    + Embedded .hbm files will inherit their parents dir.
2009-03-02 08:36:55 +00:00
Viktor Szakats
4710155eb2 2009-02-18 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/rtl/Makefile
  * source/rtl/mouse53.c
    + Added HB_MMIDDLEDOWN() functions, plus MMIDDLEDOWN() alias.
      These are always available regardless of the CLIP53
      compatibility setting.

    ; TOFIX: K_MM*DOWN events _override_ C5.3 compatible
             K_MOUSEMOVE events (in GTWVT only), which created
             an unfortunate incompatibility with our target
             C5.x compiler when using some specific GT. Ideas 
             are welcome how to fix this. We should probably
             either send out both codes and let the inkey queue
             do the filtering as requested by app (we need a
             new filter then), or remove these event code and 
             generate proper K_MOUSEMOVE events instead. Apps
             using this these incompatible keycodes are encouraged 
             to replace expressions:
             '( key == K_KK*DOWN )' with the compatible:
             '( key == K_MOUSEMOVE .AND. M*DOWN() )' to prepare
             for the fix.
2009-02-18 11:26:39 +00:00
Viktor Szakats
d7b31254de 2009-02-16 18:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_DBCREATETEMP()

  * harbour/source/rdd/dbcmd.c
    * Renamed to HB_DBCREATETEMP().
2009-02-16 17:31:37 +00:00