Commit Graph

13128 Commits

Author SHA1 Message Date
April White
20df4144ca 2010-01-12 01:53 UTC+0500 April White (april users.sourceforge.net)
* contrib/hbbtree/hb_btree.c
    * read-only flag is not hidden when a file is opened
    * allow skip size to be optional
    * raise error when inserting or deleting into a read-only file
      ! this does not apply to a created read-only file
    * improved argument checks
    * fixed TOFIX regarding portable binary format reading/writing
    * fixed TOFIX regarding a suspicious sizeof of a constant
    ! TOFIX: in-memory btree's cause a fatal error; this is a work in progress
2010-01-13 02:06:51 +00:00
Pritpal Bedi
91b1c271f5 2010-01-11 16:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.ch
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
    + Implemented various actions on current editing window 
      honoring splitted windows indivisually, i.e., Find/Replace,
      Goto, Function activated via Function List, etc., etc.
      Though I have attempted resonable debugging but still
      for sure I must have left undesirable, please report.

    + Thoroughly overhauled "Editor Tab" management, more elegant
      and encapsulated.
2010-01-13 01:02:57 +00:00
Viktor Szakats
f28e124cab 2010-01-12 19:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbfimage/fi_wrp.c
    ! Fixed to use hb_vmRequest*() in callbacks.

  * contrib/hbfimage/fi_wrp.c
    % Optimized FreeImageErrorHandler().
    % FreeImageErrorHandler() made static.
    * Formatting.

  ; Please test and review. I didn't test these modifications at all.
2010-01-12 18:40:54 +00:00
Pritpal Bedi
86a3a2056a 2010-01-11 10:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_destruct.cpp
    + HBQT_SETCODECFORTR()

  * contrib/hbxbp/xbpgeneric.prg
    + HbXbp_SetCodecForTr( cCodec )

      A step closer to internationalization.
      I do not know yet what other steps be needed but...
2010-01-12 18:25:14 +00:00
Pritpal Bedi
bd9a97a63c 2010-01-11 08:20 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideprojmanager.prg
    ! Fixed bug reported by Marco Bra

  * contrib/hbqt/hbqt_destruct.cpp
  * contrib/hbqt/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/qtgui/QMainWindow.cpp
  * contrib/hbqt/qth/QMainWindow.qth
    % Moved hbqt_QMainWindow_save(rest)Settings() from 
      hbqt_destruct.cpp to QMainWindow.cpp.
2010-01-12 16:24:50 +00:00
Viktor Szakats
51934abb5c 2010-01-12 16:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbstr.c
    * Formatting.

  * contrib/hbwin/win_prn3.c
    + Added static versions of strlen and strncat working on TCHARs,
      to replace lstrlen(), lstrcat() unsafe calls.

  * contrib/hbnetio/utils/netiosrv.prg
    + Option renamed: -addr= -> -iface=
    + Added warning for unknown options.

  * contrib/hbnetio/tests/netiot02.prg
    + Date setup.

  * contrib/hbcurl/hbcurl.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/pem.c
    ! Wrapped hb_vmEvalBlockV() calls between hb_vmRequestReender()
      and hb_vmRequestRestore() call pairs.
2010-01-12 15:46:03 +00:00
Przemyslaw Czerpak
dbe67cd074 2010-01-12 15:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/examples/gtwvw/gtwvw.c
    * updated to use hbgtreg.h to register the GT
2010-01-12 14:21:23 +00:00
Viktor Szakats
774bf60b43 2010-01-12 13:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.prg
    + Added new parameter parsing allowing to pass options in free
      order in any combination.
2010-01-12 12:08:46 +00:00
Viktor Szakats
1b2dbede47 2010-01-12 12:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
    + Now includes hbmk.hbm so that the .hbp file works when 
      hbmk2 is launched from other directory.
2010-01-12 11:24:20 +00:00
Pritpal Bedi
d91c217ae4 2010-01-11 01:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_destruct.cpp
    + Added .prg callable hbqt_QMainWindow_saveSettings() and
      hbqt_QMainWindow_restSettings(). These two functions are 
      essential to save and restore last hbIDE interface exactly
      in the same state it was closed last. This I could not achieve
      via pure .prg code.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idesaveload.prg
    + Implemented restoring exact geometry of main window plus 
      all the docking windows plus toolbars. hbIDE creates 
      idesettings.ini in the folder returned by hb_dirBase().
      Note that idesettings.ini is not a windows .ini format 
      and please do not try to change even a single byte of its 
      contents.

    + Implemented splitting any source into multiple windows. 
      This implementation allows you to edit different parts of 
      same source simultaneously. This feature allows you to split
      window horizontally or vertically. You can split many times.
      This feature can be activated as such:
         1. Right-click somewhere in the editing tab
         2. Context menu will be displayed, point to <Split> item
         3. Select from "Split Horiz..." etc.

    Please report any functionality which may be incorporated hereunder.
2010-01-12 10:22:14 +00:00
Pritpal Bedi
4a1f1743d3 2010-01-11 08:12 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ contrib/hbide/resources/findsource.ui
    %+ TOBE implemented in "Sources List" tabpage of "Project Properties" dialog.

  * contrib/hbide/resources/projectproperties.ui
    + Added some buttons to "Sources List" tabpage.

  * contrib/hbide/hbide.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    + Implemented case-insensitive sorting of source files list per:
         1) Ascending
         2) Descending
         3) Organized per source type
            { ".ch", ".prg", ".c", ".cpp", ".h", ".obj", ".o", ".lib", ".a", ".rc", ".res" }
            This may look like :
               #
               # .prg
               #
               C:\MySources\abc.prg
               C:\MySources\harbour.prg
               C:\MySources\system.prg
               # .c
               C:\MySources\a.c
               C:\MySources\zaa.c
      Opinions are welcome.
2010-01-12 01:57:55 +00:00
Przemyslaw Czerpak
9fd022b45a 2010-01-11 19:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiomt.prg
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    * updated some comments

  * harbour/examples/gtwvw/gtwvw.c
    ! fixed typo in HB_TRACE() message
2010-01-11 18:40:44 +00:00
Pritpal Bedi
340253c3cf 2010-01-11 08:12 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideeditor.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/resources/projectproperties.ui
    ! Re-worked "New" file management.
2010-01-11 16:15:05 +00:00
Przemyslaw Czerpak
eaa5203f84 2010-01-11 16:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/contrib/hbnetio/tests/netiot02.prg
    + added yet another example of NETIO client.
      It needs netiosrv executed on the same machine,
      see comments inside this code for details.
