Commit Graph

147 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
fa31aa6f70 2008-12-11 19:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/source/vm/thread.c
    + added hb_atomic_set(), hb_atomic_get(), hb_atomic_inc() and
      hb_atomic_dec() functions which operates on HB_COUNTER or smaller
      type if it's necessary for some platforms which can be access/assign
      increment/decrement in MT safe atom operations.
      hb_atomic_dec() returns true if counter is 0 after decrementation

  * harbour/include/hbatomic.h
    ! fixed compilation in Linux and OpenWatcom

  * harbour/include/hbapiitm.h
  * harbour/source/rtl/itemseri.c
    + make hb_itemSerialize() and hb_itemDeserialize() public functions
    ! fixed serialization items with internal item references

  * harbour/source/vm/hvm.c
    * release memvars after closing RDDs

  * harbour/source/debug/dbgentry.c
    ! fixed buffer overflow reported by Rodrigo

  * harbour/source/vm/macro.c
  * harbour/source/compiler/hbmain.c
    * formatting

  * harbour/include/hbexprb.c
    ! fixed wrongly recognized functions with HB_I18N_ prefix as
      HB_I18N_GETTEXT()

  * harbour/include/hbapi.h
  * harbour/include/hbstack.h
  * harbour/include/hbthread.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/thread.c
  * harbour/source/vm/hvm.c
    + added support for I18N in HVM.
      Each thread can have it's own i18n set.
      When new thread is created then it inherits i18n set from parent
      thread and both uses the same set (please remember about it if you
      will want to make some direct modifications on active i18n set
      internals).
      When thread change active i18n set then it effects only this thread
      and new threads which will be create later. It does not change i18n
      in other existing threads.
    + added functions to set/get pointer to active i18n set in HVM
         void * hb_vmI18N( void )
         void   hb_vmSetI18N( void * )

  * harbour/include/hbapi.h
  * harbour/source/rtl/hbi18n.c
    + added i18n module. Now only for internal Harbour usage without support
      for optional switching to alternative implementations.
      I'll add such functionality later when I will work on native gettext
      support.

      The following public .prg functions has been added:
         HB_I18N_GETTEXT[_STRICT]( <cMsgID> [, <cContext> ] )
               -> <cTranslatedMsgID> | <cMsgID>
         HB_I18N_NGETTEXT[_STRICT]( <nValue>, <cMsgID> | <acMsgID> ;
                                    [, <cContext> ] )
               -> <cTranslatedMsgID> | <cMsgID> | <acMsgID>[ <nIndex> ]
      This is minimal support necessary for .prg code which has to exists
      in each i18n module working with Harbour.

      The following functions had been added as public C API:
         PHB_ITEM hb_i18n_gettext( PHB_ITEM pMsgID, PHB_ITEM pContext )
         PHB_ITEM hb_i18n_ngettext( PHB_ITEM pNum,
                                    PHB_ITEM pMsgID, PHB_ITEM pContext )

      The following functions had been added as private HVM C API:
         void   hb_i18n_init( void )
         void   hb_i18n_exit( void )
         void   hb_i18n_release( void * cargo )
         void * hb_i18n_alloc( void * cargo )
      They have to be supported by alternative i18n modules

      The following functions has been added to manage Harbour i18n
      translations sets:

         HB_I18N_CREATE()
                  -> <pI18N>
            Creates new empty I18N translation set

         HB_I18N_CODEPAGE( [<pI18N>,] [<cNewCP>], [<lBase>], [<lTranslate>] )
                  -> <cOldCP>
            Gets or sets Harbour codepage used by translation set
            <pI18N> - I18N translation set,
                      if it's not given then currently active I18N set is used
            <cNewCP> - new CP ID. Must be linked with application
            <lBase> - when it's .T. then get/set base massages CP instead of
                      translated massages CP
            <lTranslate> - if it's .T. then translate base (<lBase>==.T.) or
                           final messages in I18N set from previous CP to
                           given one. Base messages translation in synced
                           with context ID translation.

         HB_I18N_PLURALFORM( [<pI18N>,] [<cNewForm>|<bNewForm>], [<lBase>] )
                  -> <cOldForm>|<bOldForm>
            Gets or sets plural form used for final or base messages
            <pI18N> - I18N translation set,
                      if it's not given then currently active I18N set is used
            <cNewForm> - language ID of plural form, f.e.: "EN", "PL", "LT".
                         Now only three above are supported. Please add rules
                         for other languages to source/rtl/hbi18n.c.
            <bNewForm> - codeblock used to calculate plural form indexes.
                         can be used instead of character representation but
                         it's not storred in serialized I18N set
            <lBase> - when it's .T. then get/set base massages plural form
                      instead of translated massages one.

         HB_I18N_DESCRIPTION( [<pI18N>,] [<cNewDescription>] )
                  -> <cOldDescription>
            Gets or sets translation set description. After serialization
            up to 32 bytes is stored in header which can be easy used to
            determinate type of translation file.
            <pI18N> - I18N translation set,
                      if it's not given then currently active I18N set is used
            <cNewDescription> - new description

         HB_I18N_ADDTEXT( <pI18N>, <cMsgID>, <cTrans> | <acTrans> [, <cContext> ] )
                  -> NIL
            Adds new message with translation to i18n translation set
            <pI18N> - I18N translation set
            <cMsgID> - original message
            <cTrans> - translated message
            <acTrans> - array with translated messages used for plural forms
            <cContext> - message context

         HB_I18N_SET( [ <pI18N> | NIL ] )
                  -> <lActive>
            Sets given I18N translation set as default one used by
            HB_I18N_[N]GETTEXT[_STRICT]() functions or remove translation
            set for calling thread when passed parameter is NIL
            <pI18N> - I18N translation set
            Returns logical value which is .T. when i18n set is active

         HB_I18N_SAVETABLE( [<pI18N>] )
                  -> <cTable>
            Returns I18N translation as string item which can be stored
            in file or database
            <pI18N> - I18N translation set, if it's not given then currently
                      active I18N set is used

         HB_I18N_RESTORETABLE( <cTable> )
                  -> <pI18N> | NIL
            Restores I18N translation set from strin item.
            <cTable> - I18N translation set in string representation
            On success it returns new <pI18N> set otherwise NIL if <cTable>
            is not valid item created by HB_I18N_SAVETABLE() or it's corrupted.

         HB_I18N_HEADERSIZE()
                  -> <nHeaderSize>
            Returns size of header used by i18n serialized version

         HB_I18N_CHEK( <cTable> | <cHeader> [, @<cDescription> ] )
                  -> <lValid>
            <cTable> - i18n translation set serialized by HB_I18N_SAVETABLE
            <cHeader> - header of i18n translation set
                        ( LEFT( <cTable>, HB_I18N_HEADERSIZE() )
            <cDescription> - optional parameter passed by reference where
                             will be sored i18n translation set description
                             extracted from valid header
            Returns logical value indicating if given table or header is
            valid serialized by HB_I18N_SAVETABLE() data. It does not
            decode the table though it validates size and control sums.

      These functions are optional and some future alternative implementations
      may not support all of them and/or may provide some other functions.

    + added unofficial .prg function __I18N_HASHTABLE() which allows to
      access hash table used by i18n translation set or create new translation
      set with given hash table. It's helper functions for developers which
      will work on Harbour i18n tools and should not be used by Harbour users.

      Unlike original gettext Harbour allows to use language with many
      plural forms as base one. In such case programmer should activate
      at application startup default i18n translation set with base plural
      form valid for base application language, f.e. by:
         pI18N := hb_i18n_create()
         hb_i18n_pluralForm( pI18N, <cLangID> | <bForm>, .t. )
         hb_i18n_set( pI18N )
      .prg code example:

         #xtranslate _( <x,...> ) => hb_i18n_gettext_strict( <x> )
         #xtranslate _N( <x,...> ) => hb_i18n_ngettext_strict( <x> )

         proc main()
            local pI18N, i

            pI18N := hb_i18n_create()
            hb_i18n_pluralForm( pI18N, "PL", .t. )
            hb_i18n_set( pI18N )

            for i := 0 to 30
               ? i, _N( i, {"grosz", "grosze", "groszy"} )
               if i > 0 .and. i % 10 == 0
                  wait
               endif
            next
         return

      In .pot files created during compilation by Harbour with -j option
      for above code we have the following entries for message with plural
      forms:
            msgid "grosz"
            msgid_plural "grosze"
            msgid_plural2 "groszy"
            msgstr[0] ""
      The msgid_plural2 (and others if language has more plural forms)
      is Harbour extension which is not gettext compatible.


      The above implementation is base version but should be fully functional.
      Now we will need functions to safe/read i18n files and tools to mange
      .pot files: merge them, edit translations, create final binary i18n
      translation sets. Because we are using gettext compatible .pot files
      then for some of such jobs we can use original gettext tools but we
      need at least function which will create translation set from one or
      more .pot files.
      We should also agree some default localization(s) for files containing
      translated data, their name convention and environment variable(s)
      to set default language. It's not strictly necessary and each user
      can have his own implementation but it would help in adding new
      translations by final users to any Harbour application which will
      respect them. We can use LANG envvar to extract preferred language
      and use the same path as executed application looking for files
      <appname>-<lang>.hil files though it may create some problems for
      OSes which support only 8.3 file names so we can also define that
      HB_I18N envvar has higher priority and points to expected translation
      file.

  * harbour/include/hbextern.ch
    - removed old __i18n_*() functions
    + added current i18n functions
2008-12-11 18:47:46 +00:00
Viktor Szakats
642efdc827 2008-11-09 14:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* make_vc.mak
    + Added /nxcompat linker flag for non-WinCE, non-DLL, 
      HB_VISUALC_VER >= 80 MSVC executables. 
      This should add extra safety.

  * include/hbextern.ch
  * source/rtl/rat.c
    + Added HB_RAT() which is similar to RAT(), but also accepts 
      <nStart> and <nEnd> optional paramaters, similarly to HB_AT().
    ; Please test.

  * source/rtl/at.c
    * Minor formatting.
2008-11-09 13:03:31 +00:00
Viktor Szakats
5cb6ba8159 2008-11-04 22:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added new HB_H*() functions.
2008-11-04 21:53:35 +00:00
Viktor Szakats
d28d0d79d3 2008-11-04 22:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/codepage/Makefile
  + source/codepage/cpes850.c
    + Added ES850 - Modern Spanish.

  * include/hbextern.ch
    ! Added ITWIN.

  * source/codepage/cpesisoc.c
  * source/codepage/cpsviso.c
  * source/codepage/cpesiso.c
  * source/codepage/cpitwin.c
    + Added my copyright.

  * ChangeLog
    ; Some TODO/TOFIXes marked as [DONE]
2008-11-04 21:51:51 +00:00
Viktor Szakats
6fd1776d74 2008-11-04 13:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * common.mak
   * source/codepage/Makefile
   * source/codepage/cpeswinm.c
   - source/codepage/cpes850.c
   + source/codepage/cpes850c.c
   * source/codepage/cpesiso.c
   + source/codepage/cpesisoc.c
   * source/codepage/cpeswin.c
   + source/codepage/cpeswinc.c
   * source/codepage/cpesisom.c
     * Spanish language support cleaned:
       Modern collation made the default, fixed 
       CP linkage in ESWIN collations, Clipper 
       compatibility versions renamed to have an 
       ending 'C'
       Now the following collations are supported:
       ES850C - Clipper compatibility CP: IBM850
       ESWINC - Clipper compatibility CP: Windows-1252
       ESISOC - Clipper compatibility CP: ISO-8859-1
       ESWIN  - Modern CP: Windows-1252
       ESISO  - Modern CP: ISO-8859-1
       ESMWIN - Compatibility with previous Harbour versions and xhb.
                (this collation has wrong linkage, so everyone is 
                encouraged to use ESWIN or ESISO instead.)
                Intentionally not added to hbextern.ch.
     ; TODO: Add ES850.
     ; TODO: Check whether Clipper compatibility is indeed true.
2008-11-04 12:15:17 +00:00
Viktor Szakats
23db8de299 2008-11-04 09:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_CODEPAGE_SVISO.
2008-11-04 08:47:17 +00:00
Viktor Szakats
2862e26a68 2008-11-03 12:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Synced codepage list with recent changes.
2008-11-03 11:13:39 +00:00
Viktor Szakats
bf2750e535 2008-11-02 16:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/codepage/Makefile
  + source/codepage/cpro852.c
  + source/codepage/cprowin.c
    + Added Romanian codepages.
    ; TODO: Add ROISO variant.

  * source/codepage/uc1250.c
  * source/codepage/uc1251.c
  * source/codepage/uc1252.c
  * source/codepage/uc8859_5.c
  * source/codepage/uckam.c
    * Minor formatting.
2008-11-02 15:34:10 +00:00
Viktor Szakats
a5463c23e1 2008-11-02 14:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Readded HB_LANG_EN.
2008-11-02 13:56:22 +00:00
Viktor Szakats
294d83814d 2008-11-02 14:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Added all missing LANG and CODEPAGE modules.
      [TOMERGE 1.0]

  * ChangeLog
    - Removed duplicate entry of mine.

  * source/common/hbstr.c
  * source/rtl/version.c
  * source/rtl/filesys.c
    * Minor formatting.

  * source/codepage/cpcs852.c
  * source/codepage/cpsk852.c
  * source/codepage/cpcsiso.c
  * source/codepage/cpcswin.c
  * source/codepage/cpskiso.c
  * source/codepage/cpskwin.c
  * source/codepage/cpcskam.c
  * source/codepage/cpskkam.c
    * Removed unnecessary ending ';'
2008-11-02 13:29:00 +00:00
Viktor Szakats
dddbc1c824 2008-11-02 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbstdgen.ch
    - Removed HB_VERSION mistakenly left there.

  * include/hbextern.ch
  * source/rtl/version.c
    + Added HB_OSISWINNT()
    + Added HB_OSISWINCE()
      [TOMERGE 1.0]

  * include/hbver.ch
  * source/rtl/version.c
    + Added:
      hb_version( HB_VERSION_MT )          -> <logical>
      hb_version( HB_VERSION_UNIX_COMPAT ) -> <logical>
      hb_version( HB_VERSION_PLATFORM )    -> <string> (same as ending of __PLATFORM__* macros)
      This makes these functions/macros deprecated:
      - HB_MTVM()
      - __PLATFORM__* (not for all possible situations)
    ; TOFIX: Cleanup REVISION/SVN term usage in source.
    ; TOFIX: Remove HB_VER_* predefined macro usage on .prg level.
    ; TODO: Removed some deprecated by hb_version() functions/macros.

  * include/hbapi.h
  * source/vm/itemapi.c
  * source/common/hbstr.c
  * source/common/expropt2.c
  * source/rtl/chrasc.c
  * source/rtl/hbi18n.c
    * Minor formatting.
2008-11-02 06:34:42 +00:00
Viktor Szakats
e226b165e1 2008-11-01 12:02 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/memofile.c
    + Added HB_MEMOREAD() which is identical to MEMOREAD() 
      except it won't truncate the last byte (on non-UNIX 
      compatible systems) if it's a EOF char.
      See also existing HB_MEMOWRIT().
      [TOMERGE 1.0]
