[Info-vax] proper format for JPEG files

Hein RMS van den Heuvel heinvandenheuvel at gmail.com
Tue Aug 2 11:05:36 EDT 2011


On Aug 1, 9:39 am, "Richard Maher" <maher... at hotspamnotmail.com>
wrote:
> Hi Phillip,
> FWIW, the Tier3 Applet Uploader sets the FAC=BIO and the FOP=UFO and I was
> about to jump up and down and say I/others need STREAM (not STREAM_LF) but
> then I see that Fixed-Length 512 byte records are perfectly acceptable as
> well.

Well, with UFO in play, RMS is NOT used other then to get a channel
for a future QIO.
The attributes would be irrelevant, unless the code doing the QIO
volunteers to follow the semantics.

My only worry with FIX-512 is that last record, but Richard handles
that with XABFHC - EBK/FFB

I would _never_ ever user plain STREAM to store data.
It's only debatable virtue is that it looks like a DOS text file.
It gives RMS / C-RTL a license to massacre a binary stream.

- Multiple line terminators, some one byte, some two (CR-LF, FF,
VT,...)
- Leading zeros on records are ignored

$ null[0,8]=0
$ cre/fdl="record; form stream;" stream.tmp
$ open/appen stm stream.tmp
$ write stm f$fao("!ASAA!AS!/BB!ASB!^CCC",null,null,null)
$ close stm
$ dump/wid=80 stream.tmp   ! Looks as designed....

 0A0D4343 430C4200 42420A0D 00414100 .AA...BB.B.CCC..

$ dump/rec/wid=80 stream.tmp   ! Where are my leadings NULLs? Trailing
and embedded fine.

Record 1, 3 bytes, RFA(...0000)             004141 AA..............
000000
Record 2, 5 bytes, RFA(...0006)    0C 42004242 BB.B............ 000000
Record 3, 3 bytes, RFA(...000B)             434343 CCC.............
000000

Even worse... the C-RTL trying to 'help'.

$ perl -ne "printf qq(%3d %02X\n),++$i, ord for split//" stream.tmp
  1 41
  2 41
  3 00
  4 0A
  5 42
  6 42
  7 00
  8 42
  9 0C
 10 0A
 11 43
 12 43
 13 43
 14 0A

Where are my CR-LF's ?
Where did that Line-Feed at (fake) position 10 come from?

Actually... I do use STREAM files for sneaky converts to replace
embedded CR-LF's
in OpenVMS tool output like SHOW MEMORY/CACHE into seperate records.

Arne>> Why Macro-32?

Because it is there, on every OpenVMS box?
Because it does exacctly what I tell it to, without trying to help.
Because it needs no license
Because it is often overlooked by so-called auditors/security experts.

Hein





More information about the Info-vax mailing list