Subversion Repositories wimsdev

Rev

Rev 13102 | Blame | Compare with Previous | Last modification | View Log | RSS feed

option:symbols=" "

st_sample=!singlespace $(reply$i)
st_sample=!trim $st_sample
st_tester=!rows2lines $(replygood$i)
st_opt=$(replyoption$i)
st_tmp=!translate internal | to $\
$ in $st_tester
replyGood$i=!line 1 of $st_tmp
m_reply$i=$st_sample

!if $wims_read_parm=nocompare
  !exit
!endif

!if $st_sample=$empty
  error=empty_data
  !exit
!endif

st_style=!getopt style in $st_opt
!if $st_style=
  st_opt=$st_opt style=generic
!endif

st_tester=!trim $st_tester
st_tcnt=!linecnt $st_tester

st_lim=!getopt goodlim in $st_opt
!bound st_lim between integer 1 and $st_tcnt default 1

!if $st_lim<$st_tcnt
  st_tester=$st_tester\
  [**] [Neg:[W:]] [Out:badword,[*]] [**]
!endif

st_out=!exec symtext match $st_opt\
$st_sample\
$st_tester

m_result$i=$st_out

!if ERROR iswordof $st_out
  wims_exec_error=$st_out
  Test=bad $i
  !exit
!endif

!distribute word $st_out into st_1,st_2

!if $st_1=MATCH
  !if $st_2 <= $st_lim
    freegot=$[$freegot+($st_lim-$st_2+1)/$st_lim]
    diareply$i=good
    !if $st_2 > 1
      partialgood$i=yes
    !endif
  !else
    !if $st_2 > $st_tcnt
      st_badword=!getopt badword in $st_out
      st_badword=!declosing $st_badword
      !if $st_badword!=$empty
        test=NaN unknownword $st_badword
      !else
        diareply$i=bad
      !endif
    !else
      diareply$i=bad
    !endif
  !endif
!else
  diareply$i=bad
!endif