2008-11-01 11:02:57 +00:00
Viktor Szakats
8b7c4d690c 2008-11-01 11:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/hbi18n.c
    % Using buffered hb_file*() API in __I18N_LOAD() 
      instead of plain hb_fs*(). This will cause speedup when 
      buffering gets implemented in hb_file*(), because 
      currently two hb_fsRead() will be executed for each 
      string stored in the language file.
    - __I18N_LOAD(): Because of the above, passing a file handle 
      is no longer possible.
    + Added __I18N_LOADFROMMEMORY( <mem> ) => trs
    % Minor internal cleanups.
2008-11-01 10:17:45 +00:00
Viktor Szakats
3ac4e62591 2008-11-01 08:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * common.mak
  * source/rtl/Makefile
  + source/rtl/hbi18n.c
    + Added basic/low level i18n functions:
      __I18N_SAVE( cFileName | nHandle, aSortedTable [, cComment ] ) => lSuccess
      __I18N_LOAD( cFileName | nHandle ) => trs
      __I18N_GETTEXT( @cText, trs ) => NIL
    ; NOTE: These were originally based on Giancarlo Niccolai's work in xhb, 
            but everything was completely reworked, fixed, internals removed, 
            made portable, lighter, shorter and probably quicker. The used file 
            format is incompatible, slightly smaller and portable.
    ; NOTE: The internal format of 'trs' (loaded translation) is also 
            different. For minimal memory/speed overhead, I've choosen a one 
            dimensional array, as opposed to the original two dimensional 
            (like the input aSortedTable array).
    ; TODO: Higher level functions to handle selecting a default 
            language, loading files automatically, possibly caching 
            multiple loaded language translations in memory and providing 
            a high level HB_I18N_GETTEXT() function. We may also readd 
            a low-level function to create 'trs' from a memory object 
            instead of loading it from the disk. We should in any case make 
            the higher level the lightest and less app specific as possible.

  * include/hbver.ch
  * source/rtl/version.c
  * utils/hbtest/rt_str.prg
  * ChangeLog
    ! Fixed returning bit width.
    * Reworked hb_version() parameter values as follows:
      (also fixed some differences between docs here in the 
      previous entry and actual code)
      HB_VERSION_HARBOUR        (was: HB_V_HARBOUR        )
      HB_VERSION_COMPILER       (was: HB_V_COMPILER       )
      HB_VERSION_MAJOR          (was: HB_V_MAJOR          )
      HB_VERSION_MINOR          (was: HB_V_MINOR          )
      HB_VERSION_MICRO          (was: HB_V_REV            )
      HB_VERSION_STATUS         (was: HB_V_STATUS         )
      HB_VERSION_REVISION       (was: HB_V_COUNT          )
      HB_VERSION_BLD_DATE_STR   (was: HB_V_DATE_TIME      )
      HB_VERSION_BLD_DATE       (was: HB_V_DATE           )
      HB_VERSION_BLD_TIME       (was: HB_V_TIME           )
      HB_VERSION_PCODE_VER      (was: HB_V_PCODE          )
      HB_VERSION_PCODE_VER_STR  (was: HB_V_PCODE_STR      )
      HB_VERSION_CHANGELOG_LAST (was: HB_V_CHANGELOG_LAST )
      HB_VERSION_CHANGELOG_REV  (was: HB_V_CHANGELOG_REV  )
      HB_VERSION_FLAG_PRG       (was: HB_V_FLAG_HARBOUR   )
      HB_VERSION_FLAG_C         (was: HB_V_FLAG_C         )
      HB_VERSION_FLAG_LINKER    (was: HB_V_FLAG_LINKER    )
      HB_VERSION_BITWIDTH       (was: HB_V_BITWIDTH       )
      HB_VERSION_ENDIANNESS     (was: HB_V_ENDIANNESS     )
      This function makes deprecated following functions:
      - HB_COMPILER() => hb_version( HB_VERSION_COMPILER )
      - HB_PCODEVER() => hb_version( HB_VERSION_PCODE_VER_STR )
      - HB_BUILDDATE() => hb_version( HB_VERSION_BLD_DATE_STR )
      and macros:
      - __ARCH16BIT__
      - __ARCH32BIT__
      - __ARCH64BIT__
      - __LITTLE_ENDIAN__
      - __BIG_ENDIAN__
      - __PDP_ENDIAN__
      - HB_VER_SVNID
      - HB_VER_CHLID
      - HB_VER_LENTRY 
      - HB_VER_C_USR
      - HB_VER_L_USR
      - HB_VER_PRG_USR
    ; TOFIX: Some term anomalies regarding 'REVISION'.

  * source/vm/runner.c
    * Minor formatting and added "s_" prefix to static var.
