REM
REM Contributed by James C. Fuller - April 2009.
REM
REM' bacon TALLY
REM' April 20, 2009
REM' fixed error on length check
REM' was => when it should have been just >
REM'********************************************************************
FUNCTION Tally(STRING Main$,STRING Match$)
    LOCAL i,j,k,mlen,matchlen TYPE int
    mlen = LEN(Main$)
    matchlen = LEN(Match$)
    i = 1
    j = 0
    k = 0
    IF (mlen EQ 0) OR (matchlen EQ 0) THEN
        RETURN j
    END IF
    
    WHILE 1 DO
        IF EQUAL(MID$(Main$,i,matchlen),Match$) THEN
                j = j + 1
            END IF    
            i = i + matchlen
            IF i > mlen THEN
                BREAK
            END IF
    WEND
    RETURN j
END FUNCTION
REM'********************************************************************
REM' Tally test

REM' PRINT Tally("one,two,three,,four,five,six",",")