<div dir="ltr">Hi VM folks.<div><br></div><div> when you check-in a change to platforms/Cross/plugins try and remember to update platforms/Cross/plugins/sqPluginsSCCSVersion.h too to reflect the change in the version info displayed by the VM. You do this using the horrible</div>
<div><br></div><div>svn propset checkindate "`date`" platforms/Cross/plugins/sqPluginsSCCSVersion.h <br></div><div><br></div><div>An example of this is in the scripts/svnci script:</div><div>svn propset checkindate "`date`" platforms/Cross/vm/sqSCCSVersion.h<br>
</div><div><br></div><div>When you do this the Cog VMs accurately inform you of their version:</div><div><br></div><div><div> ~/oscogvm/products/coglinuxht/squeak -version</div><div><div>4.0-2950 #4 Fri Jun 6 17:18:14 PDT 2014 gcc 4.1.2 [Production VM]</div>
<div>CoInterpreter VMMaker.oscog-eem.746 uuid: cc4961d3-e629-4e28-b308-88eab314a8c9 Jun 6 2014</div><div>StackToRegisterMappingCogit VMMaker.oscog-eem.757 uuid: c4908baa-712c-4cb6-a606-5bde992e9582 Jun 6 2014</div><div>
VM: r2950 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a> Date: 2014-06-06 15:23:16 -0700</div><div>Plugins: r2954 <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a></div>
<div>Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux</div><div>plugin path: /home/eliot/oscogvm/products/coglinuxht/lib/squeak/4.0-2950 [default: /home/eliot/all/Cog/oscogvm/products/coglinuxht/lib/squeak/4.0-2950/]</div>
</div></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 6, 2014 at 4:36 PM, <span dir="ltr"><<a href="mailto:commits@squeakvm.org" target="_blank">commits@squeakvm.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Revision: 2953<br>
Author: lewis<br>
Date: 2014-06-06 16:36:45 -0700 (Fri, 06 Jun 2014)<br>
Log Message:<br>
-----------<br>
In sqFileOpen() ensure that Mac file characteristics are set only when a new file is created<br>
<br>
Modified Paths:<br>
--------------<br>
trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c<br>
<br>
Modified: trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c<br>
===================================================================<br>
--- trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c 2014-06-06 22:37:22 UTC (rev 2952)<br>
+++ trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c 2014-06-06 23:36:45 UTC (rev 2953)<br>
@@ -251,10 +251,21 @@<br>
if (getFile(f) == NULL)<br>
setFile(f, fopen(cFileName, "ab"));<br>
if (getFile(f) != NULL) {<br>
+ /* New file created, set Mac file characteristics */<br>
char type[4],creator[4];<br>
dir_GetMacFileTypeAndCreator(sqFileName, sqFileNameSize, type, creator);<br>
if (strncmp(type,"BINA",4) == 0 || strncmp(type,"????",4) == 0 || *(int *)type == 0 )<br>
dir_SetMacFileTypeAndCreator(sqFileName, sqFileNameSize,"TEXT","R*ch");<br>
+ } else {<br>
+ /* If the file could not be opened read/write and if a new file<br>
+ could not be created, then it may be that the file exists but<br>
+ does not permit read access. Try opening as a write only file,<br>
+ opened for append to preserve existing file contents.<br>
+ */<br>
+ setFile(f, fopen(cFileName, "ab"));<br>
+ if (getFile(f) == NULL) {<br>
+ return interpreterProxy->success(false);<br>
+ }<br>
}<br>
}<br>
f->writable = true;<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div>