|
From: <cre...@us...> - 2006-10-04 00:48:36
|
Revision: 1539
http://svn.sourceforge.net/frontierkernel/?rev=1539&view=rev
Author: creecode
Date: 2006-10-03 11:06:38 -0700 (Tue, 03 Oct 2006)
Log Message:
-----------
for Mac in fileloopguts function, clear out path of tyfilespec each time through loop
Modified Paths:
--------------
Frontier/branches/FSRef_Migration/Common/source/langevaluate.c
Modified: Frontier/branches/FSRef_Migration/Common/source/langevaluate.c
===================================================================
--- Frontier/branches/FSRef_Migration/Common/source/langevaluate.c 2006-10-03 17:42:32 UTC (rev 1538)
+++ Frontier/branches/FSRef_Migration/Common/source/langevaluate.c 2006-10-03 18:06:38 UTC (rev 1539)
@@ -536,7 +536,7 @@
//
// if ctlevels is not -1, only process files, and recurse for folders to the specified depth
//
- // 2006-06-25 creedon: for Mac, minimally FSRef-ized
+ // 2006-10-03 creedon: for Mac, minimally FSRef-ized
//
// 1992-10-08 dmb: break & return must kick out of all levels of recursion (whew!)
//
@@ -555,6 +555,8 @@
FSSpec fst;
tyfilespec fsfoldert;
+ clearbytes ( &fst, sizeof ( fst ) );
+
( void ) extendfilespec ( fsfolder, &fsfoldert );
FSRefMakeFSSpec ( &fsfoldert.fsref, &fst );
@@ -585,7 +587,18 @@
break;
}
+ #ifdef MACVERSION
+
+ // clear out path
+
+ CFRelease ( fs.path );
+
+ fs.path = NULL;
+
+ #endif // MACVERSION
+
continue;
+
}
fl = setfilespecvalue (&fs, &val);
@@ -593,20 +606,20 @@
if (!fl)
break;
- fl = langsetsymbolval (bsidentifier, val); /*user program gets the name*/
+ fl = langsetsymbolval (bsidentifier, val); // user program gets the name
if (!fl)
break;
exemptfromtmpstack (&val);
- cleartmpstack (); /*dealloc all outstanding temporary values*/
+ cleartmpstack (); // dealloc all outstanding temporary values
flbreak = false;
flcontinue = false;
- fl = evaluatelist ((**h).param3, valtree); /*run the body of the loop once*/
+ fl = evaluatelist ((**h).param3, valtree); // run the body of the loop once
flcontinue = false;
@@ -620,14 +633,26 @@
fl = langdebuggercall (h);
- if (!fl) /*user killed the script*/
+ if (!fl) // user killed the script
break;
- } /*while*/
+
+ #ifdef MACVERSION
+
+ // clear out path
+
+ CFRelease ( fs.path );
+
+ fs.path = NULL;
+
+ #endif // MACVERSION
+
+ } // while
fileendloop (hfileloop);
return (fl);
- } /*fileloopguts*/
+
+ } // fileloopguts
static boolean evaluatefileloop (hdltreenode hloop, tyvaluerecord *valtree) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|