[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: long texts



Reply to note from "Morris Krok"  Thu, 29 Jan
2004 12:30:05 +0200

> Herb Tyson devised this program to do just that but it is
> flawed.

I haven't tried Tyson's program, but at a glance it would appear to
skate towards the edge of dOOM (duh Out Of Memory) with those 5K
DeFined blocks.

LSE, below, works. It finds strings that are too long for the
CMline, but also strings that are too long for any SEarch command,
even one executed with BX ...Q2 (which accepts long commands). In
my tests it found strings up to 2500+ bytes long. LSEA performs a
case-absolute search. SEarch command switches are accepted: LSE/F,
LSEA/T, etc.

Try it. DECODE what's below and add it to U2 (DeFine and issue
ADD2U2). You can DeFine the string_to_find in the current
file, or CoPy the entire command, LSE [long_string], into a U2L
window and execute it with U2L.

XPLeNCODE v2.0
b-gin [UNTITLED]
{{;5lse*}} SEarch for long strings [CLD 1/29/04][cr|lf]{002};
*; Usage: LSE [string] or LSE (with string{032}
DeFined)[cr|lf][XH_]{<}IF{<}VA$WS{>}<>1{>}{<}PRNo file{>}{<}E
X{>}{<}EI{>}[BX_]es 1[Q2_];*;[cr|lf]{<}SV01,{>}{<}IF{<}VA$FR{
>}{240}"/"{>}{<}SX02,@upr({<}VA$FR{>}){>}{<}SV01,/{>};*;[cr|l
f]{<}XS02,01,,03,01{>}{<}SX01,"/"+{<}IS01{>}{>}{<}IF{<}IS01{>
}{240}"/W"{>};*;[cr|lf]{<}SV02,/W{>}{<}SV03,{>}{<}XS01,02,04,
,03{>}{<}SX01,{<}IS04{>}+{<}IS03{>}{>}{<}EI{>}{<}EI{>};*;[cr|
lf]{<}IF{<}VA|50{>}<1{>}[DZ_]{<}IF{<}VA$DE{>}<1{>}{<}PRNo SEa
rch string{>}{<}EX{>}{<}EI{>}{<}EI{>};*;[cr|lf]{<}IF{<}VA|50{
>}<1&{<}VA$DE{>}>0{>}{<}SX04,{<}CP{>}{>}[DB_]{<}SV50{>}{<}IF@
siz({<}IS50{>})<>{<}VA$DN{>}-{<}VA$DS{>}{>};*;[cr|lf]{<}PRLSE
arch string too long{>}{<}EX{>}{<}EI{>}{<}EI{>};*;[cr|lf][BX_
]jmp {<}PV04{>}[Q2_][BX_]jmp {<}PV04{>}[Q2_]{<}SX04,{<}VA$DN{
>}{>}{<}SX05,{<}VA$DS{>}{>}{<}SX04,"[BX_]jmp "+{<}IS05{>}+"[Q
2_][YD_][DF_][BX_]jmp "+{<}IS04{>}+"[Q2_][DF_][DO_][FF_]"{>}{
<}SX05,{<}VA|50{>}{>}{<}SV02,{>};*;[cr|lf]{<}IF{<}VA|50{>}>10
{>}{<}SV02,{027}X{027}X{027}X{027}X{027}X{027}X{027}X{027}X{0
27}X{027}X{>}{<}XS50,02,,02,03{>}{<}GLa{>}{<}EI{>};*;[cr|lf]{
<}SX02,{<}IS50{>}{>}{<}LBa{>}{<}PRWorking{>}[DX_]{<}IF{<}IS01
{>}{240}"/T"{>}[TF_]{<}EI{>};*;[cr|lf]{<}LBb{>}[BX_]se/f {252
}{<}PV02{>}{252}[Q2_]{<}IF@not({<}ER{>}){>};*;[cr|lf]{<}SX03,
{<}CP{>}+{<}PV05{>}{>}[YD_][DF_][BX_]jmp {<}PV03{>}[Q2_][DF_]
;*;[cr|lf]{<}IF{<}VA$DN{>}-{<}VA$DS{>}=={<}PV05{>}{>}{<}SV03{
>};*;[cr|lf]{<}IF{<}VA|03{>}<>{<}VA|50{>}{>}[DB_][YD_][CR_]{<
}GLb{>}{<}EI{>}{<}GLc{>}{<}EI{>}[DB_][YD_][CR_]{<}GLb{>};*;[c
r|lf]{<}LBc{>}{<}IF"SEA"{238}@upr({<}VA$FR{>})<0{>}{<}IF@upr(
{<}IS03{>}
)==@upr({<}IS50{>}){>};*;[cr|lf]{<}LBd{>}{<}IF{<}IS01{>}{240}
"/F"{>}[DB_]{<}EI{>}[DO_][FF_]{<}PRFound{>}{<}EX{>}{<}EI{>}[D
B_][YD_][CR_]{<}GLb{>}{<}EI{>};*;[cr|lf]{<}IF{<}IS03{>}=={<}I
S50{>}{>}{<}GLd{>}{<}EI{>}[DB_][YD_][CR_]{<}GLb{>}{<}EI{>};*;
[cr|lf][YD_]{<}PV04{>}{<}PRNot found{>}{002}[cr|lf][cr|lf]
-nd
XPLeNCODE

--
Carl Distefano
cld@xxxxxxxx