2008-11-01 08:28:42 +00:00
Viktor Szakats
df0a70e6be 2008-10-28 01:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/Makefile
  * include/hbextern.ch
  + include/hbver.ch
  * source/rtl/version.c
    + Added HB_VERSION() unified version information 
      function. This can return these version related data:
      hb_version( HB_V_HARBOUR )        => <string>
      hb_version( HB_V_COMPILER )       => <string> 
      hb_version( HB_V_MAJOR )          => <num> 
      hb_version( HB_V_MINOR )          => <num> 
      hb_version( HB_V_REV )            => <num> 
      hb_version( HB_V_STATUS )         => <string> 
      hb_version( HB_V_COUNT )          => <num> 
      hb_version( HB_V_DATE_TIME )      => <string> 
      hb_version( HB_V_DATE )           => <date> 
      hb_version( HB_V_TIME )           => <string>
      hb_version( HB_V_PCODE )          => <num> 
      hb_version( HB_V_PCODE_STR )      => <string> 
      hb_version( HB_V_CHANGELOG_LAST ) => <string> 
      hb_version( HB_V_CHANGELOG_REV )  => <string> 
      hb_version( HB_V_FLAG_HARBOUR )   => <string> 
      hb_version( HB_V_FLAG_C )         => <string> 
      hb_version( HB_V_FLAG_LINKER )    => <string> 
      hb_version( HB_V_BITWIDTH )       => <num> 
      hb_version( HB_V_ENDIANNESS )     => <num> 
      This function makes deprecated following functions:
      - HB_COMPILER() => hb_version( HB_V_COMPILER )
      - HB_PCODEVER() => hb_version( HB_V_PCODE_VER_STR )
      - HB_BUILDDATE() => hb_version( HB_V_DATE_TIME )
      and macros:
      - __ARCH16BIT__
      - __ARCH32BIT__
      - __ARCH64BIT__
      - __LITTLE_ENDIAN__
      - __BIG_ENDIAN__
      - __PDP_ENDIAN__
    ; NOTE: If there are no objections, I'd remove the 
            __ARCH*BIT__ and __*ENDIAN__ predefined macros, 
            as these can be misleading on some systems.
    ; TODO: Implement HB_V_DATE and HB_V_TIME.
    ; TODO: Add HB_MTVM() functionality.
    ; TODO: Add __PLATFORM__* equivalent.
    ; TODO: Add HB_OS_UNIX_COMPATIBLE equivalent.

  * include/hbextern.ch
  * include/hbapifs.h
  * common.mak
  * source/rtl/Makefile
  + source/rtl/fscopy.c
    + Added C level hb_fsCopy() function.
    + Added .prg level HB_FCOPY() function.