2010-01-11 15:25:53 +00:00
Przemyslaw Czerpak
839697c9bc 2010-01-11 14:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/tests/netiotst.prg
    * added netio_disconnect() to test code

  * harbour/ChangeLog
  * harbour/examples/gtwvw/gtwvw.c
    ! replaced TABs with spaces

  * harbour/contrib/hbnetio/tests/hbmk.hbm
  * harbour/examples/hbdoc/examples/hbmisc/readme.txt
  * harbour/examples/gtwvw/hbgtwvw.h
  * harbour/examples/gtwvw/hbole.h
    ! fixed hardcoded \r\n EOLs

  * harbour/src/vm/strapi.c
  * harbour/src/common/strwild.c
  * harbour/src/nortl/nortl.c
  * harbour/src/nortl/Makefile
  * harbour/src/rtl/hbascii.c
  * harbour/src/rtl/hbsocket.c
  * harbour/src/rtl/hbbffnc.c
  * harbour/src/rtl/hbznet.c
  * harbour/src/rtl/hbbfish.c
  * harbour/src/rtl/hbbyte.c
  * harbour/src/codepage/uc646_yu.c
  * harbour/src/codepage/cphriso.c
  * harbour/src/rdd/dbrename.c
  * harbour/tests/cpinfo.prg
  * harbour/include/hbmsgreg.h
  * harbour/include/hbgtreg.h
  * harbour/include/hbznet.h
  * harbour/include/hbmather.h
  * harbour/include/hbsocket.ch
  * harbour/include/hbtrace.ch
  * harbour/include/hbapistr.h
  * harbour/include/hbiniseg.h
  * harbour/include/hbsocket.h
  * harbour/include/hbbfish.h
  * harbour/include/hbcdpreg.h
  * harbour/include/hbfloat.h
  * harbour/contrib/hbqt/qtgui/QPageSetupDialog.cpp
  * harbour/contrib/hbqt/qtgui/QDragEnterEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQToolBox.prg
  * harbour/contrib/hbqt/qtgui/QGridLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQTreeView.prg
  * harbour/contrib/hbqt/qtgui/TQTextCharFormat.prg
  * harbour/contrib/hbqt/qtgui/QItemSelectionModel.cpp
  * harbour/contrib/hbqt/qtgui/TQTextLine.prg
  * harbour/contrib/hbqt/qtgui/QConicalGradient.cpp
  * harbour/contrib/hbqt/qtgui/QTextLength.cpp
  * harbour/contrib/hbqt/qtgui/TQInputEvent.prg
  * harbour/contrib/hbqt/qtgui/TQWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/TQTextItem.prg
  * harbour/contrib/hbqt/qtgui/QGradient.cpp
  * harbour/contrib/hbqt/qtgui/TQTimeEdit.prg
  * harbour/contrib/hbqt/qtgui/TQDropEvent.prg
  * harbour/contrib/hbqt/qtgui/QStandardItemModel.cpp
  * harbour/contrib/hbqt/qtgui/QItemSelection.cpp
  * harbour/contrib/hbqt/qtgui/TQTextObject.prg
  * harbour/contrib/hbqt/qtgui/TQPainterPath.prg
  * harbour/contrib/hbqt/qtgui/QTransform.cpp
  * harbour/contrib/hbqt/qtgui/QPicture.cpp
  * harbour/contrib/hbqt/qtgui/QAction.cpp
  * harbour/contrib/hbqt/qtgui/QPaintEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturn.prg
  * harbour/contrib/hbqt/qtgui/QStyledItemDelegate.cpp
  * harbour/contrib/hbqt/qtgui/QWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQProgressBar.prg
  * harbour/contrib/hbqt/qtgui/TQFontDatabase.prg
  * harbour/contrib/hbqt/qtgui/QFontDialog.cpp
  * harbour/contrib/hbqt/qtgui/QToolBox.cpp
  * harbour/contrib/hbqt/qtgui/TQLineEdit.prg
  * harbour/contrib/hbqt/qtgui/TQHBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/QTextListFormat.cpp
  * harbour/contrib/hbqt/qtgui/QMouseEvent.cpp
  * harbour/contrib/hbqt/qtgui/QTextEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQToolBar.prg
  * harbour/contrib/hbqt/qtgui/TQTreeWidget.prg
  * harbour/contrib/hbqt/qtgui/QFontComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQSplitter.prg
  * harbour/contrib/hbqt/qtgui/QStyle.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionHeader.cpp
  * harbour/contrib/hbqt/qtgui/TQComboBox.prg
  * harbour/contrib/hbqt/qtgui/QAbstractTextDocumentLayout.cpp
  * harbour/contrib/hbqt/qtgui/QListView.cpp
  * harbour/contrib/hbqt/qtgui/QWheelEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractItemDelegate.prg
  * harbour/contrib/hbqt/qtgui/TQSessionManager.prg
  * harbour/contrib/hbqt/qtgui/QRadialGradient.cpp
  * harbour/contrib/hbqt/qtgui/QLayout.cpp
  * harbour/contrib/hbqt/qtgui/QCursor.cpp
  * harbour/contrib/hbqt/qtgui/TQProgressDialog.prg
  * harbour/contrib/hbqt/qtgui/QPainterPath.cpp
  * harbour/contrib/hbqt/qtgui/QLabel.cpp
  * harbour/contrib/hbqt/qtgui/TQBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/TQPolygon.prg
  * harbour/contrib/hbqt/qtgui/QFocusEvent.cpp
  * harbour/contrib/hbqt/qtgui/QBrush.cpp
  * harbour/contrib/hbqt/qtgui/QStyleHintReturn.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolButton.cpp
  * harbour/contrib/hbqt/qtgui/QStylePainter.cpp
  * harbour/contrib/hbqt/qtgui/TQRadioButton.prg
  * harbour/contrib/hbqt/qtgui/TQSystemTrayIcon.prg
  * harbour/contrib/hbqt/qtgui/QLinearGradient.cpp
  * harbour/contrib/hbqt/qtgui/TQListWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/QProgressBar.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBlock.prg
  * harbour/contrib/hbqt/qtgui/TQTextFrame.prg
  * harbour/contrib/hbqt/qtgui/QDragLeaveEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionViewItem.prg
  * harbour/contrib/hbqt/qtgui/TQInputContext.prg
  * harbour/contrib/hbqt/qtgui/QClipboard.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolBox.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTabBarBase.cpp
  * harbour/contrib/hbqt/qtgui/QToolBar.cpp
  * harbour/contrib/hbqt/qtgui/TQStatusBar.prg
  * harbour/contrib/hbqt/qtgui/TQTextBlockFormat.prg
  * harbour/contrib/hbqt/qtgui/TQTextFrameFormat.prg
  * harbour/contrib/hbqt/qtgui/QFontMetricsF.cpp
  * harbour/contrib/hbqt/qtgui/TQTabWidget.prg
  * harbour/contrib/hbqt/qtgui/TQLCDNumber.prg
  * harbour/contrib/hbqt/qtgui/TQMainWindow.prg
  * harbour/contrib/hbqt/qtgui/QToolButton.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTitleBar.prg
  * harbour/contrib/hbqt/qtgui/QWindowsStyle.cpp
  * harbour/contrib/hbqt/qtgui/TQDockWidget.prg
  * harbour/contrib/hbqt/qtgui/QColor.cpp
  * harbour/contrib/hbqt/qtgui/QListWidget.cpp
  * harbour/contrib/hbqt/qtgui/QTextLayout.cpp
  * harbour/contrib/hbqt/qtgui/QTextCursor.cpp
  * harbour/contrib/hbqt/qtgui/TQSound.prg
  * harbour/contrib/hbqt/qtgui/QTextDocument.cpp
  * harbour/contrib/hbqt/qtgui/TQHelpEvent.prg
  * harbour/contrib/hbqt/qtgui/QAbstractProxyModel.cpp
  * harbour/contrib/hbqt/qtgui/QPolygon.cpp
  * harbour/contrib/hbqt/qtgui/TQGradient.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractPrintDialog.prg
  * harbour/contrib/hbqt/qtgui/QRadioButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWizard.prg
  * harbour/contrib/hbqt/qtgui/TQApplication.prg
  * harbour/contrib/hbqt/qtgui/QAbstractButton.cpp
  * harbour/contrib/hbqt/qtgui/TQSyntaxHighlighter.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionViewItem.cpp
  * harbour/contrib/hbqt/qtgui/QFileIconProvider.cpp
  * harbour/contrib/hbqt/qtgui/TQTextOption.prg
  * harbour/contrib/hbqt/qtgui/QTextFrameFormat.cpp
  * harbour/contrib/hbqt/qtgui/QTextBlockFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQInputDialog.prg
  * harbour/contrib/hbqt/qtgui/TQMovie.prg
  * harbour/contrib/hbqt/qtgui/TQKeySequence.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionToolBar.cpp
  * harbour/contrib/hbqt/qtgui/QBitmap.cpp
  * harbour/contrib/hbqt/qtgui/QCalendarWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQPrinter.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionTitleBar.cpp
  * harbour/contrib/hbqt/qtgui/QHeaderView.cpp
  * harbour/contrib/hbqt/qtgui/QScrollBar.cpp
  * harbour/contrib/hbqt/qtgui/TQActionGroup.prg
  * harbour/contrib/hbqt/qtgui/TQTextEdit.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWizardPage.prg
  * harbour/contrib/hbqt/qtgui/QCommandLinkButton.cpp
  * harbour/contrib/hbqt/qtgui/TQFontComboBox.prg
  * harbour/contrib/hbqt/qtgui/QFocusFrame.cpp
  * harbour/contrib/hbqt/qtgui/QSizePolicy.cpp
  * harbour/contrib/hbqt/qtgui/TQListView.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSizeGrip.prg
  * harbour/contrib/hbqt/qtgui/QAbstractPrintDialog.cpp
  * harbour/contrib/hbqt/qtgui/QApplication.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBlockGroup.prg
  * harbour/contrib/hbqt/qtgui/QAbstractSlider.cpp
  * harbour/contrib/hbqt/qtgui/QTextFragment.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionGroupBox.prg
  * harbour/contrib/hbqt/qtgui/Makefile
  * harbour/contrib/hbqt/qtgui/QAbstractScrollArea.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintEngine.prg
  * harbour/contrib/hbqt/qtgui/TQStylePainter.prg
  * harbour/contrib/hbqt/qtgui/QPlainTextEdit.cpp
  * harbour/contrib/hbqt/qtgui/QInputDialog.cpp
  * harbour/contrib/hbqt/qtgui/QKeySequence.cpp
  * harbour/contrib/hbqt/qtgui/QPrinter.cpp
  * harbour/contrib/hbqt/qtgui/TQMessageBox.prg
  * harbour/contrib/hbqt/qtgui/QKeyEvent.cpp
  * harbour/contrib/hbqt/qtgui/QActionGroup.cpp
  * harbour/contrib/hbqt/qtgui/QTextCharFormat.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionSlider.cpp
  * harbour/contrib/hbqt/qtgui/TQFontMetricsF.prg
  * harbour/contrib/hbqt/qtgui/TQDragMoveEvent.prg
  * harbour/contrib/hbqt/qtgui/QInputEvent.cpp
  * harbour/contrib/hbqt/qtgui/QWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/TQCommonStyle.prg
  * harbour/contrib/hbqt/qtgui/QMenu.cpp
  * harbour/contrib/hbqt/qtgui/TQWindowsStyle.prg
  * harbour/contrib/hbqt/qtgui/TQPushButton.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionSizeGrip.cpp
  * harbour/contrib/hbqt/qtgui/TQDoubleSpinBox.prg
  * harbour/contrib/hbqt/qtgui/QTextObject.cpp
  * harbour/contrib/hbqt/qtgui/TQTreeWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/TQTableView.prg
  * harbour/contrib/hbqt/qtgui/TQTextDocument.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionGroupBox.cpp
  * harbour/contrib/hbqt/qtgui/QPrintEngine.cpp
  * harbour/contrib/hbqt/qtgui/QFontInfo.cpp
  * harbour/contrib/hbqt/qtgui/QImage.cpp
  * harbour/contrib/hbqt/qtgui/TQButtonGroup.prg
  * harbour/contrib/hbqt/qtgui/TQFrame.prg
  * harbour/contrib/hbqt/qtgui/TQCompleter.prg
  * harbour/contrib/hbqt/qtgui/QValidator.cpp
  * harbour/contrib/hbqt/qtgui/TQTextFormat.prg
  * harbour/contrib/hbqt/qtgui/QIcon.cpp
  * harbour/contrib/hbqt/qtgui/TQColorDialog.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionProgressBar.prg
  * harbour/contrib/hbqt/qtgui/QPolygonF.cpp
  * harbour/contrib/hbqt/qtgui/TQFileIconProvider.prg
  * harbour/contrib/hbqt/qtgui/QHBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturnVariant.prg
  * harbour/contrib/hbqt/qtgui/QTreeWidget.cpp
  * harbour/contrib/hbqt/qtgui/QCommonStyle.cpp
  * harbour/contrib/hbqt/qtgui/TQTextDocumentWriter.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTab.prg
  * harbour/contrib/hbqt/qtgui/TQStringListModel.prg
  * harbour/contrib/hbqt/qtgui/QAbstractItemView.cpp
  * harbour/contrib/hbqt/qtgui/QSessionManager.cpp
  * harbour/contrib/hbqt/qtgui/TQTextBrowser.prg
  * harbour/contrib/hbqt/qtgui/QProgressDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidget.prg
  * harbour/contrib/hbqt/qtgui/TQTabBar.prg
  * harbour/contrib/hbqt/qtgui/TQSpacerItem.prg
  * harbour/contrib/hbqt/qtgui/QButtonGroup.cpp
  * harbour/contrib/hbqt/qtgui/QStyleFactory.cpp
  * harbour/contrib/hbqt/qtgui/TQDialog.prg
  * harbour/contrib/hbqt/qtgui/TQFileDialog.prg
  * harbour/contrib/hbqt/qtgui/TQStandardItemModel.prg
  * harbour/contrib/hbqt/qtgui/TQFormLayout.prg
  * harbour/contrib/hbqt/qtgui/QSystemTrayIcon.cpp
  * harbour/contrib/hbqt/qtgui/TQItemSelection.prg
  * harbour/contrib/hbqt/qtgui/QListWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/QColorDialog.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionDockWidget.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTabWidgetFrame.cpp
  * harbour/contrib/hbqt/qtgui/TQFileSystemModel.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractSpinBox.prg
  * harbour/contrib/hbqt/qtgui/TQTextFragment.prg
  * harbour/contrib/hbqt/qtgui/QInputMethodEvent.cpp
  * harbour/contrib/hbqt/qtgui/QDateTimeEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQTransform.prg
  * harbour/contrib/hbqt/qtgui/TQVBoxLayout.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionFocusRect.cpp
  * harbour/contrib/hbqt/qtgui/QMoveEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQImageWriter.prg
  * harbour/contrib/hbqt/qtgui/QMainWindow.cpp
  * harbour/contrib/hbqt/qtgui/QDesktopWidget.cpp
  * harbour/contrib/hbqt/qtgui/QTableWidgetSelectionRange.cpp
  * harbour/contrib/hbqt/qtgui/QWidgetAction.cpp
  * harbour/contrib/hbqt/qtgui/TQMenuBar.prg
  * harbour/contrib/hbqt/qtgui/QStringListModel.cpp
  * harbour/contrib/hbqt/qtgui/TQKeyEvent.prg
  * harbour/contrib/hbqt/qtgui/QDockWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQPaintDevice.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionMenuItem.prg
  * harbour/contrib/hbqt/qtgui/TQFontMetrics.prg
  * harbour/contrib/hbqt/qtgui/QTextBrowser.cpp
  * harbour/contrib/hbqt/qtgui/TQStyle.prg
  * harbour/contrib/hbqt/qtgui/QTableWidget.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionHeader.prg
  * harbour/contrib/hbqt/qtgui/TQMenu.prg
  * harbour/contrib/hbqt/qtgui/TQMatrix.prg
  * harbour/contrib/hbqt/qtgui/QErrorMessage.cpp
  * harbour/contrib/hbqt/qtgui/QWizard.cpp
  * harbour/contrib/hbqt/qtgui/QFileSystemModel.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintDialog.prg
  * harbour/contrib/hbqt/qtgui/QAbstractSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/TQPrintPreviewDialog.prg
  * harbour/contrib/hbqt/qtgui/TQLabel.prg
  * harbour/contrib/hbqt/qtgui/QDial.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionComboBox.prg
  * harbour/contrib/hbqt/qtgui/TQSlider.prg
  * harbour/contrib/hbqt/qtgui/TQFontInfo.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolButton.prg
  * harbour/contrib/hbqt/qtgui/QTextOption.cpp
  * harbour/contrib/hbqt/qtgui/TQBrush.prg
  * harbour/contrib/hbqt/qtgui/QImageWriter.cpp
  * harbour/contrib/hbqt/qtgui/TQScrollArea.prg
  * harbour/contrib/hbqt/qtgui/TQIcon.prg
  * harbour/contrib/hbqt/qtgui/TQLayoutItem.prg
  * harbour/contrib/hbqt/qtgui/TQPolygonF.prg
  * harbour/contrib/hbqt/qtgui/TQPixmap.prg
  * harbour/contrib/hbqt/qtgui/QMenuBar.cpp
  * harbour/contrib/hbqt/qtgui/TQClipboard.prg
  * harbour/contrib/hbqt/qtgui/TQTextImageFormat.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTabBarBase.prg
  * harbour/contrib/hbqt/qtgui/QPaintDevice.cpp
  * harbour/contrib/hbqt/qtgui/QFontMetrics.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionMenuItem.cpp
  * harbour/contrib/hbqt/qtgui/QWizardPage.cpp
  * harbour/contrib/hbqt/qtgui/TQImageReader.prg
  * harbour/contrib/hbqt/qtgui/QDropEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractItemView.prg
  * harbour/contrib/hbqt/qtgui/TQColor.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionComplex.prg
  * harbour/contrib/hbqt/qtgui/QTextBlockGroup.cpp
  * harbour/contrib/hbqt/qtgui/QPrintDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQRegion.prg
  * harbour/contrib/hbqt/qtgui/QStandardItem.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleFactory.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSpinBox.prg
  * harbour/contrib/hbqt/qtgui/TQPalette.prg
  * harbour/contrib/hbqt/qtgui/QSplashScreen.cpp
  * harbour/contrib/hbqt/qtgui/TQDateTimeEdit.prg
  * harbour/contrib/hbqt/qtgui/QSizeGrip.cpp
  * harbour/contrib/hbqt/qtgui/TQInputMethodEvent.prg
  * harbour/contrib/hbqt/qtgui/TQPainter.prg
  * harbour/contrib/hbqt/qtgui/QMessageBox.cpp
  * harbour/contrib/hbqt/qtgui/TQResizeEvent.prg
  * harbour/contrib/hbqt/qtgui/TQTextTableFormat.prg
  * harbour/contrib/hbqt/qtgui/QTextImageFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionFocusRect.prg
  * harbour/contrib/hbqt/qtgui/QGroupBox.cpp
  * harbour/contrib/hbqt/qtgui/QImageReader.cpp
  * harbour/contrib/hbqt/qtgui/TQDragEnterEvent.prg
  * harbour/contrib/hbqt/qtgui/QTextDocumentFragment.cpp
  * harbour/contrib/hbqt/qtgui/QPushButton.cpp
  * harbour/contrib/hbqt/qtgui/TQWidgetAction.prg
  * harbour/contrib/hbqt/qtgui/TQGridLayout.prg
  * harbour/contrib/hbqt/qtgui/TQScrollBar.prg
  * harbour/contrib/hbqt/qtgui/TQItemSelectionModel.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionButton.prg
  * harbour/contrib/hbqt/qtgui/TQTextLength.prg
  * harbour/contrib/hbqt/qtgui/TQCommandLinkButton.prg
  * harbour/contrib/hbqt/qtgui/QTreeWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/QBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQErrorMessage.prg
  * harbour/contrib/hbqt/qtgui/QTextFormat.cpp
  * harbour/contrib/hbqt/qtgui/QPalette.cpp
  * harbour/contrib/hbqt/qtgui/QTextFrame.cpp
  * harbour/contrib/hbqt/qtgui/QTextBlock.cpp
  * harbour/contrib/hbqt/qtgui/QPainter.cpp
  * harbour/contrib/hbqt/qtgui/TQDial.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionProgressBar.cpp
  * harbour/contrib/hbqt/qtgui/QResizeEvent.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidgetItem.prg
  * harbour/contrib/hbqt/qtgui/QTextTableFormat.cpp
  * harbour/contrib/hbqt/qtgui/TQAction.prg
  * harbour/contrib/hbqt/qtgui/TQPaintEvent.prg
  * harbour/contrib/hbqt/qtgui/QStyleHintReturnVariant.cpp
  * harbour/contrib/hbqt/qtgui/QStatusBar.cpp
  * harbour/contrib/hbqt/qtgui/TQStyledItemDelegate.prg
  * harbour/contrib/hbqt/qtgui/TQPlainTextEdit.prg
  * harbour/contrib/hbqt/qtgui/QTextInlineObject.cpp
  * harbour/contrib/hbqt/qtgui/QTabWidget.cpp
  * harbour/contrib/hbqt/qtgui/QContextMenuEvent.cpp
  * harbour/contrib/hbqt/qtgui/QLCDNumber.cpp
  * harbour/contrib/hbqt/qtgui/TQWidget.prg
  * harbour/contrib/hbqt/qtgui/TQFontDialog.prg
  * harbour/contrib/hbqt/qtgui/QTextDocumentWriter.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionTab.cpp
  * harbour/contrib/hbqt/qtgui/QDateEdit.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOption.prg
  * harbour/contrib/hbqt/qtgui/TQTextListFormat.prg
  * harbour/contrib/hbqt/qtgui/TQMouseEvent.prg
  * harbour/contrib/hbqt/qtgui/QCheckBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionSlider.prg
  * harbour/contrib/hbqt/qtgui/QSound.cpp
  * harbour/contrib/hbqt/qtgui/QHelpEvent.cpp
  * harbour/contrib/hbqt/qtgui/QTabBar.cpp
  * harbour/contrib/hbqt/qtgui/QSpacerItem.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractTextDocumentLayout.prg
  * harbour/contrib/hbqt/qtgui/QFileDialog.cpp
  * harbour/contrib/hbqt/qtgui/QDirModel.cpp
  * harbour/contrib/hbqt/qtgui/QDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQWheelEvent.prg
  * harbour/contrib/hbqt/qtgui/QFormLayout.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionFrame.cpp
  * harbour/contrib/hbqt/qtgui/TQRadialGradient.prg
  * harbour/contrib/hbqt/qtgui/QSyntaxHighlighter.cpp
  * harbour/contrib/hbqt/qtgui/QFont.cpp
  * harbour/contrib/hbqt/qtgui/TQCursor.prg
  * harbour/contrib/hbqt/qtgui/TQLayout.prg
  * harbour/contrib/hbqt/qtgui/TQStandardItem.prg
  * harbour/contrib/hbqt/qtgui/QTableWidgetItem.cpp
  * harbour/contrib/hbqt/qtgui/TQFocusEvent.prg
  * harbour/contrib/hbqt/qtgui/QVBoxLayout.cpp
  * harbour/contrib/hbqt/qtgui/TQImage.prg
  * harbour/contrib/hbqt/qtgui/TQSpinBox.prg
  * harbour/contrib/hbqt/qtgui/QMovie.cpp
  * harbour/contrib/hbqt/qtgui/TQValidator.prg
  * harbour/contrib/hbqt/qtgui/TQLinearGradient.prg
  * harbour/contrib/hbqt/qtgui/TQSplashScreen.prg
  * harbour/contrib/hbqt/qtgui/TQDragLeaveEvent.prg
  * harbour/contrib/hbqt/qtgui/TQSizeGrip.prg
  * harbour/contrib/hbqt/qtgui/QStyleOption.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleHintReturnMask.prg
  * harbour/contrib/hbqt/qtgui/QTreeView.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolBox.prg
  * harbour/contrib/hbqt/qtgui/QTextLine.cpp
  * harbour/contrib/hbqt/qtgui/TQGroupBox.prg
  * harbour/contrib/hbqt/qtgui/TQTextDocumentFragment.prg
  * harbour/contrib/hbqt/qtgui/QTextItem.cpp
  * harbour/contrib/hbqt/qtgui/TQToolButton.prg
  * harbour/contrib/hbqt/qtgui/QTimeEdit.cpp
  * harbour/contrib/hbqt/qtgui/QMatrix.cpp
  * harbour/contrib/hbqt/qtgui/TQListWidget.prg
  * harbour/contrib/hbqt/qtgui/TQPen.prg
  * harbour/contrib/hbqt/qtgui/TQTextCursor.prg
  * harbour/contrib/hbqt/qtgui/TQTextLayout.prg
  * harbour/contrib/hbqt/qtgui/QPrintPreviewDialog.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractProxyModel.prg
  * harbour/contrib/hbqt/qtgui/QSlider.cpp
  * harbour/contrib/hbqt/qtgui/QSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/QScrollArea.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionDockWidget.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractButton.prg
  * harbour/contrib/hbqt/qtgui/TQStyleOptionTabWidgetFrame.prg
  * harbour/contrib/hbqt/qtgui/QFontDatabase.cpp
  * harbour/contrib/hbqt/qtgui/QLayoutItem.cpp
  * harbour/contrib/hbqt/qtgui/QLineEdit.cpp
  * harbour/contrib/hbqt/qtgui/QPixmap.cpp
  * harbour/contrib/hbqt/qtgui/QStyleHintReturnMask.cpp
  * harbour/contrib/hbqt/qtgui/TQMoveEvent.prg
  * harbour/contrib/hbqt/qtgui/TQTextInlineObject.prg
  * harbour/contrib/hbqt/qtgui/TQContextMenuEvent.prg
  * harbour/contrib/hbqt/qtgui/TQBitmap.prg
  * harbour/contrib/hbqt/qtgui/QDragMoveEvent.cpp
  * harbour/contrib/hbqt/qtgui/QSplitter.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionToolBar.prg
  * harbour/contrib/hbqt/qtgui/TQDesktopWidget.prg
  * harbour/contrib/hbqt/qtgui/TQCalendarWidget.prg
  * harbour/contrib/hbqt/qtgui/TQPageSetupDialog.prg
  * harbour/contrib/hbqt/qtgui/QComboBox.cpp
  * harbour/contrib/hbqt/qtgui/TQTableWidgetSelectionRange.prg
  * harbour/contrib/hbqt/qtgui/TQDateEdit.prg
  * harbour/contrib/hbqt/qtgui/QDoubleSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/QAbstractItemDelegate.cpp
  * harbour/contrib/hbqt/qtgui/TQHeaderView.prg
  * harbour/contrib/hbqt/qtgui/TQConicalGradient.prg
  * harbour/contrib/hbqt/qtgui/TQCheckBox.prg
  * harbour/contrib/hbqt/qtgui/QStyleOptionComplex.cpp
  * harbour/contrib/hbqt/qtgui/QTableView.cpp
  * harbour/contrib/hbqt/qtgui/QPen.cpp
  * harbour/contrib/hbqt/qtgui/QRegion.cpp
  * harbour/contrib/hbqt/qtgui/TQFocusFrame.prg
  * harbour/contrib/hbqt/qtgui/TQSizePolicy.prg
  * harbour/contrib/hbqt/qtgui/TQDirModel.prg
  * harbour/contrib/hbqt/qtgui/QFrame.cpp
  * harbour/contrib/hbqt/qtgui/QCompleter.cpp
  * harbour/contrib/hbqt/qtgui/QStyleOptionSpinBox.cpp
  * harbour/contrib/hbqt/qtgui/TQStyleOptionFrame.prg
  * harbour/contrib/hbqt/qtgui/TQFont.prg
  * harbour/contrib/hbqt/qtgui/TQAbstractSlider.prg
  * harbour/contrib/hbqt/qtgui/QInputContext.cpp
  * harbour/contrib/hbqt/qtgui/TQAbstractScrollArea.prg
  * harbour/contrib/hbqt/qtgui/TQPicture.prg
  * harbour/contrib/hbqt/qtcore/TQSettings.prg
  * harbour/contrib/hbqt/qtcore/QSettings.cpp
  * harbour/contrib/hbqt/qtcore/TQUiLoader.prg
  * harbour/contrib/hbqt/qtcore/QUiLoader.cpp
  * harbour/contrib/hbqt/hbqt_errorsys.prg
  * harbour/contrib/hbqt/hbqt_destruct.cpp
  * harbour/contrib/hbqt/qtnetwork/QHttp.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttpHeader.prg
  * harbour/contrib/hbqt/qtnetwork/TQFtp.prg
  * harbour/contrib/hbqt/qtnetwork/QHttpHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/QFtp.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttpRequestHeader.prg
  * harbour/contrib/hbqt/qtnetwork/TQNetworkRequest.prg
  * harbour/contrib/hbqt/qtnetwork/TQHttpResponseHeader.prg
  * harbour/contrib/hbqt/qtnetwork/QHttpRequestHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/QNetworkRequest.cpp
  * harbour/contrib/hbqt/qtnetwork/QHttpResponseHeader.cpp
  * harbour/contrib/hbqt/qtnetwork/TQHttp.prg
  * harbour/contrib/hbqt/qtnetwork/Makefile
  * harbour/contrib/hbqt/hbqt_misc.prg
  * harbour/contrib/hbxbp/xbppresspace.prg
  * harbour/contrib/hbxbp/xbprtf.prg
  * harbour/contrib/hbxbp/xbpbrowse.prg
  * harbour/contrib/hbxbp/xbpprintdialog.prg
  * harbour/contrib/hbxbp/xbpdev.ch
  * harbour/contrib/hbxbp/xbpprinter.prg
  * harbour/contrib/hbxbp/xbpqtuiloader.prg
  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiomt.prg
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbnetio/Makefile
  * harbour/contrib/hbide/ideobject.prg
  * harbour/contrib/hbide/hbide.hbp
  * harbour/contrib/hbide/iderequests.prg
  * harbour/contrib/hbide/idestylesheets.prg
  * harbour/contrib/hbide/idefindreplace.prg
  * harbour/contrib/hbide/idethemes.prg
  * harbour/contrib/hbide/ideeditor.prg
  * harbour/contrib/hbide/hbide.prg
  * harbour/contrib/hbide/idemisc.prg
  * harbour/contrib/hbide/hbide.ch
  * harbour/contrib/hbide/idetags.prg
  * harbour/contrib/hbide/idesaveload.prg
  * harbour/contrib/hbide/ideactions.prg
  * harbour/contrib/hbide/idedocks.prg
  * harbour/contrib/hbide/ideparseexpr.c
  * harbour/contrib/hbide/ideprojmanager.prg
    * set svn:keywords attribute to "Author Date Id Revision"
