summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portmidi/pm_mac/osxsupport.m
blob: 1cf457f6bdb4170c3d518b1c4f541bd99e43a5f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
    osxsupport.m - Cocoa glue to emulated deprecated old Carbon path finder functions
*/

#import <Cocoa/Cocoa.h>
#import <AvailabilityMacros.h>
#include "osxsupport.h"

// convert an NSString to a C string
#ifndef OSX_PPC
static char *StringToChar(NSString *str)
{
	const char *charstr = [str UTF8String];
	char *resstr = (char *)malloc(strlen(charstr)+1);

	strcpy(resstr, charstr);
	return resstr;
}

char *FindPrefsDir(void)
{
	char *resstr = NULL;
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

	NSArray *paths = NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES);

	if ([paths count] > 0)
	{
		resstr = StringToChar([paths objectAtIndex:0]) ;
	}

	[pool release];
	
	return resstr;
}
#endif