2008-10-28 02:20:23 +00:00
Viktor Szakats
1d64164476 2008-10-28 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/vm/cmdarg.c
    + Added HB_CMDLINE() .prg level function to return 
      the full command line. Currently it does reassemble 
      it from hb_argc/hb_argv.

  * contrib/rddsql/mysqldd.c
    ! Fixed MSVC casting errors in C++ mode.

  * include/hbwmain.c
  * source/vm/cmdarg.c
    * Moved argv[ 0 ] generation on Windows platform, so 
      that it now gets properly filled with the full 
      executable file path for console mode (GTWIN) 
      apps in all situations (f.e. when run from a 
      batch file using '%~n1.exe' macro).

  * source/rtl/hbinet.c
    ! Fixed to use safe strerror() (named strerror_s()) 
      under MSVS 2005 and upper.
      Please test.

  * source/hbzlib/gzio.c
    + Added _CRT_SECURE_NO_DEPRECATE locally to suppress 
      various MSVC unsafe CRT API usage warnings. Maybe it'd 
      be better to fix these by using Harbour APIs.

  * utils/hbdoc/gentrf.prg
    ! Fixed missing "common.ch"
2008-10-28 00:07:16 +00:00
Viktor Szakats
d7af644364 2008-10-27 14:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/philes.c
    + Added HB_FLOCK() / HB_FUNLOCK() file locking 
      functions.
      [TOMERGE 1.0]

  * source/rtl/tget.prg
    ! Accessing of Get() variables below made 
      C5.x compatible when a new value was 
      assigned to them as function call, rather 
      then normal assigment.
      :buffer, :changed, :clear, :col, :colorSpec
      :minus, :pos, :row, :subScript, :postBlock, 
      :preBlock, :cargo, :exitState, :reader.
    ; NOTE: Please report if any of the side cases 
            still don't work.
      [TOMERGE 1.0]
2008-10-27 13:48:01 +00:00
Viktor Szakats
4008e7fbf5 2008-10-24 12:26 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added recent .prg level functions.
2008-10-24 10:26:48 +00:00
Viktor Szakats
a2385b1c55 2008-10-19 09:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * include/assert.ch
  * common.mak
  * source/rtl/Makefile
  - source/rtl/strtrim.c
  + source/rtl/hbntos.c
  * contrib/xhb/hbcompat.ch
  * source/debug/dbgthsh.prg
  * source/debug/tbrwtext.prg
  * source/debug/dbgwa.prg
  * source/debug/debugger.prg
  * source/debug/dbgtarr.prg
  * source/rtl/errorsys.prg
  * source/rtl/valtoexp.prg
  * source/rtl/getsys.prg
  * source/rtl/tgetlist.prg
  * source/rtl/browse.prg
  * source/rtl/alert.prg
  * source/rtl/tclass.prg
  * source/rtl/tsymbol.prg
  * source/rtl/tscalar.prg
  * source/rtl/tpersist.prg
  * utils/hbmake/hbmake.prg
  * utils/hbrun/hbrun.prg
    * Renamed hb_N2S() to hb_NToS() which feels more 
      natural in Clipper.
