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