|
|
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.