static char *return_spe_arguments(char *p, char *cmd, char *coma, char *str) { int k; int j; char *result; result = NULL; if (p) { if (!ft_strcmp(p, ft_strjoin(cmd, "*"))) return (str); j = ft_strlen(coma); while (coma[j] != ' ' && j > 0) --j; if (j > 0) ++j; k = -1; while (coma[j] == p[++k] && coma[j] && p[k]) ++j; if (ft_strcmp(p, ft_strjoin(cmd, "*")) == 0) return (str); result = ft_strjoin(coma, ft_strsub(p, k, ft_strlen(p))); do_left(str, result); } return (result); }
int print_str(t_form *info, t_data *d, int ret) { int newret; newret = 0; if (info->prec > ret || info->prec == -1) info->prec = ret; do_norm(info, d, &newret); do_left(info, d, &newret, ret); return (ret + newret); }
int print_nocon(t_form *info, int ret) { int newret; char ospace; ospace = info->zero == 1 ? '0' : ' '; newret = 0; if (info->prec == -1) info->prec = 0; if (info->width == -1) info->width = 0; do_norm(info, ret, &newret, ospace); do_left(info, ret, &newret, ospace); return (ret + newret); }
int print_wstr(t_form *info, int ret, wchar_t *str) { int newret; int count; newret = 0; if (info->prec != -1 && info->prec < ret) ret = info->prec; count = info->prec; if (count == -1 || count > ret) count = ret; do_norm(info, str, &newret, count); do_left(info, str, &newret, ret); return (ret + newret); }
/* Event handler in Podzilla compiling style */ static int tuxchess_handle_event(GR_EVENT *event) { int ret = 0; switch (event->type) { case GR_EVENT_TYPE_KEY_DOWN: switch (event->keystroke.ch) { case'm': do_menu(); ret |= KEY_CLICK; break; case'w': if (end == 0) { do_rev(); ret |= KEY_CLICK; } break; case'f': if (end == 0) { do_fwd(); ret |= KEY_CLICK; } break; case'\r': if (end == 0) { do_action(); } else if (end == 1) { draw_end(end_type); } else { new_game(); } ret |= KEY_CLICK; break; case'l': if (end == 0) { do_left(); ret |= KEY_CLICK; } break; case'r': if (end == 0) { do_right(); ret |= KEY_CLICK; } break; default: ret |= KEY_UNUSED; break; } break; default: ret |= EVENT_UNUSED; break; } return ret; }
void do_backspace() { do_left(); do_delete(); }