2010-01-11 13:44:04 +00:00
Przemyslaw Czerpak
af90ba9a0c 2010-01-11 12:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    * move hb_znetOpen() parameter validation from HB_INETCOMPRESS()
      to hb_znetOpen() - it should help keeping other code using
      hb_znetOpen() more simple

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + added support for compression and encryption in NETIO connection
      streams. Enabling encryption (password) automatically enable also
      compression. If necessary user can set compression level to
      HB_ZLIB_COMPRESSION_NONE. HB_ZLIB_COMPRESSION_DISABLE used as
      compression level removes compression and encryption.
      See below for details of NETIO server and client code modifications.

  * harbour/contrib/hbnetio/netiocli.c
    + extended NETIO_CONNECT() client side function parameters:
         NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>], ;
                        [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <lOK>
    % changed the behavior of NETIO_CONNECT() client side function.
      In the previous version this function was connecting to the server
      and then disconnecting so it was used to check if connection is
      available and to set default connection parameters.
      Now it does not disconnect after successful connection so created
      connection is keept and can be reused by any pending NETIO_*() calls.
      User can open many different connections in the same time.
      The connections are recognized by server and port address.
      The connections set by NETIO_CONNECT() function can be closed by
      NETIO_DISCONNECT() function.
      Each repeated call to NETIO_CONNECT() increase reference counter
      in the connection stream and need corresponding number of
      NETIO_DISCONNECT() calls.
    + added new PRG client side function:
         NETIO_DISCONNECT( [<cServer>], [<cPort>] ) -> <lOK>
      which closes connections set by NETIO_CONNECT().
    + added support for passing connection password as part of file path
      or function name in format:
         <server>[:<port>[:<passwd>]]:<filepath|funcname>
      i.e.:
         192.168.0.1:2941:secret:path/to/file
      Please remember that it's only an alternative method of setting
      encryption which does not allow to use CHR(0) or ":" in passwords.
      User can always set connection using NETIO_CONNECT() function which
      will be used in RPC or FILE IO calls. If more then one connection
      is set by NETIO_CONNECT() then user can chose the connection using
      only server and port. It's not necessary to pass other connection
      parameters.
    + added support for UNC paths:
         //<server>[:<port>]/<filepath|funcname>
      i.e.:
         //192.168.0.1:2941/path/to/file
      backslashes (\\) are also supported.

  * harbour/contrib/hbnetio/netiosrv.c
    % moved 1-st login identification from NETIO_ACCEPT() to NETIO_SERVER()
      Such version do not block other connection accepting when server
      waits for NETIO_LOGIN frame so it improve scalability and also
      protect against code which may want to block access to the server
      by opening dummy connections.
    + added new parameters to NETIO_ACCEPT() function which allows to set
      encryption and compression for new connections:
         NETIO_ACCEPT( <pListenSocket>, [<nTimeOut>],
                       [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pConnectionSocket> | NIL
    + added new server side function:
         NETIO_COMPRESS( <pConnectionSocket>,
                         [<cPass>], [<nCompressionLevel>], [<nStrategy>] )
            -> NIL
      which allow to set or change encryption and compression parameters
      in existing connections

  * harbour/contrib/hbnetio/netiomt.prg
    * updated to accept new connection parameters in NETIO_MTSERVER()
      function:
         NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>], [<lRPC>],
                         [<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
            -> <pListenSocket>

  * harbour/contrib/hbnetio/utils/netiosrv.prg
    + added 5-th parameter <passwd> which enable encryption with compression,
      current syntx is:
         netiosrv [<port>] [<inetaddr>] [<rootdir>] [<rpc>] [<passwd>]
      For default values use "" in command line for skipped parameters, i.e.:
         netiosrv "" "" "" 1 topsecret

  * harbour/contrib/hbnetio/tests/netiotst.prg
    * enable RPC, compression and encryption in test code
    + added simple code which use RPC to create directory on the server side


   Now it's possible to easy create secure NETIO connections and compression
   should help in slow connections when big number of data has to be
   exchange. In RDD file access it mostly help when tables use long records.

   Hope you will find it useful. Please make tests.
2010-01-11 11:22:05 +00:00
Pritpal Bedi
0ccafa6486 2010-01-10 22:54 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ contrib/hbide/resources/folder.png
    + Added new image to be placed on "Property Dialog"s
      folder selection push buttons.

  * contrib/hbide/resources/projectproperties.ui
    + Made resizable. Now it renders more usefulness.

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
    ! Fixed and corrected many artifacts.    
      Mainly in the area of project building, please test.
2010-01-11 06:59:44 +00:00
Vailton Renato
d9c9010f87 2010-01-10 16:54 UTC-0300 Vailton Renato (vailtom gmail.com)
* contrib/hbide/ideactions.prg
	 + Added new action "CloseOther" referenced in the menu, but missing in 
	   IdeActions:loadActions()
	   
  * contrib/hbide/idesources.prg
    ! Reimplemented the method closeAllOthers() because the old code did not 
	 	work properly. Please test and report.
2010-01-10 19:09:03 +00:00
Pritpal Bedi
263b3652c8 2010-01-10 07:34 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idedocks.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbxbp/xbprtf.prg
    ! Fixed: double-click on Output Console error information 
      line now correctly places the editor positions.
      The error will not occur in future.
2010-01-10 15:38:12 +00:00
Vailton Renato
d6ad2ffe47 2010-01-10 10:50 UTC-0300 Vailton Renato (vailtom gmail.com)
* contrib/hbide/idesources.prg
    ! Fixed to call ::oIde:updateTitleBar() after close any file. After closing
      all the files, the hbIDE was not updating the title bar of the main 
      window.
2010-01-10 13:14:51 +00:00
Viktor Szakats
83d8970362 2010-01-10 12:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_prn3.c
    % Dropped hb_xgrab() return value checks for NULL.
    * Avoided lstrcpy().
2010-01-10 11:59:23 +00:00
Viktor Szakats
7d0eb012a9 2010-01-10 11:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added gcc pkg to opensolaris pkg list.

  * harbour.spec
    ! Do not mark Red Hat and SUSE as discontinued. These names seem
      to be used for "enterprise" versions of these distros, but correct
      me if I'm wrong.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Made it clean on the help screen which options can only be used 
      from the command line.
2010-01-10 10:58:27 +00:00
Pritpal Bedi
486047b99a 2010-01-10 02:16 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/resources/projectproperties.ui
    ! Some fixes and code optimizations.
      Please report if some feature is not working ok.
2010-01-10 10:18:51 +00:00
Pritpal Bedi
0b4cbe9923 2010-01-09 15:39 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.ch
  * contrib/hbide/hbide.hbp
  * contrib/hbide/hbide.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  + contrib/hbide/idesources.prg
  * contrib/hbide/projects/hbide.hbi
    ! Next round of reforms, may be second-last,
      mainly concentrating on accessing the different 
      components with ease.

    ! Some formattig and code optimizations.
2010-01-09 23:43:59 +00:00
Pritpal Bedi
36faf95036 2010-01-09 10:53 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/hbqt_hbslots.h
    + Added few more slots.
    ! Improved formatting.

  * contrib/hbxbp/xbprtf.prg
    ! Corrected "undoAvailable(bool)" slot string.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
    + Implemented context menu in the editor tabs.
      Now it is synchronized with toolbar with same look and feel.

    + Implemented to re-position editor tabs with drag.
      HOWTO: Place mouse pointer over a tab -> 
             keep pressed left button ->
             move mouse pointer left or right ->
             ( tab will move with your action ) ->
             release left button when desired position is obtained.
2010-01-09 19:03:28 +00:00
Viktor Szakats
37d7989d47 2010-01-09 12:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Extended Linux deb/rpm sections:
      - Added list of base packages
      - Listed actual active distro names
      - Added pkg install command for various rpm distros
      - Added link to webpage containing extensive information
          about pkg management commands on different distros
    + Added SUNWsvn package for OpenSolaris.

  * harbour.spec
    ! Typo in comment.
    + Added 'DISCONTINUED' comments to those distros which are 
      (suprise!) discontinued.

  * contrib/hbwin/wapi_winbase.c
    ! Fixed to set internal getlasterror value in WAPI_FORMATMESSAGE().
      Thanks Xavi.

  * contrib/hbwin/wapi_err.c
    ! Fixed to include 'hbwapi.h'
      Thanks Xavi again.

  * config/global.mk
    + Added autodetection of Gentoo Linux package manager.

  * contrib/hbbtree/hb_btree.c
    + Added two TOFIX notes. Both reported on the list previously.
2010-01-09 11:55:36 +00:00
April White
07e8174aae 2010-01-09 02:31 UTC+0500 April White (april users.sourceforge.net)
* contrib/hbbtree/tbtree.prg
    * updated copyright date
    * formatting
    * hide constructor; use TBTreeNew()
      % this parallels the Open() merthod and TBTreeOpen()

  * contrib/hbbtree/hb_btree.h
    * updated copyright date
    * removed internal ChangeLog
    * formatting
    * change BOOL/TRUE/FALSE to HB_*

  * contrib/hbbtree/hb_btree.c
    * updated copyright date
    * change BOOL/TRUE/FALSE to HB_*
    - HB_BTREE error codes moved to hb_btree.ch
    * renamed (remove hb_ prefix) from internal error raise function
    * error gencode used

  * contrib/hbbtree/hb_btree.ch
    * updated copyright date
    * removed internal ChangeLog
    + HB_BTREE error codes
2010-01-09 02:34:46 +00:00
Pritpal Bedi
f009567e50 2010-01-08 18:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    + Enabled .PPO creation in a tab sharing the other sources.
      So all other editing features are available to it.
     .ppo is opened in separate tab than the original source.
     .ppo is not included in "Recent Files" list and hance 
     it is not made available at next execution.
2010-01-09 02:12:39 +00:00
Viktor Szakats
7760e7425d 2010-01-09 01:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed to not require HB_BIN_COMPILE is host and target
      platform is the same, host is x64 and target is x86.
      x64 hosts can run x86 binaries. (pls shout if you know
      any exception)

  * INSTALL
    + Added extra info to openSUSE section.
    ; TODO: Update .rpm/opensuse section.

  * harbour.spec
    + Added initialization of HB_USER_DFLAGS.
    ; TOFIX: Current setup doesn't allow passing -m32 to force 32-bit
             .rpm builds on 64-bit systems.
    ; TOFIX: OpenSUSE 10.2 uses 'gpm' instead of 'gpm-devel'.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
    * Changed to enable -hbcppmm only on win and os2 platforms.
      I don't know about linux, but on darwin this option caused
      this error:
         hbide(70507,0x7fff708a0be0) malloc: *** error for object 0x1019d3948: pointer being freed was not allocated
         *** set a breakpoint in malloc_error_break to debug
         Abort trap
2010-01-09 00:40:40 +00:00
Pritpal Bedi
8eceab7f7c 2010-01-08 15:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
    ! Fixed a very bad omission :
      if( object->property( signal ).toInt() == i )
         =>
      if( object->property( signal ).toInt() == i + 1 )
      It fixes if an action is not already defined for a widget.
      TO WATCH: Is is desirable ?

  * contrib/hbxbp/xbpfiledialog.prg
    ! Small optimization.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
    ! Separated toolbar and menu actions, the whole point of 
      recent reported issues, because toolbar and menu implementation
      call different methods with different intensions. 

      Please test if toolbar and menu option behave correctly.
 
      GROUP DECISION: should I go for QProcess() to manage build phase
      or keep Harbour centric implementation as well ? Qt seems to be 
      proper choice under this context.
2010-01-08 23:50:22 +00:00
Przemyslaw Czerpak
45232282b9 2010-01-08 18:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/dynsym.c
    + accept also function name (not only symbol index) as parameter
      of __DYNSISFUN()

  * harbour/src/rtl/hbznet.c
    * pacified BCC warnings
2010-01-08 17:28:54 +00:00
Przemyslaw Czerpak
25de114b61 2010-01-08 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    * pacified BCC warning

  * harbour/include/hbznet.h
  * harbour/src/rtl/hbznet.c
    + added support for blowfish encryption in HB_ZNETSTREAM
    + added C function
         void hb_znetEncryptKey( PHB_ZNETSTREAM pStream,
                                 const void * keydata, int keylen );
      which enables data encryption in HB_ZNETSTREAM
    + added 4-th parameter to <cPass> to .PRG HB_INETCOMPRESS() function:
         HB_INETCOMPRESS( <pSocket>, [<nCompressionLevel>], [<nStrategy>],
                          [<cPass>] )
         <cPass> is initial value to create blowfish key.
      Please test.
2010-01-08 13:00:37 +00:00
Viktor Szakats
7857d2d0eb 2010-01-08 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    ! Fixed typo in prev modification.
2010-01-08 11:25:42 +00:00
Pritpal Bedi
2dbdea1211 2010-01-08 01:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/hbqt_hbslots.h
    + Added QList<QObject *>listObj member.
      There was no guard against an object connected
      more than once for the same slot. That's why menu
      and toolbar actions were being executed twice.

  * contrib/hbqt/qtcore/QSettings.cpp
  * contrib/hbqt/qtcore/TQSettings.prg
  * contrib/hbqt/qth/QSettings.qth
    ! Added missing static functions.

  * contrib/hbxbp/xbpmenubar.prg
    ! Extended guard against invalid QAction.

  * contrib/hbxbp/xbpwindow.prg
    ! QPoint() was being accessed without initialization.

  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idesaveload.prg
    ! Fixes to execution of menu and toolbar events twice.
    ! Some more artifacts set right.
2010-01-08 09:54:38 +00:00
Pritpal Bedi
219e9c25d1 2010-01-07 18:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpmenubar.prg
2010-01-08 04:02:10 +00:00
Pritpal Bedi
dbba883c0f 2010-01-07 18:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpmenubar.prg
    ! Fixed nasty bug which was preventing removal of items 
      with oXbo:delItem().

  * contrib/hbxbp/xbpstatusbar.prg
    ! Removed the parenting of StatusBar as it was being done twice.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idestylesheets.prg
  * contrib/hbide/idethemes.prg

    ! Fixed to not flicker main window at start-up.
    ! Fix to recent files/projects menu.
      The issue was related with XbpMenu() class.
    ! Menu-bar now correctly displays foreground color.
    ! "Bare Minimum" theme is set as default  theme instead of "Pritpal Favourite".
    ! Fixed many other artifacts.
2010-01-08 03:10:12 +00:00
Viktor Szakats
0511a246a3 2010-01-08 01:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)

  * include/hbwince.h
    * Formatting.
2010-01-08 00:33:47 +00:00
Viktor Szakats
23ac606bcc 2010-01-08 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dlmalloc.c
    ! Fixed two potentially uninitialized variables, signaled by MSVC.

  * src/common/hbgete.c
    + Changed to use native SetEnvironmentVariable() API instead of
      forced ANSI one.

  * src/common/hbwince.c
  * include/hbwince.h
    % Deleted unused ANSI Windows API stubs.
    + Added empty SetEnvironmentVariable() stub for WinCE
      builds where it's missing.
    * Reconfigured these stubs:
        SetCurrentDirectory()
        GetCurrentDirectory()
        GetComputerName()
        GetUserName()

  * config/win/global.mk
    * Comment updated.

  * config/win/msvc.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)
2010-01-08 00:14:19 +00:00
Viktor Szakats
dd570d683c 2010-01-07 21:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added free SVN book link.

  * src/vm/extrap.c
    % Marked exception filter callback as 'static'
    ; TOCHECK: Please verify that OS/2 still works this way.

  * src/rtl/oemansi.c
    ! Fixed two tabs.

  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
  * contrib/rddads/adsfunc.c
    ! Fixed to not use unsafe/ANSI CharToOemBuffA() API.
    ; Please review me.

  * config/win/mingw.mk
    + Added information about MinGW alternatives for MSVC
      security features. Unfortunately they need Cygwin
      binary plus some depend on MinGW host platform
      and/or version.

  * include/hbwince.h
  * src/common/hbwince.c
    - Deleted CharToOemBuffA(), OemToCharBuffA(). No longer
      needed by Harbour.
    ; TODO: Delete rest of not anymore used ANSI WinAPI
            functions. Now Harbour never uses ANSI
            WinAPI functions in UNICODE mode.

  * config/win/global.mk
    - Deleted reference to CharToOemBuffA(), OemToCharBuffA().
2010-01-07 20:59:38 +00:00
Pritpal Bedi
8efc00067b 2010-01-07 10:34 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idethemes.prg
  * contrib/hbide/resources/selectionlist.ui
    ! selectionlist.ui updated to have <OK><Cancel> buttons.
2010-01-07 18:36:04 +00:00
Pritpal Bedi
f17c1d2ec5 2010-01-07 09:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idethemes.prg
    + Added "Bare Minimum" theme.
2010-01-07 17:32:15 +00:00
Viktor Szakats
ee3855d786 2010-01-07 18:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Made it clear that valgrind only support 32-bit Intel darwin
      systems ATM.
2010-01-07 17:23:43 +00:00
Viktor Szakats
472c3592ed 2010-01-07 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * contrib/hbwin/win_prn3.c
    + Added TOFIXes for unsafe function usage:
       IsBadWritePtr(), IsBadReadPtr(), lstrlen(), lstrcpy(), lstrcat()
    ; QUESTION: Any idea how to fix that? win_prn3.c can
                probably be fixed with some good general coding
                idea.

  * contrib/hbwin/wce_smsc.c
    ! Fixed to not use unsafe CRTL functions.

  * src/rtl/oemansi.c
    ! Rewritten HB_OEMTOANSI() and HB_ANSITOOEM() to not use
      Windows API functions marked as unsafe. New version is a bit
      slower but won't mark Harbour apps as unsafe in an audit.
    ; Please test and review.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    % Deleted -Gs MSVC option. Testing with MSVC 2008 I've found
      this have no effect on x86 builds, and it makes x64 builds
      slighly less efficient by forcing stack checks in each function
      call. This seems to contradict MSDN, which doesn't suggest such
      difference between x86 and x64:
         http://msdn.microsoft.com/en-us/library/9598wk25.aspx
    % Deleted -GS- MSVC option used for wce targets for MSVC >= 8.00.
      '-GS-' will disable stack cookies (on by default), thus trading
      app size/speed for security. Maybe this is preferred for wce
      users, but in Harbour I'd rather opt to pass this decision to users
      for all targets.
         Enable with: HB_USER_CFLAGS=-GS- / -cflag={allmsvc}-GS-
      MSDN:
         http://msdn.microsoft.com/en-us/library/8dbf701c.aspx
2010-01-07 17:17:24 +00:00
Pritpal Bedi
94ba515062 2010-01-07 08:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idethemes.prg
    ! Fixed some flow artifacts, mainly in "Files" management.
2010-01-07 17:01:25 +00:00
Viktor Szakats
d89181934b 2010-01-07 16:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added -fixed:no to msvc command line. It seems to be needed
      for ASLR compatibility.
2010-01-07 15:12:28 +00:00
Viktor Szakats
cee6162783 2010-01-07 16:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated valgrind example.

  * contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added MSVC linker switches to enhance security by 
      enabling NX compatibility and ASLR.
      Especially important for server apps like netiosrv and hbrun.
    ; TODO: Enable the same for MinGW.
    ; TOCHECK: Please test this with old MSVC versions and MSVCARM, 
               maybe we will need to disable them in some cases.
    ; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it 
                to increase security?

  * config/wce/msvcarm.mk
    + Changed to use link.exe for linking instead of cl[arm].exe.
      This now syncs it with rest of Harbour.
2010-01-07 15:03:47 +00:00
Przemyslaw Czerpak
3216c67731 2010-01-07 14:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    ! use hb_vmAtInit() to initialize NETIO - looks that winsock
      initialization in startup code does not work - please test
2010-01-07 13:14:39 +00:00
Przemyslaw Czerpak
4e02eab09f 2010-01-07 14:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
  * harbour/include/hbznet.h
    * added new optional parameter to hb_znetWrite() function which allow
      to catch result of last hb_socketSend() operation
    * removed automatic flushing from hb_znetWrite() function,
      it should help in implementing more efficient C code using
      hb_znet*() functions

  * harbour/src/rtl/hbinet.c
    * flush HB_ZNETSTREAM output after write operation
    % small optimization in internal inet error setting
2010-01-07 13:07:54 +00:00
Viktor Szakats
97a0e02cd1 2010-01-07 10:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
    * Some changes marked DONE.

  * mpkg_tgz.sh
    ! Fixed to use tar command even when it's mapped to bsdtar.
2010-01-07 10:01:27 +00:00
Przemyslaw Czerpak
2b2967a314 2010-01-07 10:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvmpub.h
    * minor formatting

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiosrv.c
    + added new PRG function:
         NETIO_RPCFUNC( <pConnectionSocket> [, <sFuncSym> ] ) -> NIL
      which allows to set user filter for RPC calls. <sFuncSym> is executed
      on each RPC request instead of requested function and receives as
      first parameter requested function symbol then function parameters.
      A simple wrapper may look like:
            static function rpc_filter( sFunc, ... )
               ? "DO", sFunc:name, "WITH", ...
            return sFunc:exec( ... )
      and can be activated by:
            netio_rpcfunc( pConnectionSocket, @rpc_filter() )
      When NETIO_RPCFUNC() is called without valid function symbol then
      existing user RPC filter is cleared. Please remember that setting
      user RPC filter does not automatically enable RPC support for
      given connection socket. RPC support has to be enabled by NETIO_RPC()
      function or by 4-th parameter of NETIO_LISTEN() socket.
2010-01-07 09:27:40 +00:00