Title: | -={ H A C K E R S }=- |
Notice: | Write locked - see NOTED::HACKERS |
Moderator: | DIEHRD::MORRIS |
Created: | Thu Feb 20 1986 |
Last Modified: | Mon Aug 03 1992 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 680 |
Total number of notes: | 5456 |
$ foo[0,8] = 26 $ def logi "''foo'" $ write sys$output f$cvsi(0,8, f$trn("logi")) works fine, & I can replace the 26 in the first line with other numbers , eg 28. But if I use 27 (ie foo[0,8] = 27) I get a dcl out of range error - what is going on?
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
272.1 | Fascinating... | KAHLUA::SANTIAGO | Ed Santiago | Wed Jul 16 1986 12:11 | 24 |
It seems like f$trnlnm is somehow gobbling the escape... I tried: ( foo is defined to "<ESC>[1mtest", which for those not too keen on escape sequences types out "test" in bold video ) $ write sys$output foo ! does the correct thing $ define logi "''foo'" $ show logical logi ! Looks OK, <ESC> is of course ! displayed as a "." $ write sys$output f$trnlnm("logi") ! Wrong! Only 'test' appears, ! the escape sequence is gobbled, ! but the 'test' is NOT highlighted! The 'field spec out of bounds' error is caused by this, since it does not happen if 'logi' has something appended to it that is not part of an escape sequence. To use this example, if I were to do a $ write sys$output f$cvsi(0,8,f$trnlnm("logi")) the result would be 116 (ASCII value of 't' in 'test'). So is this a bug or a feature? | |||||
272.2 | Not a bug, Feature? | NOVA::KLEIN | Wed Jul 16 1986 15:22 | 9 | |
Since DCL puts a special prefix (ESC+channel) into its logical names for process-permanent files, it would seem that f$trnlnm (SHOW LOGICAL also) is stripping it out again. You can "outsmart" DCL by putting an extra "<ESC>XXX" at the beginning of the sequence. $ define logi "''esc'xxx''esc'[1mtest" $ write sys$output f$trnlnm("logi") -steve- |