Commit Graph

19275 Commits

Author SHA1 Message Date
Przemysław Czerpak
4ae0fd9dc6 2015-03-24 14:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    * use inet_pton() or inet_aton() if available instead of inet_addr()
2015-03-24 14:53:15 +01:00
Przemysław Czerpak
f7184a48fc 2015-03-24 13:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/vm/cmdarg.c
    + added new PRG function
         hb_ACmdLine() -> <array>
      borrowed from Viktor's branch (2015-03-12 03:02 UTC+0100 Viktor Szakats)
      It returns array with all command line parameters. Unlike
          hb_AParams( __dbgProcLevel() - 1 )
      hb_ACmdLine() returns all parameters also hidden ones just like
      hb_CmdLine() function and hb_argv()/hb_argc()
      Please also remember that hb_AParams() returns current value of
      parameters which could be changed bu user code so they can be different
      then original parameters passed to given function.

  * src/rtl/gtchrmap.c
    * casting

  * include/std.ch
    * synced casing with Viktor's branch
2015-03-24 13:42:51 +01:00
Przemysław Czerpak
e54036073c 2015-03-23 21:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbsix.ch
  * include/std.ch
    * formatting
2015-03-23 21:02:02 +01:00
Przemysław Czerpak
c177fcb7d4 2015-03-23 16:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/std.ch
    + added VIA and CODEPAGE parameters to SORT TO and TOTAL TO commands
    * formatting

  * include/hbsix.ch
    * synced SIX3 compatible SORT TO command with core SORT TO parameters
2015-03-23 16:21:50 +01:00
Przemysław Czerpak
c99d950516 2015-03-23 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapirdd.h
  * include/hbusrrdd.ch
    + added DBTF_RECALL flag which disables transferring record DELETED flag

  * src/rdd/dbcmd.c
  * src/rdd/workarea.c
    ! disable transferring DELETED flag to destination area in SORT TO /
      __dbArrange() operations

  * src/rdd/delim1.c
  * src/rdd/sdf1.c
    + added dummy RECALL() methods - now RECALL() can be executed by workarea
      TRANSREC() method when DBTF_RECALL flag is set
2015-03-23 15:03:27 +01:00
Przemysław Czerpak
26c617c979 2015-03-22 17:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    * pacified warnings
2015-03-22 17:23:43 +01:00
Przemysław Czerpak
3c4c67254c 2015-03-21 12:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    ! restored the line with initialization of allocated memory buffer
      I deleted by mistake removing my private comments before commit.
      Without this line sort could randomly crash on small tables (less
      then 65537 sorted records)
2015-03-21 12:54:05 +01:00
Przemysław Czerpak
db16cc8861 2015-03-20 16:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/Makefile
  - include/hbdbsort.h
  * src/rdd/Makefile
  - src/rdd/hbdbsort.c
  * src/rdd/dbf1.c
    - completely removed old code used in DBF* RDDs as low level backend
      for SORT TO ... command and __dbArrange() function.
      It was buggy and extremely inefficient in some cases, i.e. after
      20 hours I killed process which was sorting table with 2'000'000
      records in reverted order so I cannot even say how much time it
      needed.

  * src/rdd/dbf1.c
    + added new code for table sorting in DBF* RDDs
      (SORT TO ... / __dbArrange() backend)
      New code fixes many different problems which existed in previous one
      like missing support for national collation, wrong descending orders,
      wrong sorting of numeric fields with negative values, missing support
      for sorting many field types, missing support for transferring MEMO
      fields, missing support for transferring records to table with different
      field structure or serving by different RDD, etc.
      New code is also many times faster then the old one. In practice it
      means is now usable for tables with more then few thousands records,
      i.e. the test table with 2'000'000 records I used with old code was
      copied in sorted order in 13 secs. when pure COPY TO needed 10 secs.
      Now it's possible to export sorted tables to different RDDs, i.e.
      using DELIM or SDF RDDs in desitnation area.
      New code is written in general form without any local to DBF* RDDs
      extensions so it can be adopted as base in any other RDD. Probably
      I'll move it to default workarea methods so it will be inherited by
      all Harbour RDDs and only if necessary authors of some RDDs may
      overload it, i.e. to move the operation to the server side in remote
      RDDs when source and destination tables are processed by the same
      server.
      This modification closes the last known for years bug or rather bag
      of bugs ;-) in Harbour.
    ; NOTE: For large tables new sorting algorithm may access source records
            more then once. It means that results may be wrongly sorted when
            sorted fields in exported records are modified concurrently by
            other station during exporting. This can be easy eliminated by
            copping source records to temporary file anyhow it will introduce
            additional overhead in all cases and user can easy eliminate the
            problem by simple FLOCK before sort or making export to temporary
            file and then sorting this file or he can simply ignore this
            problem as unimportant in the specific situation so I decided to
            not implement double copping.
            I haven't tested what Cl*pper exactly does in such case so
            I cannot say if current behavior is or isn't Cl*pper compatible.
