From 3782fa20edcd3e4bdbbfa5ffbd430449b97c009a Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 22 Dec 2013 23:04:19 +0100 Subject: path: change mp_splitext() semantics Including the "." in the returned extension was too inconvenient. I think originally, the semantics were supposed to work like in Python, but screw this. Also, return NULL instead of "" on failure (which is what its only user actually seems to expect). --- options/path.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'options/path.c') diff --git a/options/path.c b/options/path.c index 17d6245582..304f009167 100644 --- a/options/path.c +++ b/options/path.c @@ -155,11 +155,11 @@ char *mp_splitext(const char *path, bstr *root) { assert(path); const char *split = strrchr(path, '.'); - if (!split) - split = path + strlen(path); + if (!split || !split[1] || strchr(split, '/')) + return NULL; if (root) - *root = (bstr){.start = (char *)path, .len = path - split}; - return (char *)split; + *root = (bstr){(char *)path, split - path}; + return (char *)split + 1; } char *mp_path_join(void *talloc_ctx, struct bstr p1, struct bstr p2) -- cgit v1.2.3