]> granicus.if.org Git - handbrake/commitdiff
MacGui: check if the log file can be written or not in HBOutputFileWriter init.
authorritsuka <damiog@gmail.com>
Fri, 3 Jul 2015 18:57:44 +0000 (18:57 +0000)
committerritsuka <damiog@gmail.com>
Fri, 3 Jul 2015 18:57:44 +0000 (18:57 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7335 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/HBJobOutputFileWriter.h
macosx/HBJobOutputFileWriter.m
macosx/HBOutputFileWriter.h
macosx/HBOutputFileWriter.m
macosx/HBOutputRedirect.h

index b7dcdfaab08577fc2bb3a416e2a7cfcc88eac4cf..f5394ca478b97f532b96fac3890ccc6b27d991c4 100644 (file)
@@ -6,6 +6,8 @@
 
 #import "HBOutputFileWriter.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class HBJob;
 
 /**
@@ -14,6 +16,8 @@
  */
 @interface HBJobOutputFileWriter : HBOutputFileWriter
 
-- (instancetype)initWithJob:(HBJob *)job NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithJob:(HBJob *)job NS_DESIGNATED_INITIALIZER;
 
 @end
+
+NS_ASSUME_NONNULL_END
index fa84350ec84cd39a149e1ba34a8589ec970ce309..7f2f3d020af4b871188862a3ecbf2cb3c31e9a8a 100644 (file)
@@ -10,7 +10,7 @@
 
 @implementation HBJobOutputFileWriter
 
-- (instancetype)initWithJob:(HBJob *)job
+- (nullable instancetype)initWithJob:(HBJob *)job
 {
     NSURL *outputURL= job.destURL;
 
index 3538cc76eb9a9d33086f3174c37f72c4a8325ca3..a6e22680c83b987ccd1d4966550ec4bab5c55704 100644 (file)
@@ -7,13 +7,15 @@
 #import <Foundation/Foundation.h>
 #import "HBOutputRedirect.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 /**
  * This class is used to listen to HBOutputRedirect
  * and write the output to a file.
  */
 @interface HBOutputFileWriter : NSObject <HBOutputRedirectListening>
 
-- (instancetype)initWithFileURL:(NSURL *)url;
+- (nullable instancetype)initWithFileURL:(NSURL *)url;
 
 - (void)write:(NSString *)text;
 - (void)clear;
@@ -21,3 +23,5 @@
 @property (nonatomic, readonly) NSURL *url;
 
 @end
+
+NS_ASSUME_NONNULL_END
index 27ac917c56d3afcd6e97d7ca4518e60822a52510..fffe9478b67e0844b1cc447af069f33434503962 100644 (file)
     FILE *f;
 }
 
-- (instancetype)initWithFileURL:(NSURL *)url;
+- (nullable instancetype)initWithFileURL:(NSURL *)url;
 {
     self = [super init];
     if (self)
     {
-
-        [[NSFileManager defaultManager] createDirectoryAtPath:url.URLByDeletingLastPathComponent.path
-                                  withIntermediateDirectories:YES
-                                                   attributes:nil
-                                                        error:NULL];
+        NSError *error;
+        BOOL result;
+        result = [[NSFileManager defaultManager] createDirectoryAtPath:url.URLByDeletingLastPathComponent.path
+                                           withIntermediateDirectories:YES
+                                                            attributes:nil
+                                                                 error:&error];
+        if (!result)
+        {
+            [HBUtilities writeToActivityLog:"Error: coudln't open activity log file, %@", error];
+            return nil;
+        }
 
         _url = [url copy];
+
         f = fopen(url.path.fileSystemRepresentation, "w");
+        if (!f)
+        {
+            return nil;
+        }
+
         f = freopen(NULL, "a", f);
+        if (!f)
+        {
+            return nil;
+        }
 
         [self writeHeaderForReason:@"Session"];
     }
index f689b8795fedbfee9cc1e058fae9960c807e34bb..2679051fd1cf8f99115b7978784aa0657d87ad86 100644 (file)
@@ -7,6 +7,7 @@
 
 #import <Foundation/Foundation.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 @protocol HBOutputRedirectListening <NSObject>
 
@@ -35,3 +36,5 @@
 - (void)removeListener:(id <HBOutputRedirectListening>)aListener;
 
 @end
+
+NS_ASSUME_NONNULL_END