aboutsummaryrefslogtreecommitdiffstats
path: root/minilibx_linux/mlx_int_str_to_wordtab.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-03-15 17:25:27 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-03-15 17:25:27 +0100
commit842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24 (patch)
treefa3894a02efd5cd730b6f395ae01ff82bdaf65e7 /minilibx_linux/mlx_int_str_to_wordtab.c
parentEdited sounds, bug fix (diff)
parentBack to the GNU C Compiler, tweaked move speed (diff)
download42-cub3d-842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24.tar.gz
42-cub3d-842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24.tar.bz2
42-cub3d-842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24.tar.xz
42-cub3d-842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24.tar.zst
42-cub3d-842613f64e4e4cb5b1e138cb0e9e4ccbba0a3a24.zip
Merge branch 'master' into back-to-pthread
Diffstat (limited to 'minilibx_linux/mlx_int_str_to_wordtab.c')
-rw-r--r--minilibx_linux/mlx_int_str_to_wordtab.c113
1 files changed, 113 insertions, 0 deletions
diff --git a/minilibx_linux/mlx_int_str_to_wordtab.c b/minilibx_linux/mlx_int_str_to_wordtab.c
new file mode 100644
index 0000000..7f92089
--- /dev/null
+++ b/minilibx_linux/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);
+}