| 83 | } |
| 84 | |
| 85 | const char *extension(const char *path) |
| 86 | { |
| 87 | CE_ENSURE(NULL != path); |
| 88 | const char *bn = basename(path); |
| 89 | const char *ld = strrchr(bn, '.'); |
| 90 | return (ld == NULL || ld == bn) ? NULL : ld + 1; |
| 91 | } |
| 92 | |
| 93 | bool has_trailing_separator(const char *path) |
| 94 | { |