aboutsummaryrefslogtreecommitdiff
path: root/pd/src/s_path.c
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2008-09-20 00:30:48 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2008-09-20 00:30:48 +0000
commit4f51fe6574a7d46ddb95bb85e1053e86c2fb805a (patch)
tree79dbdbd418f6755bd22ee5437e56f897bcab4ffc /pd/src/s_path.c
parent59c8e59dce8fc86ba4d07e91984c6a3dd43bc73e (diff)
pd 0.42-0 test 05
svn path=/trunk/; revision=10301
Diffstat (limited to 'pd/src/s_path.c')
-rw-r--r--pd/src/s_path.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/pd/src/s_path.c b/pd/src/s_path.c
index ef441184..d74aa0f6 100644
--- a/pd/src/s_path.c
+++ b/pd/src/s_path.c
@@ -270,8 +270,11 @@ int sys_open_absolute(const char *name, const char* ext,
{
if (sys_isabsolutepath(name))
{
- char dirbuf[MAXPDSTRING];
- int dirlen = (strrchr(name, '/') - name);
+ char dirbuf[MAXPDSTRING], *z = strrchr(name, '/');
+ int dirlen;
+ if (!z)
+ return (0);
+ dirlen = z - name;
if (dirlen > MAXPDSTRING-1)
dirlen = MAXPDSTRING-1;
strncpy(dirbuf, name, dirlen);
@@ -419,9 +422,9 @@ int sys_rcfile(void)
for (i = 1; i < NUMARGS-1; i++)
{
- if (fscanf(file, "%999s", buf) < 0)
+ if (fscanf(file, "%998s", buf) < 0)
break;
- buf[1000] = 0;
+ buf[999] = 0;
if (!(rcargv[i] = malloc(strlen(buf) + 1)))
goto cleanup;
strcpy(rcargv[i], buf);
@@ -437,7 +440,7 @@ int sys_rcfile(void)
fclose(file);
if (sys_verbose)
{
- if (rcargv)
+ if (rcargc)
{
post("startup args from RC file:");
for (i = 1; i < rcargc; i++)