[PD-cvs] SF.net SVN: pure-data: [9793] trunk/packages/patches/ default_and_embedded_plist-0.41.4.patch
eighthave at users.sourceforge.net
eighthave at users.sourceforge.net
Tue May 13 01:20:21 CEST 2008
Revision: 9793
http://pure-data.svn.sourceforge.net/pure-data/?rev=9793&view=rev
Author: eighthave
Date: 2008-05-12 16:20:21 -0700 (Mon, 12 May 2008)
Log Message:
-----------
patch #1962700 two embedded prefs for Mac: default and override all
Added Paths:
-----------
trunk/packages/patches/default_and_embedded_plist-0.41.4.patch
Added: trunk/packages/patches/default_and_embedded_plist-0.41.4.patch
===================================================================
--- trunk/packages/patches/default_and_embedded_plist-0.41.4.patch (rev 0)
+++ trunk/packages/patches/default_and_embedded_plist-0.41.4.patch 2008-05-12 23:20:21 UTC (rev 9793)
@@ -0,0 +1,50 @@
+Index: s_file.c
+===================================================================
+--- s_file.c (revision 9789)
++++ s_file.c (working copy)
+@@ -235,17 +235,35 @@
+ {
+ char cmdbuf[256];
+ int nread = 0, nleft = size;
+- char embedded_prefs[MAXPDSTRING];
+- char user_prefs[MAXPDSTRING];
+- char *homedir = getenv("HOME");
++ char default_prefs[MAXPDSTRING]; // default prefs embedded in the package
++ char embedded_prefs[MAXPDSTRING]; // overrides others for standalone app
++ char embedded_prefs_file[MAXPDSTRING];
++ char user_prefs_file[MAXPDSTRING];
++ char *homedir = getenv("HOME");
+ struct stat statbuf;
+- /* the 'defaults' command expects the filename without .plist at the end */
+- snprintf(embedded_prefs, MAXPDSTRING, "%s/../org.puredata.pd", sys_libdir->s_name);
+- snprintf(user_prefs, MAXPDSTRING, "%s/Library/Preferences/org.puredata.pd.plist", homedir);
+- if (stat(user_prefs, &statbuf) == 0)
+- snprintf(cmdbuf, 256, "defaults read org.puredata.pd %s 2> /dev/null\n", key);
+- else
+- snprintf(cmdbuf, 256, "defaults read %s %s 2> /dev/null\n", embedded_prefs, key);
++ /* the 'defaults' command expects the filename without .plist at the end */
++ snprintf(default_prefs, MAXPDSTRING, "%s/../org.puredata.pd.default",
++ sys_libdir->s_name);
++ snprintf(embedded_prefs, MAXPDSTRING, "%s/../org.puredata.pd",
++ sys_libdir->s_name);
++ snprintf(embedded_prefs_file, MAXPDSTRING, "%s.plist", embedded_prefs);
++ snprintf(user_prefs_file, MAXPDSTRING,
++ "%s/Library/Preferences/org.puredata.pd.plist", homedir);
++ if (stat(embedded_prefs_file, &statbuf) == 0)
++ {
++ snprintf(cmdbuf, 256,
++ "defaults read %s %s 2> /dev/null\n", embedded_prefs, key);
++ }
++ else if (stat(user_prefs_file, &statbuf) == 0)
++ {
++ snprintf(cmdbuf, 256,
++ "defaults read org.puredata.pd %s 2> /dev/null\n", key);
++ }
++ else
++ {
++ snprintf(cmdbuf, 256,
++ "defaults read %s %s 2> /dev/null\n", default_prefs, key);
++ }
+ FILE *fp = popen(cmdbuf, "r");
+ while (nread < size)
+ {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Pd-cvs
mailing list