* contrib/hbziparc/ziparc.prg
! fixed for unicode in another location
% optimization to prev unicode fix
* contrib/hbtip/thtml.prg
! fixed chr() usage for unicode mode
* formatted (hbformat and manual)
% deleted excessive parantheses
* contrib/hbtip/cgi.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/tests/base64.prg
! fread()/fwrite() calls fixed for unicode
! fixed some more anomalies, like wrongly checkingg fwrite() for
negative result, calling fread() with 4 parameters, passing
buffer by reference to fwrite(), minor optimizations and formatting.
* contrib/hbtip/url.prg
* formatting
; build tested only
* contrib/rddads/ads.ch
+ Added TOFIX regarding COMMIT cmd.
* contrib/hbtip/cgi.prg
! Fixed TOFIX where *nix specific temp dir was hard-wired into
multiplatform code. Pls test it.
* contrib/rddads/ads.ch
! Restored deleted ADS commands.
* contrib/hbtip/cgi.prg
* Updated from file sent to the list by Lorenzo.
I had to fix a problem which made it obvious that the
file was never even compiled in Harbour SVN tree, so
please review it. This change also makes this class
incompatible with previous version.
* doc/en/rdd.txt
* doc/en/terminal.txt
! Two typos. (sent to users's list by Alain Aupeix)
* utils/hbmk2/hbmk2.prg
! Fixed to disregard HB_FS_STATIC functions when parsing .c files
for entry function name. No idea how this wasn't causing any error
reports so far.
* contrib/hbtip/hbtipssl/Makefile
! Synced file list with non-ssl version.
* contrib/hbtip/cgi.prg
! Fixed to use hb_dirTemp() instead of hard-wired *nix '/tmp/'.
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idehome.prg
! More HTML tag lowercasing.
* contrib/hbtip/encmthd.c
* contrib/hbtip/encurl.prg
* contrib/hbtip/encb64.prg
! Cleaned this quite strange and dangerous hack which made the
exact nature of the logic fully hidden for anyone expecting
regular programming techniques. I even reimplemented QP
encoding not knowing about it.
Now the class/function interface is completely standard
without any hidden interdependencies and internal logic
to access class vars from C level function and mapping C
level functions as methods.
Now it's possible to replace these TIP specific encoder/decoder
functions with core ones, or move these ones to core.
INCOMPATIBLE: Old function names have been changed from
TIPENCODER*_[DECODE|ENCODE]() to __TIP_*_[ENCODE|DECODE]().
; TOFIX: Old C implementation of QP encoding/decoding doesn't
seem to work.
; TODO: Try eliminating redundancy in base64 encoding/decoding
between hbtip and core.
* contrib/hbtip/cgi.prg
* contrib/hbtip/url.prg
* contrib/hbtip/httpcli.prg
* Changed to use new internal function names for encoding/decoding.
* src/rdd/dbf1.c
* Minor formatting.
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyh
* harbour/src/compiler/harbour.yyc
! pacified compile time error when ... is used as parameter in _HB_MEMBRER
declaration. TODO: Remove or fix this strong typing grammar rules.
* harbour/src/debug/dbgtwin.prg
* harbour/src/debug/dbgtmenu.prg
* harbour/src/debug/tbrwtext.prg
* harbour/src/debug/debugger.prg
* harbour/src/debug/dbgtinp.prg
* harbour/src/rtl/tbcolumn.prg
* harbour/src/rtl/listbox.prg
* harbour/src/rtl/pushbtn.prg
* harbour/src/rtl/treport.prg
* harbour/src/rtl/radiogrp.prg
* harbour/src/rtl/tthreadx.prg
* harbour/src/rtl/checkbox.prg
* harbour/src/rtl/tsymbol.prg
* harbour/src/rtl/teditor.prg
* harbour/src/rtl/tmenuitm.prg
* harbour/src/rtl/tbrowse.prg
* harbour/contrib/hbmysql/tmysql.prg
* harbour/contrib/xhb/stream.prg
* harbour/contrib/xhb/trpccli.prg
* harbour/contrib/xhb/hblognet.prg
* harbour/contrib/xhb/tfile.prg
* harbour/contrib/xhb/tframe.prg
* harbour/contrib/xhb/htjlist.prg
* harbour/contrib/xhb/hblog.prg
* harbour/contrib/xhb/trpc.prg
* harbour/contrib/xhb/thtm.prg
* harbour/contrib/xhb/tcgi.prg
* harbour/contrib/xhb/ttable.prg
* harbour/contrib/xhb/txml.prg
* harbour/contrib/xhb/hjwindow.prg
* harbour/contrib/xhb/htmutil.prg
* harbour/contrib/hbodbc/todbc.prg
* harbour/contrib/hbfbird/tfirebrd.prg
* harbour/contrib/xpp/tthreadx.prg
* harbour/contrib/hbpgsql/tpostgre.prg
* harbour/contrib/hbgd/gdchart.prg
* harbour/contrib/hbgd/gdimage.prg
* harbour/contrib/hbgd/gdbar.prg
* harbour/contrib/hbgd/gdbarcod.prg
* harbour/contrib/hbmisc/twirler.prg
* harbour/contrib/hbtip/thtml.prg
* harbour/contrib/hbtip/cgi.prg
* harbour/contrib/hbtip/httpcli.prg
* harbour/contrib/hbtip/smtpcli.prg
* harbour/contrib/hbtip/client.prg
* harbour/contrib/hbtip/ftpcli.prg
* harbour/contrib/hbtip/mail.prg
* harbour/contrib/hbtip/popcli.prg
* harbour/contrib/hbwin/win_tprn.prg
* harbour/contrib/hbbtree/tbtree.prg
* harbour/utils/hbformat/hbformat.prg
! fixed class method declarations to be synced with method implementations
All of the above missdeclarations were detected by compilation with:
HB_USER_PRGFLAGS=-DHB_CLS_PARAMS_ERR
Few years ago in hbclass.ch I defined PP rules to force strict method
declarations but I had to disable them due to problems with old PP.
I defined HB_CLS_NO_PARAMS_ERR and left this note in hbclass.ch:
> I have to enable this definition by default until we will not fix
> preprocessor. [druzus]
Current PP code works correctly so we can remove it and activate this
code. Anyhow as above commit shows a lot of code has been created with
wrong declarations. I fixed Harbour core code (except HBQT, HBXBP and
GTWVG - I hope Pritpal or Viktor will fix it) but setting
HB_CLS_PARAMS_ERR as default will exploit a lot of similar problems in
user code so I would like the hear other developers' opinions about it.
* contrib/hbtip/sessid.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/encoder.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/popcli.prg
+ Added TIP_SSL() function to return whether SSL functionality is available
or not.
% Deleted unnecessary tip.ch header inclusions.
+ Added TIPCLIENT():INETTIMEOUT() method to set / refresh timeout.
% Direct hb_inetTimeout() calls either optimized out (after ::super:open()),
or replaced by ::hb_inetTimeout() calls.
! Fixed to also accept pop3s where pops is accepted.
+ TIPCLIENTPOP() will set default port to 995 in pop3s mode.
+ TIPCLIENTSMTP() will set default port to 465 in smtps mode.
+ TIPCLIENTHTTP() will set default port to 443 in https mode.
+ Some steps towards SMTP STARTTLS authentication.
! Uncommented setting "Content-Length" in TIPMAIL:SETBODY().
gmail rejects attachment without it. It's also needed for internal
consistency as TIPMAIL:NEW() sets this data.
! HB_SENDMAIL() fixed to use HB_MEMOREAD() to read attachment.
! HB_SENDMAIL() fixed to load the attachment if it was passed
as a content/name pair array. Handling all combinations now.
* HB_SENDMAIL() changed to not exit on the first invalid attachment
specification, but simply ignore these. Feels more natural that way,
but the old behaviour can be restored if there was a reason for it
which overlooked.
* Formatting.
; TOFIX: hbtip currently has two different facilities to find out the
MIME type of a given extension: TIP_FILEMIMETYPE() and
HB_SETMIMETYPE(). First one also looks into the content while
the second one has a much more extensive extension based
detection. There is also a 3rd and separate function which
aims to detect whether a type is binary or text. This isn't
very efficient this way, unless there is some reasoning
behing current logic.
* contrib/hbtip/log.prg
! Fixed to reset internal file handle to empty value on close.
* contrib/hbssl/sslctx.c
! Added !OPENSSL_NO_STDIO guard for functions where it applies().
+ Added SSL_CTX_LOAD_VERIFY_LOCATIONS().
* config/global.cf
! Deleted two debug lines from prev commit.
* 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.
* source/rtl/tbrowse.prg
! Added some new lines to XPP methods.
* contrib/hbtip/thtml.prg
* contrib/hbtip/popcln.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/url.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/ftpcln.prg
! Fixed ambigous "=" and "!=" to "==" or ":="
or "!( == )" contructs.
Someone pls verify if these fixes are right in
the broader context.