diff options
Diffstat (limited to 'qemu/roms/openbios/forth/lib')
-rw-r--r-- | qemu/roms/openbios/forth/lib/string.fs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/qemu/roms/openbios/forth/lib/string.fs b/qemu/roms/openbios/forth/lib/string.fs index eb6474917..f97db232f 100644 --- a/qemu/roms/openbios/forth/lib/string.fs +++ b/qemu/roms/openbios/forth/lib/string.fs @@ -125,3 +125,17 @@ : parse-hex ( str len -- value ) base @ hex -rot $number if 0 then swap base ! ; + + +\ ----------------------------------------------------- +\ miscellaneous functions +\ ----------------------------------------------------- + +: rot13 ( c - c ) + dup upc [char] A [char] M between if d# 13 + exit then + dup upc [char] N [char] Z between if d# 13 - then +; + +: rot13-str ( str len -- newstr len ) + strdup 2dup bounds ?do i c@ rot13 i c! loop +; |