static t_lst *prec_null_fmt(t_lst *lst, t_data *data) { if (data->precision == 0 && ft_strchr("idDoOuUxX", *(data->fmt)) && !data->hash && (lst_sum_digit(lst) == 0)) lst = del_all_digits(lst) ; if (data->precision == 0 && ((ft_strchr("xX", *(data->fmt)) && data->hash) || (ft_strchr("pP", *(data->fmt))))) { if (lst_sum_alnum(lst) == 0) { lst = del_all_digits(lst) ; if (*(data->fmt) == 'p' || *(data->fmt) == 'P') lst = pushfront_lst(lst, '0'); } } return (lst); }
void print_file(t_files *file, t_ls_args *args, int links_col, int size_col) { if (ft_strchr(args->options, 'l')) print_files_long(file, args->options, links_col, size_col); else print_files_short(file, args->options); }
int addi(int arg, char sec_op, char *var) { if (sec_op == '=') return (arg + ft_atoi(ft_strchr(var, '=') + 1)); else if (sec_op != '+') return (arg); return (arg + 1); }
int subs(int arg, char sec_op, char *var) { if (sec_op == '=') return (arg - ft_atoi(ft_strchr(var, '=') + 1)); else if (sec_op != '-') return (arg); return (arg - 1); }
void print_files_short(t_files *file, char *options) { if (ft_strchr(options, 'G')) add_color(file); ft_putstr(file->name); ft_putstr("\033[0m"); ft_putchar('\n'); }
int mult(int arg, char sec_op, char *var) { if (sec_op == '=') return (arg * ft_atoi(ft_strchr(var, '=') + 1)); else if (sec_op != '*') return (arg); return (arg * arg); }
int find_arg_flag(char *s, t_argf *arg) { char *n; if ((n = ft_strchr(g_flags_str, (int)(*s)))) arg->flag[n - g_flags_str] = TRUE; return (n ? 1 : -1); }
void printer_details(t_piles *piles, char *operation, char *options) { static int first_time; if (!first_time && ft_strchr(options, 'v')) { ft_putstr("### CHANGEMENTS EFFECTUES ###\n"); first_time = 1; } ft_putstr(operation); ft_putstr(" -> ["); if (ft_strchr(operation, 'a')) printer_lst_nbr(piles->a); else printer_lst_nbr(piles->b); ft_putstr("]\n"); }
static int ft_inf_strcat(char **dst, char *src, int ret_read) { char *temp; if ((temp = ft_strnew(ft_strlen(*dst) + 1)) == NULL) return (-1); ft_strcpy(temp, *dst); free(*dst); if ((*dst = ft_strnew(ft_strlen(temp) + ret_read + 1)) == NULL) return (-1); ft_strcpy(*dst, temp); *dst = ft_strncat(*dst, src, ret_read); if (ft_strchr(*dst, '\n') != NULL) *(ft_strchr(*dst, '\n')) = '\0'; free(temp); return (0); }
char *print_prefix(char *str, char c, t_printer *p, t_value *v) { if (c != '0') return (str); if (ft_strchr("+- ", *str) && ft_strchr("idD?", SPEC)) { ft_putchar_fd(*str, p->fd); str = &str[1]; } else if (*str == '0' && ft_strchr("xXbB", str[1]) && SPEC != 's') { ft_putchar_fd(*str, p->fd); ft_putchar_fd(str[1], p->fd); str = &str[2]; } return (str); }
static int invalid_opt(char option, t_info *info) { if (!(ft_strchr("i", option))) return (1); if (option == 'i') SET(info->opt, OPT_I); return (0); }
int ft_isspace(int c) { static char search[7] = " \t\n\v\f\r\0"; if (ft_strchr(search, c) == NULL) return (0); return (1); }
int validate_mod(char *choped) { int i; i = 0; while (choped[i]) { if (!is_double_mod(choped, &i) && is_mod(choped[i]) && \ ft_strchr(SPECIFIERS, choped[i + 1]) == NULL) return (-1); else if (is_double_mod(choped, &i) && \ ft_strchr(SPECIFIERS, choped[i + 2]) == NULL) return (-1); i++; } return (1); }
void print_by_flags(struct stat *f_stat, char *flags, char **f, int i) { if (!ft_strcmp(flags, "R")) print_with_nl(f[i], flags); else if (ft_strchr(flags, '1')) { if (check_l_or_1(flags)) { ft_putstr(f[i]); ft_putstr("\n"); } else { if (ft_strchr(flags, 'l') || ft_strchr(flags, 'g') || ft_strchr(flags, 'o')) print_line(f_stat, flags, f, i); } } else { if (ft_strchr(flags, 'l') || ft_strchr(flags, 'g') || ft_strchr(flags, 'o')) print_line(f_stat, flags, f, i); else print_with_nl(f[i], flags); } }
static void ls_gen_filedirs_sort(char *options, t_arraylist *filedirs) { if (!filedirs) return ; if (ft_strchr(options, 't')) filedirs->sort(filedirs, ls_filedir_t_cmp); else filedirs->sort(filedirs, ls_filedir_cmp); }
int grep_cmd(char **str) { int i; i = 0; while (ft_strchr(str[i], '=')) i++; return (i); }
static int ft_cop(char *str1, char **line, char *str2) { *(ft_strchr(str1, '\n')) = '\0'; *line = ft_strjoin_free(*line, str1); ft_strcpy(str2, str1 + ft_strlen(str1) + 1); if (str1 != str2) free(str1); return (1); }
static int treat_no_remain(char **line, char **remain, int fd, char *buf) { if (ft_strchr(buf, '\n')) { if (**line) *line = ft_strjoin(ft_strdup(*line), ft_strndup(buf, ft_strchr(buf, '\n') - buf)); else *line = ft_strndup(buf, ft_strchr(buf, '\n') - buf); remain[fd] = ft_strdup(ft_strchr(buf, '\n') + 1); return (*line && remain[fd] ? 1 : -1); } if (**line) *line = ft_strjoin(ft_strdup(*line), buf); else *line = ft_strdup(buf); return (*line && !remain ? 0 : -1); }
void com_pipes(t_main *w, t_env *env, char **coms) { int i; i = 0; coms = ft_strsplit(w->line, ';'); while (coms[i] != NULL) { if (ft_strchr(coms[i], '|') == 0) { w->line = ft_strtrim(coms[i]); ft_minishell(env, w); } else if (ft_strchr(coms[i], '|') != 0) ft_pipes(env, coms, i, w); i++; } }
/* ** Count the len of 'str' using only char of 'skip' */ t_uint ft_strskip(const char *str, const char *skip) { t_uint i; i = 0; while (str[i] != '\0' && ft_strchr(skip, str[i]) != NULL) i++; return (i); }
int ft_printf_u(va_list ap, t_list_printf *list) { if (list->has_mod == 0) list->max = (unsigned int)va_arg(ap, int); list->tab_c = ft_convert_base_uintmax_t(list->max, 10); if (ft_strchr(list->fl_opt, '0')) ft_parse_0(list); if (!(ft_strchr(list->fl_opt, '-')) && !(ft_strchr(list->fl_opt, '0'))) if (list->k > 0) ft_parse_sp(list); if (list->prec > ft_strlen(list->tab_c)) ft_prec(list); //ft_putstr_end(list->tab_c, ft_strlen(list->tab_c) - 1); ft_putstr(list->tab_c); if (ft_strchr(list->fl_opt, '-')) ft_parse_less(list); return (ft_strlen(list->tab_c)); }
int scan_op(char **arg, t_lv *lv) { ft_bzero((void *)lv->flag, 3); if ((lv->f = search_ope(&(*arg)[lv->d], "+-*%/=", strchri(&(*arg)[lv->d], ';')))) { if (lv->f == '=') return (0); lv->flag[0] = search_opi(&(*arg)[lv->d], "+-*%/=", strchri(&(*arg)[lv->d], ';')); lv->flag[1] = search_ope(ft_strchr(&(*arg)[lv->d], lv->f) + 1, "+-*%/=", 1); } else if (ft_strchr(cpy_to(&(*arg)[lv->d], search_opi(&(*arg)[lv->d], ";&<>|", 10000)), '.')) lv->f = '.'; return (1); }
void ft_ret_line(char **line, char **tmp, int fd) { char *del; if (!ft_strchr(tmp[fd], '\n')) { *line = ft_strdup(tmp[fd]); ft_strdel(&tmp[fd]); } else { del = tmp[fd]; *line = ft_strsub(tmp[fd], 0, ft_strchr(tmp[fd], '\n') - tmp[fd]); tmp[fd] = ft_strsub(tmp[fd], ((ft_strchr(tmp[fd], '\n') - tmp[fd]) + 1), ft_strlen(tmp[fd])); ft_strdel(&del); } }
int ft_isnumber(char c) { char *str; str = NUMBER_CHARSET; if (ft_strchr(str, c) == NULL) return (0); return (1); }
static void norme_big_r_1(DIR **d, char *path, char *options, char ***tmp) { struct dirent *drnt; char *tmp_suffix; while ((drnt = readdir(*d)) != NULL) { tmp_suffix = create_str_suffix(path, drnt->d_name); if (ft_is_dir(tmp_suffix) == 1 && ft_strcmp(drnt->d_name, ".") && ft_strcmp(drnt->d_name, "..")) { if ((!ft_strchr(options, 'a') && (drnt->d_name)[0] != '.') || ft_strchr(options, 'a')) *tmp = extend_tab_str(*tmp, tmp_suffix); } } return ; }
int ft_isponct(char c) { char *str; str = PONCT_CHARSET; if (ft_strchr(str, c) == NULL) return (0); return (1); }
void shell_env_to_list(t_list **list, char **environ) { int i; t_env *env; i = 0; while (environ[i]) { env = malloc(sizeof(t_env)); env->var = ft_strnew(ft_strlen(environ[i]) - ft_strlen(ft_strchr(environ[i], '=') + 1)); ft_strncpy(env->var, environ[i], ft_strlen(environ[i]) - ft_strlen(ft_strchr(environ[i], '='))); env->value = ft_strdup(ft_strchr(environ[i], '=') + 1); ft_lstadd(list, ft_lstnew(env, sizeof(t_env))); i++; } }
t_lst *precisionfmt(t_lst *lst, t_data *data) { lst = prec_null_fmt(lst, data); if (data->precision >= 0 && ft_strchr("sS", *(data->fmt))) lst = pos_pres_s(lst, data); else if (data->precision > 0) lst = pos_pres_fmt(lst, data); return (lst); }
static void ft_opt2_b(const char *form, va_list ap, int *i, int *count) { int index; index = 0; if (ft_strchr("zlhL", form[*i])) index = 1; if (ft_strchr("uid", form[*i + index])) { if (va_arg(ap, int) > 0) *count += ft_putchar(' '); } if (ft_strchr("feE", form[*i + index])) { if (va_arg(ap, double) > 0) *count += ft_putchar(' '); } }
void choose(char *s, t_list **l) { char *head; char *eol; head = s; if (!(eol = ft_strchr(head, ':'))) record_instr(head, l); else { if ((eol = ft_strchr(head, ':')) && !ft_strchr(head, '%')) record_label(head, l); else record_instr(head, l); } }