Revision: 15212
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=15212&view=rev
Author:   hofman
Date:     2009-04-27 13:06:58 +0000 (Mon, 27 Apr 2009)

Log Message:
-----------
use boolean for return of running tasks for tex preview

Modified Paths:
--------------
    trunk/bibdesk/BDSKTeXTask.m

Modified: trunk/bibdesk/BDSKTeXTask.m
===================================================================
--- trunk/bibdesk/BDSKTeXTask.m 2009-04-27 12:12:39 UTC (rev 15211)
+++ trunk/bibdesk/BDSKTeXTask.m 2009-04-27 13:06:58 UTC (rev 15212)
@@ -76,11 +76,11 @@
 
 - (BOOL)writeBibTeXFile:(NSString *)bibStr;
 
-- (NSInteger)runTeXTasksForLaTeX;
+- (BOOL)runTeXTasksForLaTeX;
 
-- (NSInteger)runTeXTasksForPDF;
+- (BOOL)runTeXTasksForPDF;
 
-- (NSInteger)runTeXTaskForRTF;
+- (BOOL)runTeXTaskForRTF;
 
 - (NSInteger)runPDFTeXTask;
 
@@ -239,7 +239,6 @@
 
 - (BOOL)runWithBibTeXString:(NSString *)bibStr citeKeys:(NSArray *)citeKeys 
generatedTypes:(NSInteger)flag{
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-    NSInteger rv = 0;
 
     if([processingLock tryLock] == NO){
         NSLog(@"%@ couldn't get processing lock", self);
@@ -276,49 +275,40 @@
         setenv("PATH", [new_path fileSystemRepresentation], 1);
     }
     
-    if([self writeTeXFileForCiteKeys:citeKeys isLTB:(flag == 
BDSKGenerateLTB)]){
-        if([self writeBibTeXFile:bibStr]){
-            rv = [self runTeXTasksForLaTeX];
-        }else{
-            rv = 2;
-        }
-    }else{
-        rv = 2;
-    }
+    BOOL success = [self writeTeXFileForCiteKeys:citeKeys isLTB:(flag == 
BDSKGenerateLTB)] && [self writeBibTeXFile:bibStr];
     
-    if((rv & 2) == 0){
-        if (flag == BDSKGenerateLTB)
-            OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasLTB);
-        else
-            OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasLaTeX);
-        
-        if(flag > BDSKGenerateLaTeX){
-            rv |= [self runTeXTasksForPDF];
+    if (success) {
+        success = [self runTeXTasksForLaTeX];
+        if (success) {
+            if (flag == BDSKGenerateLTB)
+                OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasLTB);
+            else
+                OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasLaTeX);
             
-            if((rv & 2) == 0){
-
-                OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasPDFData);
-                
-                if(flag > BDSKGeneratePDF){
-                        rv |= [self runTeXTaskForRTF];
+            if (flag > BDSKGenerateLaTeX) {
+                success = [self runTeXTasksForPDF];
+                if (success) {
+                    OSAtomicCompareAndSwap32Barrier(0, 1, &flags.hasPDFData);
                     
-                    if((rv & 2) == 0){
-                        OSAtomicCompareAndSwap32Barrier(0, 1, 
&flags.hasRTFData);
+                    if(flag > BDSKGeneratePDF){
+                        success = [self runTeXTaskForRTF];
+                        if (success)
+                            OSAtomicCompareAndSwap32Barrier(0, 1, 
&flags.hasRTFData);
                     }
                 }
             }
         }
-    }     
-       
+       }
+    
        if (nil != taskFinishedInvocation) {
-        [taskFinishedInvocation setArgument:&rv atIndex:3];
+        [taskFinishedInvocation setArgument:&success atIndex:3];
         [taskFinishedInvocation performSelectorOnMainThread:@selector(invoke) 
withObject:nil waitUntilDone:NO];
        }
-
+    
        [processingLock unlock];
     
        [pool release];
-    return rv == 0;
+    return success;
 }
 
 #pragma mark Data accessors
@@ -569,7 +559,7 @@
     [filesToRemove release];
 }
 
-- (NSInteger)runTeXTasksForLaTeX{
+- (BOOL)runTeXTasksForLaTeX{
     volatile NSInteger rv;
     rv = 0;
     
@@ -579,32 +569,28 @@
     [self removeFilesFromPreviousRun];
         
     rv = [self runPDFTeXTask];
-    if((rv & 2) == 0){
-       rv |= [self runBibTeXTask];
-       }
+    rv |= [self runBibTeXTask];
     
     [dataFileLock unlock];
     
-       return rv;
+       return rv == 0;
 }
 
-- (NSInteger)runTeXTasksForPDF{
+- (BOOL)runTeXTasksForPDF{
     volatile NSInteger rv;
     rv = 0;
     
     [dataFileLock lockForWriting];
     
     rv = [self runPDFTeXTask];
-    if((rv & 2) == 0){
-        rv |= [self runPDFTeXTask];
-    }
+    rv |= [self runPDFTeXTask];
     
     [dataFileLock unlock];
     
-       return rv;
+       return rv == 0;
 }
 
-- (NSInteger)runTeXTaskForRTF{
+- (BOOL)runTeXTaskForRTF{
     volatile NSInteger rv;
     rv = 0;
     
@@ -614,7 +600,7 @@
     
     [dataFileLock unlock];
     
-       return rv;
+       return rv == 0;
 }
 
 - (NSInteger)runPDFTeXTask{
@@ -653,21 +639,21 @@
 
 - (NSInteger)runTask:(NSString *)binPath withArguments:(NSArray *)arguments{
     currentTask = [[BDSKTask alloc] init];
-        [currentTask setCurrentDirectoryPath:[texPath workingDirectory]];
-        [currentTask setLaunchPath:binPath];
-        [currentTask setArguments:arguments];
-        [currentTask setStandardOutput:[NSFileHandle 
fileHandleWithNullDevice]];
-        [currentTask setStandardError:[NSFileHandle fileHandleWithNullDevice]];
-        
+    [currentTask setCurrentDirectoryPath:[texPath workingDirectory]];
+    [currentTask setLaunchPath:binPath];
+    [currentTask setArguments:arguments];
+    [currentTask setStandardOutput:[NSFileHandle fileHandleWithNullDevice]];
+    [currentTask setStandardError:[NSFileHandle fileHandleWithNullDevice]];
+    
     NSInteger rv = 0;
-            
+    
     [currentTask launch];
     [currentTask waitUntilExit];
     rv = [currentTask terminationStatus];
-            
-        [currentTask release];
-        currentTask = nil;
     
+    [currentTask release];
+    currentTask = nil;
+    
     return rv;
 }
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to