[squeak-dev] Can a running Squeak program look at a Squeak image file and know if it is a good image?

Louis LaBrunda Lou at Keystone-Software.com
Tue Jul 25 18:40:20 UTC 2017


Hey Dave,

I'm sure I'm messing something up but I can't find ImageFormat-dtl.26, they only go up to
ImageFormat-dtl.12.  Am I looking in the wrong place?

Lou


On Tue, 25 Jul 2017 14:06:30 -0400, "David T. Lewis" <lewis at mail.msen.com> wrote:

>I guess I just forgot to upload it from my package-cache. Please try again
>with the ImageFormat-dtl.26 that I just uploaded, it should work now. Sorry
>for the confusion.
>
>Dave
>
>
>On Tue, Jul 25, 2017 at 01:54:43PM -0400, Louis LaBrunda wrote:
>> Hi Dave,
>> 
>> Thanks Dave.  I will check tomorrow.  For now I will assume it will get fixed and work around
>> it.
>> 
>> Lou
>> 
>> On Tue, 25 Jul 2017 13:47:12 -0400 (EDT), "David T. Lewis" <lewis at mail.msen.com> wrote:
>> 
>> >Hi Lou,
>> >
>> >Ugh, I think that was due to a bug that I fixed not too long ago (some
>> >missing methods for the latest Spur formats IIRC). I thought I had
>> >uploaded the fix but I do not see it in the repository. My apologies, I
>> >will address it as quickly as I can, but it might not be until tomorrow.
>> >
>> >Sorry,
>> >Dave
>> >
>> >
>> >> Hi Dave,
>> >>
>> >> Thanks you very much for the prompt reply.  I loaded the ImageFormat
>> >> package as you suggested
>> >> into a fairly new 32 bit image.  But when I try ImageFormat fromFile: to
>> >> that image of the
>> >> image with my program, I get an "unrecognized image format" error.  I will
>> >> keep trying more
>> >> after lunch but for now I don't get it?
>> >>
>> >> Lou
>> >>
>> >>
>> >> On Tue, 25 Jul 2017 11:18:05 -0400 (EDT), "David T. Lewis"
>> >> <lewis at mail.msen.com> wrote:
>> >>
>> >>>Hi Lou,
>> >>>
>> >>>A simple check is to look at the first bytes of the image file, which
>> >>>define the image format number. If the image format is something
>> >>>reasonable (presumably the same as whatever image you are replacing in
>> >>>most cases), then you know that it is a Squeak image file, although this
>> >>>will not tell you if the actual image is valid.
>> >>>
>> >>>To do this from a running Squeak image, try loading the ImageFormat
>> >>>package from the VMMaker repository on squeaksource.com. Look at the
>> >>> class
>> >>>comments, and you will find methods for reading the image format number
>> >>>from a file stream.
>> >>>
>> >>>There is also a C program called ckformat.c at
>> >>>http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/src/. The C code is
>> >>>automatically generated from the ImageFormat package, so they the do the
>> >>>same thing. If you want to do the test from a shell script, as opposed to
>> >>>doing it from the running image, then you can use this C program.
>> >>>
>> >>>Of course in theory you can load an entire image file into a VM simulator
>> >>>with the VMMaker package, but that would not be a practical test for what
>> >>>you are trying to accomplish.
>> >>>
>> >>>If you need a better test of "valid" then you might consider using
>> >>>OSProcess/CommandShell to actually run the image file and see if it
>> >>> works.
>> >>>Probably you would do something like run it with a PipeableOSProcess
>> >>>connected to your main Squeak image, and just kill the image under test
>> >>>once you have confirmed that it runs.
>> >>>
>> >>>Dave
>> >>>
>> >>>> Hi All,
>> >>>>
>> >>>> Can a running Squeak program look at a Squeak image file and know if it
>> >>>> is
>> >>>> a good image?  I'm
>> >>>> working on a program that the user won't have easy access to.  I would
>> >>>> like to allow its
>> >>>> replacement with a new version.  I think I know how to do that but
>> >>>> would
>> >>>> like to see if I can
>> >>>> program in some protection from the user replacing the image with a bad
>> >>>> or
>> >>>> completely wrong
>> >>>> file.  Any ideas?
>> >>>>
>> >>>>
>> >>>> Lou
>> >>>> --
>> >>>> Louis LaBrunda
>> >>>> Keystone Software Corp.
>> >>>> SkypeMe callto://PhotonDemon
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>>
>> >> --
>> >> Louis LaBrunda
>> >> Keystone Software Corp.
>> >> SkypeMe callto://PhotonDemon
>> >>
>> >>
>> >>
>> >
>> >
>> >
>> -- 
>> Louis LaBrunda
>> Keystone Software Corp.
>> SkypeMe callto://PhotonDemon
>> 
>> 
>
-- 
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon



More information about the Squeak-dev mailing list