diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-15 16:19:44 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-15 16:19:44 +0200 |
commit | 46687fa2cef63e99a0ded077d88c3b19b20cc1ca (patch) | |
tree | 020590d4319b4bd0217cdf97750f3a8338d3069e /minilibx-bsd/mlx_int_str_to_wordtab.c | |
parent | Added line to gitignore (diff) | |
download | 42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.gz 42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.bz2 42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.xz 42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.zst 42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.zip |
Now BSD compliant
Diffstat (limited to 'minilibx-bsd/mlx_int_str_to_wordtab.c')
-rw-r--r-- | minilibx-bsd/mlx_int_str_to_wordtab.c | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/minilibx-bsd/mlx_int_str_to_wordtab.c b/minilibx-bsd/mlx_int_str_to_wordtab.c new file mode 100644 index 0000000..7f92089 --- /dev/null +++ b/minilibx-bsd/mlx_int_str_to_wordtab.c @@ -0,0 +1,113 @@ +/* +** mlx_int_str_to_wordtab.c for MinilibX in +** +** Made by Charlie Root +** Login <ol@epitech.net> +** +** Started on Wed Sep 13 11:36:09 2000 Charlie Root +** Last update Fri Dec 14 11:02:09 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + +int mlx_int_str_str(char *str,char *find,int len) +{ + int len_f; + int pos; + char *s; + char *f; + + len_f = strlen(find); + if (len_f>len) + return (-1); + pos = 0; + while (*(str+len_f-1)) + { + s = str; + f = find; + while (*(f++) == *(s++)) + if (!*f) + return (pos); + str ++; + pos ++; + } + return (-1); +} + + + +int mlx_int_str_str_cote(char *str,char *find,int len) +{ + int len_f; + int pos; + char *s; + char *f; + int cote; + + len_f = strlen(find); + if (len_f>len) + return (-1); + cote = 0; + pos = 0; + while (*(str+len_f-1)) + { + if (*str=='"') + cote = 1-cote; + if (!cote) + { + s = str; + f = find; + while (*(f++) == *(s++)) + if (!*f) + return (pos); + } + str ++; + pos ++; + } + return (-1); +} + + +char **mlx_int_str_to_wordtab(char *str) +{ + char **tab; + int pos; + int nb_word; + int len; + + len = strlen(str); + nb_word = 0; + pos = 0; + while (pos<len) + { + while (*(str+pos)==' ' || *(str+pos)=='\t') + pos ++; + if (*(str+pos)) + nb_word ++; + while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t') + pos ++; + } + if (!(tab = malloc((1+nb_word)*sizeof(*tab)))) + return ((char **)0); + nb_word = 0; + pos = 0; + while (pos<len) + { + while (*(str+pos)==' ' || *(str+pos)=='\t') + { + *(str+pos) = 0; + pos ++; + } + if (*(str+pos)) + { + tab[nb_word] = str+pos; + nb_word ++; + } + while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t') + pos ++; + } + tab[nb_word] = 0; + return (tab); +} |