diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-29 16:56:27 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-29 16:56:27 +0200 |
| commit | 9a2b208985ac7d4644c718ada74770b98eeb4598 (patch) | |
| tree | f190f9dc0bc1228a28c5901842d2f30738a865f8 /ft_strtrim.c | |
| parent | 009780065032aa23c6d72dd7ab02adb481a7c76d (diff) | |
| download | libft-9a2b208985ac7d4644c718ada74770b98eeb4598.tar.gz libft-9a2b208985ac7d4644c718ada74770b98eeb4598.tar.bz2 libft-9a2b208985ac7d4644c718ada74770b98eeb4598.zip | |
part 2 done (except putchar and putstr unicode)
Diffstat (limited to 'ft_strtrim.c')
| -rw-r--r-- | ft_strtrim.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ft_strtrim.c b/ft_strtrim.c new file mode 100644 index 0000000..7b93eae --- /dev/null +++ b/ft_strtrim.c @@ -0,0 +1,27 @@ +#include <stdlib.h> +#include "libft.h" + +static int is_space(char c) +{ + return (c == ' ' || c == '\n' || c == '\t'); +} + +char *ft_strtrim(char const *s) +{ + size_t start; + size_t len; + char *trimed; + + start = 0; + while (s[start] && is_space(s[start])) + start++; + len = ft_strlen(&s[start]); + if (len != 0) + while (s[start + len - 1] && is_space(s[start + len - 1])) + len--; + if ((trimed = (char*)malloc(sizeof(char) * (len + 1))) == NULL) + return (NULL); + trimed = ft_strncpy(trimed, &s[start], len); + trimed[len] = '\0'; + return (trimed); +} |
