New VMMaker/svn release

David T. Lewis lewis at
Mon Jan 2 23:23:07 UTC 2006

On Mon, Jan 02, 2006 at 09:41:55AM -0800, tim Rowledge wrote:
> On 2-Jan-06, at 9:16 AM, David T. Lewis wrote:
> > On Fri, Dec 30, 2005 at 05:14:06PM -0800, tim Rowledge wrote:
> >> Hokay,
> >> After taking Andreas' suggestion to dump the tacky old
> >> sqFilenameFromString macro to heart, SM has a new release 11 -
> >> 3.8b5-64B and SVN has level 1284 for you to play with. Read the SM
> >> page comments.  It may well break things but I think it gets the
> >> basic facility cleaner. I also cleaned out some ugly arg-typing
> >> floobs while I was at it.
> >
> > There is a cut'n'paste typo in one of the arg-type defloobifications,
> > fix attached.
> Ta. Mpeg3Plugin is one I don't/can't compile anyway so it doesn't get  
> checked in a ny way but visual inspection at my end.
> >
> > I've built a unix VM from the new VMM/svn sources, but I'm
> > getting problems opening the sources and changes files.
> > Something has changed that affects the operation of
> > "FileDirectory default oldFileNamed: 'squeak.changes'".
> > I'm getting a nil from that, while "FileStream oldFileNamed:  
> > 'squeak.changes'"
> > still works as expected.
> >
> > I have not spotted the source of the problem yet...
> RISC OS uses its own equivalent ofthe Cross/plugins/FilePlugin/ 
> sqFilePluginBasicPrims.c and so again it doesn't get used by my  
> system. Most likely another typo since I didn't make any structural  
> changes.

Mea culpa. The sqGetFileNameFromString() function needs to null-terminate
the file name string after copying it, and I had not done that.

The new VMM/SVN works fine on Intel 32 bit Linux for both a 32 bit
and 64 bit VM. I'll check AMD-64 when I get a chance, but I don't
think there will be any problems there.

The sqGetFileNameFromString() function I used is just this:

sqInt sqGetFilenameFromString(char *aCharBuffer, char *aFilenameString, sqInt filenameLength, sqInt aBoolean)
  strncpy(aCharBuffer, aFilenameString, filenameLength);
  aCharBuffer[filenameLength] = 0;

BTW, the Mpeg3Plugin is working fine on 32 bit Linux, so the rest
of the cut'n'pasting must have been OK.


More information about the Vm-dev mailing list