static t_bool s_modifiers_1(char **s) { if (ft_strnstr(*s, "hh", 2)) { ++s; sgt_printf()->flags.is_short = false; sgt_printf()->flags.is_char = true; return (true); } if (**s == 'h') { sgt_printf()->flags.is_short = true; return (true); } if (ft_strnstr(*s, "ll", 2)) { ++(*s); sgt_printf()->flags.is_long_double = true; sgt_printf()->flags.is_long = true; return (true); } if (**s == 'l') { sgt_printf()->flags.is_long = true; return (true); } return (false); }
void color_fg_bg(t_replace_color co) { int j; if (ft_strnstr(co.t->buffer + *(co.i), "{fg=", 4) && (j = s_valid_option(co.t->buffer + *(co.i) + 4))) { *(co.tmp) = concat(*(co.tmp), co.len, co.t->buffer + *(co.save), *(co.i) - *(co.save)); *(co.tmp) = concat(*(co.tmp), co.len, "\033[38;5;", 7); *(co.tmp) = concat(*(co.tmp), co.len, co.t->buffer + *(co.i) + 4, j); *(co.tmp) = concat(*(co.tmp), co.len, "m", 1); *(co.save) = *(co.i) + j + 5; } else if (ft_strnstr(co.t->buffer + *(co.i), "{bg=", 4) && (j = s_valid_option(co.t->buffer + *(co.i) + 4))) { *(co.tmp) = concat(*(co.tmp), co.len, co.t->buffer + *(co.save), *(co.i) - *(co.save)); *(co.tmp) = concat(*(co.tmp), co.len, "\033[48;5;", 7); *(co.tmp) = concat(*(co.tmp), co.len, co.t->buffer + *(co.i) + 4, j); *(co.tmp) = concat(*(co.tmp), co.len, "m", 1); *(co.save) = *(co.i) + j + 5; } *(co.i) = (*(co.save) > *(co.i)) ? *(co.save) - 1 : *(co.i); }
void test_strnstr(void) { char *str = "Cherchez moi cherchez moi moi moi"; printf("\nTesting ft_strnstr\n"); printf("%-20s %-10s %-10s %-5s\n%-20s %-10s %-10s %-5s\n", "Expected result:", strnstr(str, "moi", 40), strnstr(str, "Chercht", 5), strnstr(str, "moi", 0), "Actual result:", ft_strnstr(str, "moi", 40), ft_strnstr(str, "Chercht", 5), ft_strnstr(str, "moi", 0)); }
char *ft_strnstr(const char *haystack, const char *needle, size_t n) { if (!(*needle)) return ((char *)haystack); if (!(*haystack) || n == 0) return (NULL); if (*haystack == *needle) if (ft_strnstr(haystack + 1, needle + 1, n - 1) - 1 == haystack) return ((char *)haystack); return (ft_strnstr(haystack + 1, needle, n - 1)); }
static char match_not_s_letter_sect(char *sect_name) { if (ft_strnstr(sect_name, "__text", 6) || ft_strnstr(sect_name, "__os_", 5)) return ('T'); else if (ft_strnstr(sect_name, "__bss", 5)) return ('B'); else if (ft_strnstr(sect_name, "__data", 6)) return ('D'); return (' '); }
static void unittest2(t_test *test) { char buf[11]; bzero(buf, 11); strcpy(buf, "un deux 9"); buf[9] = '6'; mt_assert(strcmp(ft_strnstr(buf, "deux", 10), "deux 96") == 0); mt_assert(ft_strnstr(buf, "cinq", 10) == NULL); mt_assert(ft_strnstr(buf, "9682", 10) == NULL); mt_assert(strcmp(ft_strnstr(buf, "6", 10), "6") == 0); }
char *ft_strnstr(const char *s1, const char *s2, size_t n) { if (!(*s2)) return ((char *)s1); if (!(*s1) || n == 0) return (NULL); if (*s1 == *s2) { if (ft_strnstr(s1 + 1, s2 + 1, n - 1) - 1 == s1) return ((char *)s1); } return (ft_strnstr(s1 + 1, s2, n - 1)); }
char *ft_strstr(const char *s1, const char *s2) { size_t i; i = ft_strlen(s1); return (ft_strnstr(s1, s2, i)); }
char *search_first_occurence_hist(t_hist *hist, char *chr, int mode) { size_t chr_len; if (hist) { hist = hist->next; if (chr) { chr_len = ft_strlen(chr); while (hist) { if (mode == 1) { if (ft_strnstr(hist->line, chr, chr_len)) return (hist->line); } else if (mode == 2) { if (ft_strstr(hist->line, chr)) return (hist->line); } hist = hist->next; } } } return (NULL); }
char *ft_strstr(const char *s1, const char *s2) { size_t len; len = ft_strlen(s1); return (ft_strnstr(s1, s2, len + 1)); }
char *ft_strstr(const char *haystack, const char *needle) { size_t i; i = ft_strlen(haystack); return (ft_strnstr(haystack, needle, i)); }
static void unittest3(t_test *test) { char buf[10]; bzero(buf, 10); strcpy(buf, "un deux 9"); buf[9] = '6'; buf[1] = 0; mt_assert(ft_strnstr(buf, "deux", 10) == 0); }
char *ft_strnstr(const char *s1, const char *s2, size_t n) { size_t size_s2; if (!*s2) return ((char *)s1); size_s2 = ft_strlen(s2); if (!*s1 || n < size_s2) return (NULL); if (*s1 == *s2 && !ft_strncmp(s1, s2, size_s2)) return ((char *)s1); return (ft_strnstr(++s1, s2, n - 1)); }
char *get_env(char **env) { int i; i = 0; while (env[i]) { if (ft_strnstr(env[i], "PATH=", 5) != NULL) return (ft_strdup(ft_strsplit(env[i], '=')[1])); i++; } return (""); }
static int var_exist(char **env, char *check) { int i; i = 0; while (env && env[i]) { if (ft_strnstr(env[i], check, ft_strlen(check))) return (1); i++; } return (0); }
static void unittest1(t_test *test) { char buf[10]; bzero(buf, 10); strcpy(buf, "un deux 9"); mt_assert(strcmp(ft_strnstr(buf, "deux", 10), "deux 9") == 0); mt_assert(ft_strnstr(buf, "9", 3) == NULL); mt_assert(strcmp(ft_strnstr(buf, "", 6), buf) == 0); mt_assert(ft_strnstr(buf, "deux", 5) == NULL); mt_assert(strcmp(ft_strnstr(buf, "9", 10), "9") == 0); mt_assert(ft_strnstr(buf, "9", 8) == NULL); }
char *ft_strnstr(char *str, char *to_find, size_t n) { size_t i; if (to_find[0] == '\0') return (str); if (str == '\0' || n < 1) return (NULL); i = 0; while (i < n && to_find[i] == str[i] && str[i] != '\0') { i++; if (to_find[i] == '\0') return (str); } if (str[i] == '\0' || i == n) return (NULL); return (ft_strnstr(str + 1, to_find, n - 1)); }
void do_it(t_truck *b, int sock) { while ((b->i = read(0, b->line, 2048)) > 0) { b->line[b->i] = '\0'; ft_send(sock, 0, b->line, ft_strlen(b->line)); if ((ft_strnstr(b->line, "quit", 4)) != NULL) break ; b->r = c_trans(b, sock); if (b->r == 0) { ft_recv(sock, &b->buff); printf("%s\n", b->buff); } ft_strdel(&b->buff); ft_bzero(b->line, 2048); write(1, "client$$$:", 10); } return ; }
char *ft_strnstr(const char *s1, const char *s2, size_t n) { size_t count_s2; size_t count_s1; count_s2 = 0; count_s1 = 0; while (*(s1 + count_s1) && n) { if (count_s2 == ft_strlen(s2)) return ((char *)(s1)); if (*(s1 + count_s1) != *(s2 + count_s2)) return (ft_strnstr(s1 + count_s1 + 1, s2, --n)); count_s2++; count_s1++; n--; } if (count_s2 == ft_strlen(s2)) return ((char *)(s1)); return (NULL); }
char *ft_strnstr(const char *s1, const char *s2, size_t n) { size_t i; char *result; if (!s1 || !s2) return (NULL); if (s2[0] == '\0') return ((char*)s1); if (!s1[0] || !n) return (NULL); i = 0; while ((s1[i] || !s2[i]) && i <= n) if (s2[i] == '\0') return ((char*)s1); else if (s1[i] == s2[i]) i++; else break ; result = ft_strnstr(s1 + 1, s2, n - 1); return (result); }
int create_client(char *addr, int port) { int sock; struct protoent *proto; struct sockaddr_in sin; proto = getprotobyname("tcp"); if (proto == 0) return (-1); sock = socket(PF_INET, SOCK_STREAM, proto->p_proto); sin.sin_family = AF_INET; sin.sin_port = htons(port); if (ft_strnstr(addr, "Localhost", 9) != NULL) sin.sin_addr.s_addr = inet_addr("127.0.0.1"); else sin.sin_addr.s_addr = inet_addr(addr); if (connect(sock, (const struct sockaddr *)&sin, sizeof(sin)) == -1) { ft_putstr("Connect error\n"); exit(2); } return (sock); }
char *ft_strstr(const char *s1, const char *s2) { return (ft_strnstr(s1, s2, ft_strlen(s1))); }
static char match_letter_sect(char *sect_name) { if (ft_strnstr(sect_name, "__const", 7) || ft_strnstr(sect_name, "__gcc_except_tab", 16) || ft_strnstr(sect_name, "__ustring", 9) || ft_strnstr(sect_name, "__cstring", 9) || ft_strnstr(sect_name, "__interpose", 11) || ft_strnstr(sect_name, "__crash_info", 12) || ft_strnstr(sect_name, "__objc_", 7) || ft_strnstr(sect_name, "__xcrun_shim", 12) || ft_strnstr(sect_name, "__common", 8) || ft_strnstr(sect_name, "__dyld", 6) || ft_strnstr(sect_name, "__class", 7) || ft_strnstr(sect_name, "__eh_frame", 10) || ft_strnstr(sect_name, "__program_vars", 14) || ft_strnstr(sect_name, "__all_image_info", 16) || ft_strnstr(sect_name, "__textcoal_nt", 13) || ft_strnstr(sect_name, "__os_activity", 13) || ft_strnstr(sect_name, "__os_log", 8) || ft_strnstr(sect_name, "__os_trace", 10)) return ('S'); else return (match_not_s_letter_sect(sect_name)); }
static void unittest4(t_test *test) { char buf2[] = "ozarabozaraboze123"; mt_assert(strcmp(ft_strnstr(buf2, "ozaraboze", 15), "ozaraboze123") == 0); }
char *ft_strstr(const char *str, const char *to_find) { return (ft_strnstr(str, to_find, ft_strlen(str))); }