diff options
| author | dacctal <dacctal@symlinx.net> | 2026-05-24 10:23:38 +0000 |
|---|---|---|
| committer | dacctal <dacctal@symlinx.net> | 2026-05-24 10:23:38 +0000 |
| commit | aa0d78815004ae6b0c4a42b0e024f5c4ef555ae2 (patch) | |
| tree | 62f97b4c5acfdb98003568466f878fbd3d6b9dfb /src/name_from_url.c | |
| parent | 83d471f2c1d1b1fa6be51f41e4f1c36ab19d7094 (diff) | |
c rewrite
Diffstat (limited to 'src/name_from_url.c')
| -rw-r--r-- | src/name_from_url.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/name_from_url.c b/src/name_from_url.c new file mode 100644 index 0000000..121fddd --- /dev/null +++ b/src/name_from_url.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "name_from_url.h" + +char* name_from_url(const char *url) { + size_t len = strlen(url); + const char *end = url + len; + while (end > url && *(end-1) == '/') { + end--; + } + const char *last_slash = end; + while (last_slash > url && *(last_slash-1) != '/') { + last_slash--; + } + if (last_slash < end) { + return strndup(last_slash, end - last_slash); + } else { + return strndup(url, end - url); + } +} |
