View/Edit #4342:string_length

Switch to edit mode.

Name(s): string_length
1:  "Copied from Bilingual Msg Utility (#34):mime_stripped by Slacker (#2) Dec 19 18:50:41 1996"
2:  {text} = args
3:  trans = verb[6..$] in {"Stripped", "ISO", "DOS"}
4:  pos = 1
5:  outtext = ""
6:  while (pos < length(text))
7:    $command_utils:suspend_if_needed()
8:    nextamp = pos - 1 + index(text[pos..$], "&")
9:    if (nextamp == pos - 1)
10:     break
11:   elseif (nextamp == pos)
12:     endpos = pos + index(text[pos + 1..$], ";")
13:     if (endpos == pos || endpos - pos >= 9)
14:       outtext = outtext + "&"
15:       pos = pos + 1
16:     else
17:       symbol = text[pos..endpos - 1]
18:       uppercase_alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
19:       for i in [1..26]
20:         symbol = strsub(symbol, uppercase_alphabet[i], "_" + uppercase_alphabet[i] + "_", 1)
21:       endfor
22:       outtext = outtext + `this.(symbol)[trans] ! E_PROPNF => text[pos..endpos]'
23:       pos = endpos + 1
24:     endif
25:   else
26:     outtext = outtext + text[pos..nextamp - 1]
27:     pos = nextamp
28:   endif
29: endwhile
30: stuff = outtext + text[pos..$]
31: return length(stuff)
32: "Last modified by Dax (#789) on Mon Dec 10 21:05:07 2001 MST."

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Cecil (#7407)

You are not logged in.

[home | help | who | search | setup | code]