On Mon, Oct 01, 2012 at 11:09:51AM +0200, Max Leske wrote:
Hi guys
Is there a way to find out (from outside of the image), if an image has been saved with Cog? What I would like to do is something like this:
$ head -20 myImage.image | grep <some expression>
The use case for this is seaside hosting, where we only have squeak VMs to run images, so when an image is uploaded that was saved with Cog that image cause trouble. Any ideas?
Cheers, Max
You should definitely update those older VMs if you can (http://squeakvm.org), but if that is not possible, here is how to check the image format from a shell script. 1) Load package ImageFormat from the VMMaker repository at http://source.squeak.org/VMMaker. 2) Evaluate "ImageFormat createCkStatusProgram" to generate source code ckformat.c. 3) Compile ckformat ($ cc -o ckformat ckformat.c). The ckformat program reads an image file header and prints the image format number on standard output. Non-zero exit status means the format could not be read (e.g. if it was not an image file). You can see how it is used in the /usr/local/bin/squeak script in the latest unix interpreter VMs from squeakvm.org. In your script you can do something like this: imagenumber=`ckformat myimage.image` if test $? -eq 0 then echo the image number is $imagenumber else echo could not read the image number fi If you are interested in the meanings of the various image format numbers, browse class ImageFormat. Dave