diff options
Diffstat (limited to 'source3/lib/util_str.c')
-rw-r--r-- | source3/lib/util_str.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index 15eefb0001..996273bf3a 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -1024,3 +1024,34 @@ BOOL string_sub(char *s,char *pattern,char *insert) return(ret); } +/**************************************************************************** + splits out the front and back at a separator. +****************************************************************************/ +void split_at_last_component(char *path, char *front, char sep, char *back) +{ + char *p = strrchr(path, sep); + + if (p != NULL) + { + *p = 0; + } + if (front != NULL) + { + pstrcpy(front, path); + } + if (p != NULL) + { + if (back != NULL) + { + pstrcpy(back, p+1); + } + *p = '\\'; + } + else + { + if (back != NULL) + { + back[0] = 0; + } + } +} |