2008-10-19 07:02:22 +00:00
Viktor Szakats
2ab83da8a1 2008-10-19 00:05 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/strtrim.c
    + Added function HB_N2S( <number> ) -> <string>.
      This is equivalent to LTrim( Str( <number> ) ), 
      just faster.

  * source/rtl/dircmd.prg
  * source/rtl/tget.prg
    * Minor cleanup.
2008-10-18 22:07:57 +00:00
Viktor Szakats
c9dc573359 2008-10-14 19:23 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added hb_macroBlock()

  * source/rtl/langapi.c
    * One error text changed to be more precise.

  * doc/gmake.txt
  * bin/bld.bat
  * contrib/hbbtree/tests/bld_vc.bat
  * contrib/examples/pp/bld_vc.bat
  * contrib/examples/guestbk/bld_vc.bat
  * contrib/examples/pe/bld_vc.bat
  * contrib/examples/dbu/bld_vc.bat
  * contrib/examples/hscript/bld_vc.bat
  * utils/hbdoc/bld_vc.bat
  * utils/hbmake/bld_vc.bat
  * utils/hbmake/hbmake.prg
    - Removed MSVC -TP switches.
2008-10-14 17:26:24 +00:00
Viktor Szakats
cdb27e08d2 2008-10-11 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + New functions added.

  * source/rtl/alert.prg
    % Minor optimization.
    ; NOTE: Found yet another hidden extension in Alert() code :(

  * source/rtl/radiobtn.prg
    ! Fix and optimization in recent modification.
2008-10-11 09:07:17 +00:00
Viktor Szakats
4c7936d636 2008-10-10 10:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Fixed XPP class names.
2008-10-10 08:50:29 +00:00
Viktor Szakats
d0a14cc81c 2008-10-10 09:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * bin/bld.bat
    + -tWM BCC32 switch made the all-time default.

  * include/hbextern.ch
    + Added new functions.
2008-10-10 07:28:24 +00:00
Viktor Szakats
c3c9bc4e89 2008-10-09 09:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added missing HB_DISABLEWAITLOCKS().
    ; NOTE: This looks like a hack to add FLX_WAIT flag 
            for locks app-wide, and on Windows systems only.
            IMO we should not have such hacks in core, or if 
            this is really important it should support all 
            possible platforms.
            It also has a low-level function equivalent, 
            which is missing from hbapifs.h. There is no 
            reference to these function in any Harbour or 
            xhb changelogs.
            If there are no objections, I'd like remove 
            this functionality.

  * source/rtl/hbrandom.c
  * source/rtl/filesys.c
    * Minor formatting.
2008-10-09 08:06:47 +00:00
Viktor Szakats
f5c04a91e9 2008-10-09 01:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_THREADWAIT()
2008-10-08 23:14:05 +00:00
Viktor Szakats
f75bc7b051 2008-10-07 09:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/inkey.c
    + Added HB_KEYCLEAR() a documented function equivalent 
      to "CLEAR TYPEAHEAD" command, or undocumented __KEYBOARD() function.

  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
    + Added support for ADS_USE_OEM_TRANSLATION for old ads versions.
      Borrowed from xhb/Pavel Tsarenko.
2008-10-07 07:35:38 +00:00
Viktor Szakats
9e70689436 2008-10-06 21:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapifs.h
   * include/hbextern.ch
   * source/common/hbfsapi.c
   * source/rtl/hbfile.c
     + Added hb_fsNameExists() C level function.
     + Added hb_FNameExists() Harbour level function.
     ; Both will return true if any kind of directory entry 
       exists with the given name (IOW it doesn't matter 
       if it's a file or directory, or else).
2008-10-06 19:30:27 +00:00
Viktor Szakats
f5939dca16 2008-10-06 03:09 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added HB_THREADONCE.

  * ChangeLog
    - Removed a duplicate entry of mine.
2008-10-06 01:10:07 +00:00
Viktor Szakats
ed672c29c9 2008-10-05 15:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbpers.ch
  * source/rtl/perfuncs.prg
  * source/rtl/objfunc.prg
  * source/rtl/tlabel.prg
  * source/rtl/setta.prg
  * source/rtl/dirscan.prg
  * source/rtl/tthreadx.prg
  * source/rtl/setfunc.prg
  * source/rtl/readvar.prg
  * source/rtl/tclass.prg
  * source/rtl/ttextlin.prg
  * source/rtl/profiler.prg
  * source/rtl/treport.prg
  * source/rtl/tgetint.prg
  * source/rtl/persist.prg
  * source/rtl/altd.prg
  * source/rtl/devoutp.prg
  * source/rdd/usrrdd/example/exmemo.prg
  * source/rdd/usrrdd/example/exhsx.prg
  * source/rdd/usrrdd/example/exfcm.prg
  * source/rdd/usrrdd/example/exrlx.prg
  * source/rdd/usrrdd/rdds/dbtcdx.prg
  * source/rdd/usrrdd/rdds/fptcdx.prg
  * source/rdd/usrrdd/rdds/arrayrdd.prg
  * source/rdd/usrrdd/rdds/hscdx.prg
  * source/rdd/usrrdd/rdds/rlcdx.prg
  * source/rdd/usrrdd/rdds/fcomma.prg
  * source/rdd/usrrdd/rdds/smtcdx.prg
    * Formatting. Basically finished.

  * include/hbextern.ch
    ! Added two missing functions.
2008-10-05 13:57:35 +00:00
Przemyslaw Czerpak
ca21165e4b 2008-09-14 22:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
    * accept both settings: HB_FM_STATISTICS and HB_FM_STATISTICS_OFF
      without errors

  * harbour/bin/postinst.sh
    * added small trick to make HBFM lib compilation not  dependent on
      default HB_FM_STATISTIC settings

  * harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
    + added C function hb_vmIsMt()

  * harbour/source/vm/cmdarg.c
    * report MT HVM status when program is executed with //INFO
      parameter

  * harbour/source/vm/fm.c
    ! fixed memory statistic MT protection in hb_xrealloc() operation

  * harbour/config/w32/owatcom.cf
    * use echo instead of echo. for non empty output.

  * harbour/include/hbextern.ch
  * harbour/source/vm/thread.c
    + added .prg function hb_threadTerminateAll() - it sends QUIT request
      to each HVM thread and waits for their termination. Can be executed
      only by main HVM thread.
2008-09-14 20:16:03 +00:00
Viktor Szakats
dd31acbb20 2008-09-14 12:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* harbour-ce-spec
  * harbour-w32-spec
  * harbour.spec
  * common.mak
  * include/hbver.h
    * Changed version number to 1.1.0

  * include/hbextern.ch
    + Added new thread functions.

  * harbour-ce-spec
  * harbour-w32-spec
  * contrib/Makefile
  * contrib/make_b32_all.bat
  * contrib/make_gcc_all.sh
  * contrib/make_vc_all.bat
  - contrib/hbw32
  + contrib/hbwin
  * contrib/hbwin/win_reg.prg
  * contrib/hbwin/win_os.prg
  * contrib/hbwin/win_tprt.prg
  * contrib/hbwin/common.mak
  - contrib/hbwin/hbw32.ch
  + contrib/hbwin/hbwin.ch
  - contrib/hbwin/tests/testw32p.prg
  + contrib/hbwin/tests/testprn.prg
  * contrib/hbwin/tests/testreg.prg
  * contrib/hbwin/tests/bld_b32.bat
  * contrib/hbwin/tests/testprt1.prg
  * contrib/hbwin/tests/bld_vc.bat
  * contrib/hbwin/tests/testprt2.prg
  * contrib/hbwin/Makefile
    * Renamed hbw32 to hbwin.
    * Renamed hbw32.ch to hbwin.ch.
    ; INCOMPATIBLE.
2008-09-14 10:36:50 +00:00
Viktor Szakats
3c38398a5d 2008-08-16 02:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbmzip/hbmzip.c
     ! Fixed potential GPF in executable type detection.
       Fixes GCC 4.3.1 warnings in openSUSE 11.

   * tests/debugtst.prg
   * tests/funcarr.prg
   * tests/inherit.prg
   * tests/objarr.prg
   * tests/objasign.prg
   * doc/en/hvm.txt
   * doc/es/hvm.txt
   * include/hbextern.ch
   * source/vm/debug.c
   * source/vm/hvm.c
   * source/debug/dbgtobj.prg
   * source/debug/debugger.prg
   * source/rtl/altd.prg
     * Harbour level HB_DBG_*() functions renamed to __DBG*() to 
       reflect their internal nature.
     - Removed old __VM*() synonyms to Harbour level __DBG*() functions.
       INCOMPATIBLE.
     ! Fixed a few minor doc bugs along the way.
2008-08-16 00:21:13 +00:00
Przemyslaw Czerpak
ebd4b939a1 2008-08-10 15:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
  * harbour/include/hbextern.ch
    ! fixed typo, should be HB_REQUEST_SCALAR
2008-08-10 13:15:01 +00:00
Przemyslaw Czerpak
ea7b9d69d5 2008-08-10 12:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    * include scalar classes only when HB_REQUEST_SCALLAR define is set

  * harbour/source/rtl/tobject.prg
    ! use <obj>:className instead of __objGetClsName( <obj> ) in error
      message
2008-08-10 10:59:11 +00:00
Viktor Szakats
cc57d998b6 2008-08-09 17:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/whatsnew.txt
   * include/hbextern.ch
   * source/vm/runner.c
     - Completely removed __HRBDOFU(). Users should use DO() instead.
2008-08-09 15:52:42 +00:00
Viktor Szakats
574c4116b8 2008-08-09 16:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbsetup.h
     * Refinement to HB_OS_DARWIN autodetection.
       Thanks Przemek.

   * doc/whatsnew.txt
   * include/hbextern.ch
   * source/vm/runner.c
     * Refinements to previous commit.
       HB_HRBGETSYMBOL() -> HB_HRBGETFUNSYM()
       HB_HRBDOSYMBOL()  -> deleted
     * __HRBDOFU() made equivalent to __HRBDO()
2008-08-09 15:00:36 +00:00
Viktor Szakats
8e01405ad7 2008-08-09 11:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/whatsnew.txt
   * bin/hb-mkslib.sh
     ! Changed the way harbour.dylib is created on Darwin systems 
       to support universal builds. Please review and test.
     ! Fixed generating links for .dylibs on Darwin.
     ! Removed one excessive 'cd "${OTMPDIR}"' command.
       (I hope this is right)
     ! Removed previously added $(L_USR) from Darwin dynamic 
       lib creation command line, as the L_USR "-arch" flags 
       (and probably others) cannot work here.
     ; TOFIX: 'ld: library not found for -lharbour' is still 
              present.

   * include/hbsetup.h
     + Added autodetection for HB_OS_DARWIN (based on __APPLE__).

   * config/darwin/gcc.cf
     ! Not forcing HB_OS_DARWIN from the command-line, 
       we're relying on the autodetection.

   * source/rtl/hbzlib.c
   * include/hbextern.ch
   * doc/whatsnew.txt
     * Harbour level functions renamed:
       HB_COMPRESS      -> HB_ZCOMPRESS     
       HB_COMPRESSBOUND -> HB_ZCOMPRESSBOUND
       HB_UNCOMPRESS    -> HB_ZUNCOMPRESS   
       HB_UNCOMPRESSLEN -> HB_ZUNCOMPRESSLEN
       This is to avoid collision with xhb functions 
       with similar name but different parameter list.
       Please modify your programs to use the new interface.
       INCOMPATIBLE.

   * utils/hbextern/hbextern.prg
     * Disabled scanning C HB_FUNC functions in .prg files.
     * Minor formatting.

   * include/hbapigt.h
     ! Minor cosmetic.

   * source/vm/runner.c
   * include/hbextern.ch
   * doc/whatsnew.txt
   * contrib/examples/hscript/hscript.prg
   * utils/hbrun/hbrun.prg
     * Harbour level functions renamed:
       __HRBRUN    -> HB_HRBRUN
       __HRBLOAD   -> HB_HRBLOAD
       __HRBDO     -> HB_HRBDO
       __HRBUNLOAD -> HB_HRBUNLOAD
       __HRBGETFU  -> HB_HRBGETSYMBOL
       __HRBDOFU   -> HB_HRBDOSYMBOL
       .hrb API functions moved to the documented namespace.
       Old function names still function, but are deprecated.
       Please modify your programs to use the new interface.
     ; NOTE: HB_DBG_*() function should I believe correctly 
             named as __DBG*(), as they are indeed internal 
             functions, not meant to guaranteed for final apps.
             We should do this cleanup in the future.

   * tests/Makefile
   - tests/spawn.prg
   - tests/spawn2.prg
     ! Removed two obsolete tests.
2008-08-09 09:59:09 +00:00
Przemyslaw Czerpak
beab897d85 2008-08-08 02:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_deb.sh
  * harbour/make_tgz.sh
  * harbour/make_rpm.sh
  * harbour/make_rpmce.sh
  * harbour/make_rpmw32.sh
  * harbour/bin/pack_src.sh
    * force using BASH in all files which includes hb-func.sh

  * harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
  * harbour/include/hbextern.ch
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/inkeyapi.c
  * harbour/source/rtl/inkey.c
    + added HB_KEYINS() which works like HB_KEYPUT() but numeric
      key values puts at the beginning of keyboard buffer.
      It does not clear keyboard buffer contents.
2008-08-08 00:19:01 +00:00
Viktor Szakats
03c157a015 2008-07-31 18:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
     + EXTERNAL __OBJGETPROPERTIES

   * doc/whatsnew.txt
     + Updated with new functions.

   * source/hbpcre/_hbconf.h
     ! Silenced a #pragma warning for MSVC 12.x.
     ; NOTE: Some notable MSVC 12.x warnings in Harbour code:
       source\rdd\hbsix\sxcompr.c(532) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
       source\rdd\hbsix\sxcompr.c(533) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
       source\rdd\hbsix\sxcompr.c(539) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
       source\rdd\hbsix\sxcompr.c(540) : warning C4244: '=' : conversion from 'long ' to 'short ', possible loss of data
       There are 3 more known warnings, the rest is common integer difference warning.
2008-07-31 17:01:33 +00:00
Przemyslaw Czerpak
6bfbdc7bd6 2008-07-26 16:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbmzip/zip.c
    ! fixed access to uninitialized member of z_stream by simple
      initialization. Anyhow it's minor bug in MINIZIP code exploited
      HB_ZipDeleteFile() which causes that TEXT flag is not set after
      raw binary file updating. There is also no API call to make it
      manually.
      
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbmzip/readme.txt
    + added HB_ZipDeleteFile( cZipFile, cFileMask ) --> nError

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/dirscan.prg
    + added HB_DirScan( cPath, cFileMask, cAttr )

  * harbour/source/rtl/strmatch.c
    + added HB_FileMatch( cFile, cPattern )

  * harbour/include/hbextern.ch
    + added HB_DirScan(), HB_FileMatch()

  * harbour/contrib/xhb/dirrec.prg
    * changed to use HB_DirScan()
2008-07-26 14:26:11 +00:00
Viktor Szakats
4a4a93b12f 2008-07-25 22:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
     + HB_OSFILEMASK() added.
2008-07-25 20:53:21 +00:00
Viktor Szakats
666179e324 2008-06-30 14:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
     + New inet functions added.

   * source/rtl/hbinet.c
     ! Blind fix for Linux compile error.
2008-06-30 12:48:06 +00:00
Viktor Szakats
50bd195fab 2008-06-23 20:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
     * HB_GETREADVAR() added.
2008-06-23 18:07:36 +00:00
Przemyslaw Czerpak
bdf43f67b2 2008-06-03 18:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
  * harbour/include/hbextern.ch
  + harbour/source/rtl/hbrun.c
    + added function to execute commands which returns application
      exit code:
         HB_RUN( <cCommand> ) -> <nErrorLevel>
2008-06-03 16:09:00 +00:00
Viktor Szakats
31bd015517 2008-05-28 14:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * include/Makefile
   + include/hbzlib.ch
   + include/hbzlib.h
   * include/hbextern.ch
   + source/rtl/hbzlib.c
   * source/rtl/Makefile
   * contrib/make_b32_all.bat
   * contrib/make_vc_all.bat
   * contrib/make_gcc_all.sh
   * contrib/Makefile
   + contrib/hbmzip
   + contrib/hbmzip/Makefile
   + contrib/hbmzip/common.mak
   + contrib/hbmzip/make_b32.bat
   + contrib/hbmzip/make_vc.bat
   + contrib/hbmzip/make_gcc.sh
   + contrib/hbmzip/hbmzip.ch
   + contrib/hbmzip/ioapi.c
   + contrib/hbmzip/zip.c
   + contrib/hbmzip/unzip.c
   + contrib/hbmzip/ioapi.h
   + contrib/hbmzip/crypt.h
   + contrib/hbmzip/zip.h
   + contrib/hbmzip/unzip.h
   + contrib/hbmzip/hbmzip.c
   + contrib/hbmzip/readme.txt
   + contrib/hbmzip/tests
   + contrib/hbmzip/tests/bld_b32.bat
   + contrib/hbmzip/tests/bld_vc.bat
   + contrib/hbmzip/tests/myzip.prg
   + contrib/hbmzip/tests/myunzip.prg
     + Added hbzlib.h which is a simple wrapper to source/hbzlib/zlib.h.
     * Moved ZLIB specific Harbour wrappers and header from /contrib/hbzlib
       to /source/rtl.
     + Added /contrib/hbmzip lib based on /contrib/hbzlib.
       Copy + modify was used to keep the repo history.
       hbmzip contains all the MiniZip parts from former /contrib/hbzlib.
       New hbmzip header file: hbmzip.ch
     + Added new Harbour level zip functions to hbextern.ch.
     ; TODO: Remove /contrib/hbzlib, add core hbzlib to lib lists.
2008-05-28 12:39:33 +00:00
Viktor Szakats
43c3c2eeb1 2008-05-22 10:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * source/rdd/dbcmdx.c
     + Added dbPack() and dbZap() XBase++ 
       compatibility functions.
2008-05-22 09:12:40 +00:00
Viktor Szakats
addea6d04e 2008-05-22 08:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
- contrib/hbmisc/dbftools.c
   * contrib/hbmisc/common.mak
   * contrib/hbmisc/Makefile
     - Removed to avoid collision with similar file in hbct.
       Notice the content was also similar, except that 
       in hbct it was updated and extended. There was also 
       FIELDTYPE() implemented which was colliding with 
       function with the same name in core.

   * include/hbextern.ch
   * source/rdd/dbcmd.c
   * source/rdd/dbdrop.c
   * source/rdd/dbexists.c
   * source/rdd/fieldhb.c
     + Added HB_ prefixed versions of DBDROP(), 
       DBEXISTS(), FIELDDEC(), FIELDLEN(), FIELDTYPE()

   * source/rdd/rddinfo.c
     ! Comment.

   * tests/multifnc/Makefile
     ! Updated lib names.

   * contrib/hbapollo/apollo.c
     ! Fixed MSVC errors.

   * contrib/mtpl_b32.bat
   * contrib/mtpl_vc.bat
     ! Removed one obsolete line.
     + Now defines _HB_MAKELOG.

   * contrib/hbapollo/make_b32.bat
   * contrib/hbapollo/make_vc.bat
   * contrib/hbfimage/make_b32.bat
   * contrib/hbgd/make_b32.bat
   * contrib/hbhpdf/make_b32.bat
   * contrib/hbmysql/make_b32.bat
   * contrib/hbodbc/make_b32.bat
   * contrib/hbodbc/make_vc.bat
   * contrib/hbpgsql/make_b32.bat
   * contrib/hbpgsql/make_vc.bat
   * contrib/hbw32ddr/make_b32.bat
   * contrib/hbw32ddr/make_vc.bat
   * contrib/hbzlib/make_b32.bat
   * contrib/rddads/make_b32.bat
     + Redirects .lib creation (implib, lib) output to log file.

   * contrib/xhb/hbcompat.ch
     + Added some more converions for xhb code.

   * contrib/rddads/ads1.c
     + Added two TODOs. (to adsDrop and adsExists)

   * source/pp/hbppgen.c
     ! MSVC warning fixed.

   * make_vc.mak
     ! Typo in prev commit.
2008-05-22 06:09:35 +00:00
Viktor Szakats
53030631bf 2008-05-07 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
   * contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/ads1.c
   * contrib/rddads/adsfunc.c
   * contrib/rddads/adsmgmnt.c
     + Added ACE version autodetection.
       You can override with: -DADS_LIB_VERSION=700 (and similar)
       (ADS_REQUIRE_VERSION still accepted for compatibility)
     ! Fixed a few lib version related problems.
     ! hMgmtHandle global renamed to ads_g_hMgmtHandle.
     * Formatting.

   * contrib/rddads/rddads.h
     + QUESTION: added about ADS_MAX_KEY_LENGTH redefinition.
       Is it needed?

   * source/compiler/hbmain.c
     * Changed output device (hb_compOutStd() -> hb_compOutErr()) 
       for following texts:
       "Compiling..."
       "No code generated"
       "Lines x, Functions/Procedures x"
       This is to replicate CA-Cl*pper behaviour a bit more.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   * source/rtl/maxrow.c
   + source/rtl/scrrow.c
   * contrib/xhb/hbcompat.ch
     + Added hb_ScrMaxRow(), hb_ScrMaxCol()
       These will return the screen dimensions regardless 
       of the size of an active window (when using CT 
       windows for example). Functionality is the same 
       as MaxRow(.T.) and MaxCol(.T.) previously.
     ! MaxRow()/MaxCol() extended parameters removed.
     + Added MaxRow(.T.)/MaxCol(.T.) conversions for 
       xhb lib (hbcompat.ch) in both directions.
     ; XBase++ doesn't have any extended parameters 
       for Max*() function. Flagship has two of them, 
       both of them doing something different. CAVO doesn't 
       have these functions at all.

   * contrib/xhb/hbcompat.ch
     ! GTI_* macros updated to HB_GTI_*.

   * source/vm/memvclip.c
     % Minor opt in __QQPUB().

   * source/vm/extend.c
     * 0 -> NULL

   * source/vm/estack.c
     - QUESTION removed.

   * source/lang/msgbgmik.c
   * source/rtl/console.c
   * source/rtl/philes.c
   * source/rtl/adir.prg
   * source/rtl/getsys53.prg
   * source/rtl/getsys.prg
   * source/rtl/tget.prg
   * source/rtl/ttopbar.prg
   * source/rtl/pushbtn.prg
   * source/rtl/mod.c
   * source/rtl/memofile.c
   * source/rtl/radiobtn.prg
   * source/rtl/filesys.c
   * source/rtl/tbrowse.prg
   * source/vm/estack.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/cmdarg.c
   * source/vm/fm.c
   * source/vm/eval.c
   * source/common/hbver.c
   * source/common/expropt2.c
   * utils/hbtest/hbtest.prg
   * utils/hbtest/rt_misc.prg
   * utils/hbtest/rt_str.prg
     ! Comment fixes and minor formatting.
2008-05-07 10:26:41 +00:00
Viktor Szakats
31d82e116c 2008-04-29 13:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * source/rdd/Makefile
   * source/rdd/dbstrux.prg
   * source/rdd/rddord.prg
   + source/rdd/rddordu.prg
   + source/rdd/dbstruxu.prg
     + Moved some UNDOC functions to separate files.
     * Removed STRICT guard from _dtxCondSet().

   * include/hbextern.ch
     ! Added missing _dtxCondSet().

   * source/rtl/colorind.c
   * source/rtl/direct.c
     * Minor formatting.

   * source/vm/asort.c
     ! Changed one direct item access to item API call.

   * contrib/rddads/ads.ch
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
     ! Added support for ADS9 VFP file type and fields.
     ; Borrowed from xhb / Luiz Rafael Culik.
       (changed to compile using original - older - ADS headers)
     ; Please review & test.

   * source/vm/pcount.c
     % Minor opt.

   * contrib/hbtip/sendmail.prg
     ! SF bugtracker#1934698 fix applied. Thanks Chen.

   - contrib/hbapollo/tests/bld.bat
   * contrib/hbapollo/tests/bld_b32.bat
     % Using central bld.bat instead of modified local copy.

   + contrib/gtwvg/tests/bld_b32.bat
     + Added BCC32 build batch file for GTWVG tests.
     ; NOTE: demowvg still doesn't seem to work.
2008-04-29 11:08:12 +00:00