summaryrefslogtreecommitdiffstats
path: root/src/util.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-01-17 18:40:12 +0000
committerDavid Robillard <d@drobilla.net>2012-01-17 18:40:12 +0000
commitf5356014a3ea31f820c5df86270258b2a6c1be1f (patch)
treef1bf4c7e0598ab3bc4621071a9fbb7cd9a9f3c29 /src/util.c
parent1ad081967284c99a5f86ff7b7e84416c0a601281 (diff)
downloadlilv-f5356014a3ea31f820c5df86270258b2a6c1be1f.tar.gz
lilv-f5356014a3ea31f820c5df86270258b2a6c1be1f.tar.bz2
lilv-f5356014a3ea31f820c5df86270258b2a6c1be1f.zip
Add test cases for lilv_expand and fix bugs.
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3958 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/util.c b/src/util.c
index e0cd027..8079bab 100644
--- a/src/util.c
+++ b/src/util.c
@@ -170,7 +170,7 @@ lilv_expand(const char* path)
if (*s == '$') {
// Hit $ (variable reference, e.g. $VAR_NAME)
for (const char* t = s + 1; ; ++t) {
- if (*t == '\0' || !(isupper(*t) || *t == '_')) {
+ if (!*t || !(isupper(*t) || isdigit(*t) || *t == '_')) {
// Append preceding chunk
out = strappend(out, &len, start, s - start);
@@ -185,7 +185,7 @@ lilv_expand(const char* path)
break;
}
}
- } else if (*s == '~' && (*(s + 1) == '/' || (*(s + 1) == '\0'))) {
+ } else if (*s == '~' && (*(s + 1) == '/' || !*(s + 1))) {
// Hit ~ before slash or end of string (home directory reference)
out = strappend(out, &len, start, s - start);
append_var(out, &len, "HOME");