|
|
1.1 root 1: /*
2: Hatari - paths.m
3:
4: This file is distributed under the GNU General Public License, version 2
5: or at your option any later version. Read the file gpl.txt for details.
6:
7: macOS Objective-C helper function for accessing user configured
8: screenshot path
9:
10: */
11:
12: #import <Foundation/Foundation.h>
13:
14: #include "main.h"
15: #include "paths.h"
16:
17: /**
18: * Returns the user configured screenshot path property, or if none is found
19: * uses the macOS default of ~/Desktop/. Caller is responsible for freeing
20: * the returned pointer.
21: */
22: char *Paths_GetMacScreenShotDir(void) {
23:
24: /* Allocate memory for storing the path string */
25: char *psPath = malloc(FILENAME_MAX);
26: if (!psPath)
27: {
28: fprintf(stderr, "Out of memory (Paths_GetMacScreenShotDir)\n");
29: exit(-1);
30: }
31:
32: NSString *keyValue = nil;
33: NSUserDefaults *defaults = [[NSUserDefaults alloc] init];
34: if(defaults != nil) {
35: [defaults addSuiteNamed:@"com.apple.screencapture.plist"];
36: keyValue = [defaults stringForKey:@"location"];
37: }
38: if (keyValue!=nil) {
39: strncpy(psPath, [keyValue UTF8String], FILENAME_MAX);
40: } else {
41: snprintf(psPath, FILENAME_MAX, "%s%c%s",
42: Paths_GetUserHome(), PATHSEP, "Desktop");
43: }
44:
45: return psPath;
46: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.