[PD-cvs] SF.net SVN: pure-data: [9798] trunk/packages/patches/ use_FILENAME_MAX_for_file_operations-0.41.4.patch
eighthave at users.sourceforge.net
eighthave at users.sourceforge.net
Wed May 14 19:38:40 CEST 2008
Revision: 9798
http://pure-data.svn.sourceforge.net/pure-data/?rev=9798&view=rev
Author: eighthave
Date: 2008-05-14 10:38:40 -0700 (Wed, 14 May 2008)
Log Message:
-----------
oops, removed add_tilde_support_toopen-0.41.4.patch from this one
Modified Paths:
--------------
trunk/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch
Modified: trunk/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch
===================================================================
--- trunk/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch 2008-05-14 17:37:20 UTC (rev 9797)
+++ trunk/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch 2008-05-14 17:38:40 UTC (rev 9798)
@@ -241,61 +241,6 @@
===================================================================
--- s_path.c (revision 9725)
+++ s_path.c (working copy)
-@@ -22,6 +22,10 @@
- #include <io.h>
- #endif
-
-+#ifdef MSW
-+#include <windows.h>
-+#endif
-+
- #include <string.h>
- #include "m_pd.h"
- #include "m_imp.h"
-@@ -69,6 +73,30 @@
- *to = 0;
- }
-
-+/* expand env vars and ~ at the beginning of a path and make a copy to return */
-+static void sys_expandpath(const char *from, char *to)
-+{
-+ if ((strlen(from) == 1 && from[0] == '~') || (strncmp(from,"~/", 2) == 0))
-+ {
-+#ifdef MSW
-+ const char *home = getenv("USERPROFILE");
-+#else
-+ const char *home = getenv("HOME");
-+#endif
-+ if(home)
-+ {
-+ strncpy(to, home, FILENAME_MAX - 1);
-+ strncat(to, from + 1, FILENAME_MAX - strlen(from) - 2);
-+ }
-+ }
-+ else
-+ strncpy(to, from, FILENAME_MAX - 1);
-+#ifdef MSW
-+ char buf[FILENAME_MAX];
-+ ExpandEnvironmentStrings(to, buf, FILENAME_MAX - 2);
-+ strncpy(to, buf, FILENAME_MAX - 1);
-+#endif
-+}
- /******************* Utility functions used below ******************/
-
- /*!
-@@ -196,9 +224,11 @@
- char *dirresult, char **nameresult, unsigned int size, int bin)
- {
- int fd;
-+ char buf[FILENAME_MAX];
- if (strlen(dir) + strlen(name) + strlen(ext) + 4 > size)
- return (-1);
-- strcpy(dirresult, dir);
-+ sys_expandpath(dir, buf);
-+ strcpy(dirresult, buf);
- if (*dirresult && dirresult[strlen(dirresult)-1] != '/')
- strcat(dirresult, "/");
- strcat(dirresult, name);
@@ -250,16 +280,16 @@
int sys_open_absolute(const char *name, const char* ext,
char *dirresult, char **nameresult, unsigned int size, int bin, int *fdp)
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