2015-03-20 16:34:03 +01:00
Przemysław Czerpak
ee5f8ac72f 2015-03-18 23:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbrddcdx.h
  * src/rdd/dbfcdx/dbfcdx1.c
    % small speed improvement during indexing
    * casting

  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    * casting
2015-03-18 23:16:36 +01:00
Przemysław Czerpak
97d161c683 2015-03-18 13:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/teditor.prg
    ! resize missing text on line wrapping (issue #92)
2015-03-18 13:25:45 +01:00
Przemysław Czerpak
c98c7b1597 2015-03-17 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
    % small simplification
2015-03-17 13:35:57 +01:00
Przemysław Czerpak
66bf4f5867 2015-03-17 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbcmd.c
    ! fixed __dbArrange() to allow record transfer with the same conditions
      as __dbTrans() just like Cl*pper does.
      Low level RDD code should respect it, i.e. it should be possible to
      sort using fields which exist only in source workarea, the order
      and number of fields in source and destination workareas can be
      completely different, etc.
      Low level DBF* SORT() method is completely broken in such cases and
      has to be rewritten.
2015-03-17 12:55:32 +01:00
Przemysław Czerpak
11e823dba2 2015-03-16 23:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! do not execute STARTTLS command if server does not report it's supported
      (issue #90)

  * src/rdd/dbcmd.c
    * use DBI_TRANSREC in __dbTrans() and __dbArrange() (pure record copping
      without sorting)
2015-03-16 23:00:13 +01:00
Przemysław Czerpak
f090e652cd 2015-03-13 18:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/win_bmp.c
    ! fixed copy and past typo in my last modification - thanks to
      Juan Francolino for reporting the problem and to Alexander
      Czjczyński for locating the reason. It closes issue #91.

  * contrib/hbtip/smtpcli.prg
    * be sure that server answer after HELO command (:open() method) is
      fully consumed

  * contrib/hbtip/sendmail.prg
    ! removed redundant waiting for sever answer after opening connection
      without authentication - it fixes timeout delay in such case
    ! do not create TIPClientSMTP() object twice when it's not necessary
    % small code simplification
2015-03-13 18:56:10 +01:00
Przemysław Czerpak
58bc2c6f00 2015-03-12 09:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/sendmail.prg
    ! fixed wrong login conditions - AICS it's old problem which had existed
      from very long time.

  * contrib/hbtip/smtpcli.prg
    ! eliminated redundant processing EHLO processing
2015-03-12 09:41:38 +01:00
Przemysław Czerpak
6c9d48495f 2015-03-11 16:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/hbtip.hbx
  * contrib/hbtip/httpcli.prg
  * contrib/hbtip/log.prg
  * contrib/hbtip/sessid.prg
  * contrib/hbtip/smtpcli.prg
  * contrib/hbtip/thtml.ch
  * contrib/hbtip/tip.ch
  * contrib/hbtip/url.prg
    * synced with Viktor's branch.
2015-03-11 16:23:04 +01:00
Przemysław Czerpak
7f80c2e286 2015-03-10 18:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/cgi.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/encb64.prg
  * contrib/hbtip/encoder.prg
  * contrib/hbtip/encqp.prg
  * contrib/hbtip/mail.prg
  * contrib/hbtip/sendmail.prg
    * synced manually with Viktor's branch (not all things).

  * doc/xhb-diff.txt
    ! fixed few typos
2015-03-10 18:06:11 +01:00
Przemysław Czerpak
f832dbe9a4 2015-03-09 19:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! consume whole EHLO output after STARTTLS
2015-03-09 19:16:12 +01:00
Przemysław Czerpak
acc1a252e8 2015-03-09 18:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! added missing space after AUTH PLAIN
    ! resend EHLO command after STARTTLS
    ; Thanks to Rolf for information about both problems.
2015-03-09 18:33:06 +01:00
Przemysław Czerpak
00717d90b1 2015-03-09 18:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/client.prg
    * removed trailing spaces

  * contrib/hbtip/hbtip.hbp
  * contrib/hbtip/encurlc.c
  + contrib/hbtip/mime.c
  + contrib/hbtip/misc.c
  - contrib/hbtip/utils.c
    * synced with Viktor's branch
    * renamed some variables to follow rules used by Harbour
    % use binary search to locate mime extension
    * some minor cleanups and fixes
2015-03-09 18:17:39 +01:00
Przemysław Czerpak
54a8c06190 2015-03-09 15:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! fixed typo in my previous commit
2015-03-09 15:08:50 +01:00
Przemysław Czerpak
eaa87a3be9 2015-03-07 20:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    * synced with Viktor's branch - it should fix the problem with
      unconditional bind with HBSSL library after last Jean's patch.
2015-03-07 20:16:55 +01:00
Przemysław Czerpak
b0e3afcdda 2015-03-05 22:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    ! do not refresh ModTime and RowVer fields just copied during transfer
      operation
2015-03-05 22:35:11 +01:00
Przemysław Czerpak
74c4b51266 2015-03-05 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * src/vm/garbage.c
    + added hb_gcDummyClear() function

  * include/hbapirdd.h
  * include/hbusrrdd.ch
    + added DBTF_CPYCTR constant value - when set in dbTransInfo.uiFlags
      then after record transfer field counters should to be copied from
      source to destination area

  * include/hbapirdd.h
  * src/rdd/wafunc.c
    + added new C functions hb_dbTransInfoPut() and hb_dbTransInfoGet()
      which allow to store and retrieve pointer to DBTRANSINFO structure
      into/from HB_ITEM with strict type verification.

  * src/rdd/wafunc.c
    * pass pointer to DBTRANSINFO structure as argument of DBI_TRANSREC
      action. It allows RDD serving destination area to decide which
      fields and how should be transferred updating uiFlags, uiItemCount
      and lpTransItems members of DBTRANSINFO.
      If RDD removes all fields from DBTRANSINFO structure (uiItemCount==0)
      or does not return HB_SUCCESS for DBI_TRANSREC action (default WA
      implementation returns HB_SUCCESS so it's not necessary to overload
      it if RDD does not make any additional operations) then record
      transfer is interrupted.
    * copy field counters only when destination area asked about it setting
      DBTF_CPYCTR in dbTransInfo.uiFlags in DBI_TRANSREC action.

  * src/rdd/dbf1.c
    * do not copy automatically updated fields when destination area
      is not empty
    * set DBTF_CPYCTR to indicate that counters should be copied from
      source to destination area when original value of automatically
      updated fields are transferred
    ; Now DBF* RDDs in Harbour respects the following rules for record
      transfer operations (COPY TO / APPEND FROM) with automatically
      updated fields:
         - COPY TO transfers original values to destination table and
           finally copy counters from the source table to destination one
           so autoincrement fields in both tables after next append will be
           initialized with the same values regardless of number of copied
           records - even if only single record is copied then counters in
           destination table will inherit next values for new record from
           the source table. Also values of RowVer and ModTime fields are
           copied from source to destination table and not updated during
           transfer operation.
         - APPEND FROM works like COPY TO (original field values and then
           counters are copied to destination table) if the source table
           supports counters and destination table is empty and FLocked()
           or opened in exclusive mode.
           If source table does not support counters for given fields, i.e.
           it is processed by transfer RDD like DELIM or SDF (RDT_TRANSFER)
           or destination table is not empty or opened in shared mode and
           FLock is not set when APPEND FROM is executed then automatically
           updated fields (counters, RowVer, ModTime) are not copied and
           initialized with new values like for each new record added to
           destination table.

  * ChangeLog.txt
    ! typo in last ChangeLog entry
2015-03-05 20:46:23 +01:00
Przemysław Czerpak
6df9526b8d 2015-03-04 11:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
    ! fixed HB_ISMEMO() macro, original version was accepting the same
      items as HB_ISCHAR() so it was not compatible with ISMEMO() macro
      in Cl*pper.

  * src/rtl/valtype.c
    * use HB_ISMEMO() macro
2015-03-04 11:18:45 +01:00
Przemysław Czerpak
d3a947bc6f 2015-03-04 09:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
  * src/rtl/hbinet.c
    * pacified warnings (Thanks to Grigory)

  * src/rdd/dbcmd.c
  * src/rdd/wafunc.c
    * small code simplification and cleanup
    ! protection against GPF when wrong parameters are passed to __dbArrange()
    + added support for transferring records using __dbArrange() to area with
      different fields order (low level driver may refuse to finish such
      operation but not it's possible.
2015-03-04 09:18:13 +01:00
Przemysław Czerpak
03e7b6da6e 2015-03-03 16:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
    ! use AdsSetLongLong() (if available) instead of AdsSetDouble() to not
      strip less significant bits from 64bit integer number during conversion
      to double
    * allow ADS to decide if writing into rowver and modtime fields is legal
      instead of generating our own arbitrary RTE

  * include/dbinfo.ch
  * src/rdd/workarea.c
    + added new dbInfo() action DBI_TRANSREC
      It indicates if area is destination table of currently processed COPY TO
      or APPEND FROM operation.

  * include/hbapirdd.h
  * src/rdd/wafunc.c
    + added new C function:
         HB_ERRCODE hb_dbTransCounters( LPDBTRANSINFO lpdbTransInfo );
      It copies field counters from source into destination table used
      in transfer operation.

  * src/rdd/dbcmd.c
  * src/rdd/wafunc.c
    + call DBI_TRANSREC to inform destination area that record transfer
      operation starts and stop. It allows destination RDD to change
      rules used for assign to automatically updated fields, i.e. unblock
      such operation.
    + call hb_dbTransCounters() to update counters in destination table
      after COPY TO operation

  * src/rdd/sdf1.c
  * src/rdd/delim1.c
    * clear AutoInc flag

  * src/rdd/dbf1.c
    + allow to set get and set counter for RowVer fields using DBS_COUNTER
      action
    * return HB_FAILURE for DBS_COUNTER and DBS_STEP if it's not supported
      by given field.
    + added support for DBI_TRANSREC - in case of DBF* RDDs it unblocks
      writing to automatically updated fields
2015-03-03 16:26:28 +01:00
Przemysław Czerpak
4617ba29d7 2015-03-03 15:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtalleg/gtallegd.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/hbblink/blinker.prg
  * contrib/hbbz2/core.c
  * contrib/hbcomio/comio.c
  * contrib/hbsqlit3/core.c
  * contrib/hbtcpio/tcpio.c
  * contrib/rddads/adsfunc.c
    * synced with Viktor's branch
      (formatting, macros instead of constant values, protection against
      wrong paramters, use *EVALITEM macros, use HB_ERR_ARGS_BASEPARAMS, ...)

  * contrib/hbsqlit3/core.c
  * contrib/hbsqlit3/hbsqlit3.hbx
    + add sqlite3_load_extension( <db>, <cModule>, [<cProc>], [@<cError>] )
                  -> <nResult>
      (borowed from Viktor's branch 2015-02-15 19:18 UTC+0100 Viktor Szakats)
2015-03-03 15:57:48 +01:00
Przemysław Czerpak
24ebd4b617 2015-03-02 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/ssl_inet.c
    ! restored comment begin token removed by mistake in my last commit
2015-03-02 18:01:12 +01:00
Przemysław Czerpak
a6c8ffc884 2015-03-02 16:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbinet.c
  * contrib/hbssl/ssl_inet.c
    ! fixed unfinished code with error code translation - thanks to Abe
2015-03-02 16:08:37 +01:00
Przemysław Czerpak
d976db49c9 2015-02-26 09:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
    * removed unnecessary casting

  * contrib/rddads/adsx.c
    ! fixed to work with ACE < 6.1
2015-02-26 09:37:00 +01:00
Przemysław Czerpak
5ac8fc0d4a 2015-02-25 22:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
  * contrib/hbodbc/sql.ch
    * minor formatting to sync with Viktor's branch
    + added missing defines from Viktor's branch

  * contrib/rddads/ads.ch
  * contrib/rddads/adsfunc.c
    + added AdsStmtSetTableReadOnly( <nMode> ) -> <lSuccess>
      (From Viktor's branch: 2015-01-21 18:43 UTC+0100 Viktor Szakats)
    + added ADS_REFRESHCOUNT constant and
         AdsGetRecordCount( [<nHandleType:ADS_TABLE>], ;
               [<nFilterOption:ADS_RESPECTFILTERS>], @nCount ) -> <nErrorCode>
      (From Viktor's branch: 2014-01-19 13:42 UTC+0100 Viktor Szakats)
    ! fixed connection handle parameter position in AdsDDRemoveTable()
      It was 4-th:
         AdsDDRemoveTable( <cTableName>, <deleteFile>, , [ <nConnection> ] )
               -> <lResult>
      Now is 3-rd:
         AdsDDRemoveTable( <cTableName>, <deleteFile>, [ <nConnection> ] )
               -> <lResult>
      (From Viktor's branch: 2014-01-14 23:53 UTC+0100 Viktor Szakats)

  * contrib/rddads/rddads.h
    + autodetection support for 11.10
      (From Viktor's branch: 2013-12-26 01:22 UTC+0100 Viktor Szakáts)

  * contrib/rddads/adsx.c
    * use hb_xgrabz()
    * formatting

  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
    * added const qualifier to SDD method pointer in SQLBASEAREA
    * declare default SDD method table with const qualifier
    * added s_ prefix to the name of static variable with SDD methods
    % optimized GOHOT() method
    * use hb_xgrab() instead of hb_xalloc() to force error when out of memory
    * use hb_xgrabz()

  * contrib/rddsql/sqlmix.c
    * use hb_xgrabz()

  * contrib/sddfb/core.c
    * added s_ prefix to the name of static variable with SDD methods
    % removed unnecessary memset()
    % optimized GOTO() method
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddmy/core.c
    * added s_ prefix to the name of static variable with SDD methods
    + added new field types from from Viktor's branch
    * use hb_xgrabz()
    % removed redundant comparison to NULL

  * contrib/sddoci/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * check OCI_Initialize() result and generate error if fails
      (synced with Viktor's branch)
    * minor formatting to sync with Viktor's branch
    % removed unnecessary memset()
    % optimized GOTO() method
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddodbc/core.c
    * replaced unnecessary hb_xgrabz() with hb_xgrab()
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddpg/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * use hb_xgrabz()

  * contrib/sddsqlt3/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * minor formatting to sync with Viktor's branch
    ! fixed memory leak when RTE ESQLDD_STMTALLOC is generated
      (fix from Viktor's branch)
    % removed unnecessary memset()
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.
2015-02-25 22:06:51 +01:00
Przemysław Czerpak
0198c7a729 2015-02-24 17:49 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddfb/core.c
  * contrib/sddmy/core.c
  * contrib/sddoci/core.c
  * contrib/sddodbc/core.c
  * contrib/sddpg/core.c
  * contrib/sddsqlt3/core.c
    ! clear dbFieldInfo structure before use - it resolves problems with
      random field flags caused by uninitialized uiFlags member
    * minor cleanup in variable names
    * use hb_xgrabz()

  * contrib/sddodbc/core.c
    + added support for NULLABLE, UNICODE and BINARY field flags
    + added support for SQL_BINARY fields
    ! fixed SQL_TIME mapping to Harbour field types.
      It was mapped as HB_FT_DATE instead of HB_FT_TIME.
    ! fixed extracting integer values on on platforms where long int is
      64 bit integer (in practice all 64bit *nixes). SQL_C_LONG should be
      used with SQLINTEGER not 'long int'.

  * contrib/hbodbc/odbc.c
    + add support for different data types in SQLGetData()
      The original version was returning different types in their binary
      representation. Current implementation is based on similar one from
      Viktor's branch (2014-07-06 16:40 UTC+0200 Viktor Szakats) with
      small but important fixes.
    ! modified hb_odbcNumSetLen() to not break 64bit integers by casting
      to double value

  * contrib/hbodbc/sql.ch
    + added SQL_WCHAR

  * contrib/hbodbc/todbc.prg
    + use extended SQLGetData() and hb_odbcNumSetLen() functionality to
      extract ODBC data
    % few small optimization and casing usually based on Viktor's branch
      BTW pre incrementations/decrementations used in PUSH context are
      faster then post ones.
2015-02-24 17:49:04 +01:00
Przemysław Czerpak
0abd7da585 2015-02-24 11:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! fixed GPF when empty window title is set and then retrieve - thanks
      to Teo.
2015-02-24 11:14:51 +01:00
Przemysław Czerpak
0bcc223b14 2015-02-23 17:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
    * rewritten function SQLGetData() - new code is much simpler and
      fixes few bugs

  * contrib/hbodbc/todbc.prg
    % eliminated unnecessary AAdd() when final array size is already known
    ! do not round numbers read number to default number of decimal places
2015-02-23 17:47:54 +01:00
Przemysław Czerpak
86d8fd5915 2015-02-21 15:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * src/compiler/hbmain.c
  * src/nortl/nortl.c
    ! save and restore SETs which can be modified by -fn[:[l|u]|-],
      -fd[:[l|u]|-], -fp[:<char>] and -fs[-] compiler flags.
      It fixes problem with HBMK2 so now above switches can be used
      with HBMK2.
2015-02-21 15:33:22 +01:00
Przemysław Czerpak
fff0da51ab 2015-02-21 14:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/delim1.c
  * src/rdd/sdf1.c
    ! disabled code which allows to delete just added record.
      It was not Cl*pper compatible and caused bad side effects
      in COPY TO ... DELIM | SDF - deleted records were nor
      copied
2015-02-21 14:34:17 +01:00
Przemysław Czerpak
c8a04734fd 2015-02-20 11:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
  * contrib/hbssl/err.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/hbssl.hbc
  * contrib/hbssl/hbssl.hbm
  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/pem.c
  * contrib/hbssl/rand.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/ssl_hb.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/x509.c
    ; synced with Viktor's branch:
    * favor openssl over libressl on darwin (2015-01-22 03:24 UTC+0100)
    * build against libressl on darwin, if installed
      (2015-01-22 03:24 UTC+0100)
    * deleted custom openssl option 'OPENSSL_NO_SEED' on darwin.
      (2015-01-22 03:24 UTC+0100)
    + AES/GCM ciphers added (couldn't make them work)
      (2014-12-26 01:53 UTC+0100)
    + added BIO_GET_CONN_INT_PORT()
      It's now fixed in OpenSSL, available in hbssl with OpenSSL 1.0.1 or upper
      (2014-03-03 00:45 UTC+0100)
    ! BIO object is now GC collected, solving the leak and hopefully
      some remaining memory problems around BIO_NEW_MEM_BUF()
      (2014-02-26 04:54 UTC+0100)
    ! SSL_SET_BIO(): fixed 3rd parameter
      (2014-02-26 04:54 UTC+0100)
    ! BIO_NEW_MEM_BUF(): fixed potential use-after-free.
      (2014-02-24 16:02)
    * formating and comments
2015-02-20 11:40:52 +01:00
Przemysław Czerpak
b0054466a3 2015-02-20 10:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
  * contrib/sddodbc/core.c
    * updated to compile with UnixODBC 2.2.0
      I slightly changed one #if condition used to define SQLTCHAR.
      If it interacts with some other old UnixODBC version then
      please let me know.
2015-02-20 10:53:05 +01:00
Przemysław Czerpak
056afec314 2015-02-19 23:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
    * added HB_SSL_CONST macro which can be used instead of 'const'
      qualifier to pacify "discards qualifier 'const'" warnings in
      OpenSSL versions prior 0.9.8

  * contrib/hbssl/evp.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslctx.c
    * use HB_SSL_CONST macro to pacify warnings in 0.9.6 and 0.9.7
      OpenSSL versions

   ; Now HBSSL compiles cleanly without any warnings with different
     OpenSSL final versions starting with 0.9.6
2015-02-19 23:10:19 +01:00
Pritpal Bedi
fdb77bb7f2 2015-02-19 13:15 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/hbtop/popcli.prg
    ! Fixed: METHOD top( nMsgId )
	   ::inetSendAll( ::SocketCon, "TOP " + hb_ntos( nMsgId ) + " 0 " + ::cCRLF )
	      =>
	   ::inetSendAll( ::SocketCon, "TOP " + hb_ntos( nMsgId ) + " 0" + ::cCRLF )

	+ Added: following convinient methods:
       METHOD getTop( nMsgId, lAsArray ) -> arrayOrStringOfHeaderOF_nMsgId
       METHOD getMessageRaw( nMsgId, lAsArray ) -> arrayOrStringOfEntireMessageOF_nMsgId
       METHOD getBody( nMsgId, lAsArray ) -> arrayOrStringOfMessageBodyOF_nMsgId
       METHOD getSubject( nMsgId ) -> cSubjectLineOF_nMsgId
2015-02-19 13:24:04 -08:00
Pritpal Bedi
6aa7e9423c 2015-02-19 01:19 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/gtwgud.c
    ! Fixed: a bug which was causing HB_GTI_SETPOS_XY/ROWCOL returning
	   wrong values in case it is called as GET method.
2015-02-19 13:03:12 -08:00
Przemysław Czerpak
f27109beee 2015-02-19 20:20 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/evpciph.c
  * contrib/hbssl/hbssl.h
    ! added missing protection for EVP_rc5_32_12_16_cfb64()
    * cleaned version macro usage to not force final versions until beta
      ones is not confirmed to be broken
2015-02-19 20:20:34 +01:00
Przemysław Czerpak
bae69e6ead 2015-02-19 19:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
  * contrib/hbssl/err.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/hbssl.h
  * contrib/hbssl/ssl.c
  * contrib/hbssl/ssl_inet.c
    ! fixed compilation with older OpenSSL versions.
      Now minimum supported version of OpenSSL is 0.9.6.
      I tested current code only with finals releases (such releases
      have 'f' as last hex digit in OPENSSL_VERSION_NUMBER) so it's
      possible that some beta release may need additional tunes but now
      adopting the code should be quite easy job for anyone who need
      to use such OpenSSL version and has same very basic C knowledge.
      When older OpenSSL versions are used then warnings:
         "passing arg X discards qualifier 'const' from pointer target type"
      can appear. I didn't pacified them to not hide some possible bugs
      in the future though it breaks C++ compilation so maybe I'll add
      such casting using macro redefined only for older versions.
    ; [TODO] check if HB_OPENSSL_OLD_OSX_ macro is still required and
             if not then remove it. Maybe also other DARWIN macros can
             be removed.
2015-02-19 19:42:07 +01:00
Przemysław Czerpak
ea82ac86f6 2015-02-17 18:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwin/gtwin.c
    * use VK_MENU macro instead of direct value and do not check
      VirtualScanCode in hack for ALT+<keypadnums,...> input
2015-02-17 18:47:54 +01:00
Przemysław Czerpak
0f1b885280 2015-02-17 17:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* package/harb_win.mft
  * package/harb_win.rc
    * bumped copyright year to 2015

  * package/mpkg_win_nightly.bat
  * package/winuni/mpkg_win_uni.bat
    * enclosed paths in "" for names with spaces
2015-02-17 17:44:51 +01:00
Przemysław Czerpak
094b3e6faa 2015-02-17 17:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    * modified code which tries to detect if field flags were used in DBF
      header for autoinc numeric fields
2015-02-17 17:22:57 +01:00
Przemysław Czerpak
9347e5ab4e 2015-02-17 16:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbf1.c
    + added support for autoincrement fields with counter longer then 4 bytes
      Warning: if someone created tables with such fields i.e. { "I:+", 8, 0 }
               after my modification which added support for AutoInc flags in
               all numeric DBF fields then he should update counters manually
               using DBS_COUNTER flag. New code uses 64bit counters for such
               field located in different part of DBFFIELD structure.
2015-02-17 16:35:17 +01:00
Przemysław Czerpak
9ed0347914 2015-02-17 13:28 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/cmdcheck.c
    ! fixed error messages when wrong parameters are passed.
      When wrong parameters are taken from HARBOURCMD or CLIPPERCMD
         "Bad command line option '%s'"
      error is generated and
         "Bad command line parameter '%s'"
      when wrong parameters are from command line.
      New behavior is Cl*pper compatible.
2015-02-17 13:28:11 +01:00
Przemysław Czerpak
418caaac51 2015-02-17 12:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/tests/inetssl.prg
  * contrib/rddads/ads1.c
  * src/rtl/teditor.prg
    * formatting of my recent modifications taken from Viktor's branch

  * src/common/hbfsapi.c
  * src/compiler/complex.c
    * formatting

  * include/hbset.h
  * src/vm/set.c
  * src/nortl/nortl.c
    + add new C functions to change HVM set values:
         hb_setSetFileCase(), hb_setSetDirCase(), hb_setSetDirSeparator(),
         hb_setSetTrimFileName()

  * include/hbcomp.h
  * include/hbcompdf.h
  * src/compiler/cmdcheck.c
  * src/compiler/hbmain.c
  * src/compiler/ppcomp.c
  * src/compiler/genc.c
  * src/compiler/hbusage.c
  * src/nortl/nortl.c
    * rewritten code used to parse command line and environment parameters.
      New code is covered by GPL + Harbour exception license.
      All parameters are decoded by only one function and whole code is
      smaller so it's much easier to modify this code.
    ! fixed some small bugs and incompatibilities with Cl*pper in parameter
      parsing
    ! fixed -y undocumented (YYDEBUG) switch
    - removed -x[<prefix>] set symbol init function name prefix (for .c only)
      compiler command line switch
    * moved -fn[:[l|u]|-] -fd[:[l|u]|-] -fp[:<char>] and -fs[-] switches
      parsing to core compiler library. Now these switches are also works
      with compiler library linked with HBMK2.
    ; TOFIX: HBMK2 ignores -fn/-fd switches and allocates temporary names
             which are not compatible with names used later by harbour
             compiler when above switches are activated. HBMK2 should
             parse parameters and update SET FILECASE / SET DIRCASE before
             it creates temporary files.
2015-02-17 12:06:51 +01:00