}
else
if (path[0] != DIR_SEP_CHAR)
- { /* Relative path: prepend the current working directory */
- char cwd[PATH_MAX];
+ {
+ if(path[0] == '-')
+ {
+ /*reading from stdin*/
+ if (asprintf (&buf, "-") == -1)
+ return NULL;
- if (getcwd (cwd, sizeof (cwd)) == NULL) /* FIXME: UTF8? */
- return NULL;
- if (asprintf (&buf, "%s/%s", cwd, path) == -1)
- return NULL;
- char *ret = make_URI (buf);
- free (buf);
- return ret;
+ return buf;
+ }
+ else
+ {
+ /* Relative path: prepend the current working directory */
+ char cwd[PATH_MAX];
+
+ if (getcwd (cwd, sizeof (cwd)) == NULL) /* FIXME: UTF8? */
+ return NULL;
+ if (asprintf (&buf, "%s/%s", cwd, path) == -1)
+ return NULL;
+ char *ret = make_URI (buf);
+ free (buf);
+ return ret;
+ }
}
else
buf = strdup ("file://");