65 #define STR(x) vstring_str(x)
87 if (path == 0 || *path == 0)
94 last = path + strlen(path) - 1;
95 while (*last ==
'/') {
105 while (first >= path && *first !=
'/')
130 if (path == 0 || *path == 0)
137 last = path + strlen(path) - 1;
138 while (*last ==
'/') {
147 while (last >= path && *last !=
'/')
155 while (last > path && *last ==
'/')
164 int main(
int argc,
char **argv)
174 STR(buf), dir, base);
int vstring_get_nonl(VSTRING *vp, VSTREAM *fp)
int main(int argc, char **argv)
char * sane_dirname(VSTRING *bp, const char *path)
VSTRING * vstring_strcpy(VSTRING *vp, const char *src)
VSTREAM * vstream_printf(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
int vstream_fflush(VSTREAM *stream)
char * sane_basename(VSTRING *bp, const char *path)
VSTRING * vstring_free(VSTRING *vp)
VSTRING * vstring_strncpy(VSTRING *vp, const char *src, ssize_t len)