2014-01-07 13:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/hbfoxpro/hbfoxpro.hbp
  * contrib/hbfoxpro/misc.prg
  + contrib/hbfoxpro/occurs.prg
    * moved Occurs() function to separate file to avoid link conflict
      with xHarbour function using the same name
This commit is contained in:
Przemysław Czerpak
2014-01-07 13:15:32 +01:00
parent bcfb15e873
commit 8c2721100b
4 changed files with 66 additions and 13 deletions

View File

@@ -10,6 +10,13 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2014-01-07 13:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbfoxpro/misc.prg
+ contrib/hbfoxpro/occurs.prg
* moved Occurs() function to separate file to avoid link conflict
with xHarbour function using the same name
2014-01-07 13:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
* src/rtl/hbdef.c

View File

@@ -10,6 +10,7 @@ ${hb_name}.hbx
dll.prg
misc.prg
occurs.prg
dbfunc.c
miscfunc.c

View File

@@ -104,18 +104,5 @@ FUNCTION __fox_Array( ... )
FUNCTION AElement( aValue, ... )
RETURN aValue[ ... ]
FUNCTION Occurs( cSub, cStr )
LOCAL nCount := 0, nFrom, nPos
FOR nFrom := 1 to Len( cStr )
IF ( nPos := hb_At( cSub, cStr, nFrom ) ) == 0
EXIT
ENDIF
++nCount
nFrom := nPos
NEXT
RETURN nCount
FUNCTION InsMode( ... )
RETURN Set( _SET_INSERT, ... )

View File

@@ -0,0 +1,58 @@
/*
* Harbour Project source code:
* FoxPro compatible Occurs() function
*
* Copyright 2014 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
* www - http://harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.txt. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
FUNCTION Occurs( cSub, cStr )
LOCAL nCount := 0, nPos := 0
IF HB_ISSTRING( cSub ) .AND. HB_ISSTRING( cStr )
DO WHILE ( nPos := hb_At( cSub, cStr, nPos + 1 ) ) != 0
++nCount
ENDDO
ENDIF
RETURN nCount