void make_file(int IC, FILE *data_file, FILE *final_file) { char data_line[MAX_LINE_SIZE], address[MAX_LINE_SIZE]; reset_str(address, MAX_LINE_SIZE); reset_str(data_line, MAX_LINE_SIZE); rewind(data_file); while (!feof(data_file)) { reset_str(data_line, MAX_LINE_SIZE); fgets(data_line, MAX_LINE_SIZE, data_file); in_base(IC, 4, address); if (data_line[0] != '\0') fprintf(final_file, "%s %s", address, data_line); IC++; } }
int parse_header(int fd_src, t_parser *parser, header_t *header, int *size) { char *line; reset_str(header->comment, COMMENT_LENGTH + 1); if ((line = get_next_size(fd_src, parser, size)) == NULL) return (1); if (parse_header_line(line, NAME_CMD_STRING, header->prog_name) == 1) { syntax_error(parser->line_nb); return (1); } free(line); header->prog_size = 0; if ((line = get_next_size(fd_src, parser, size)) == NULL) return (1); if (parse_header_line(line, COMMENT_CMD_STRING, header->comment) == 1) { syntax_error(parser->line_nb); return (1); } free(line); return (0); }
void parse_query_string_len(nvlist_t *vars, const char *qs, size_t len) { struct qstr *name, *val; const char *cur, *end; int state; if (!qs || !len) return; name = alloc_str(VAR_NAME_MAXLEN); val = alloc_str(64 * 1024); ASSERT(name); ASSERT(val); state = QS_STATE_NAME; end = qs + len; cur = qs; for (; end > cur; cur++) { char c = *cur; if (state == QS_STATE_NAME) { if (c == '=') state = QS_STATE_VAL; else ASSERT0(append_char_str(name, c)); } else if (state == QS_STATE_VAL) { if (c == '&') { insert(vars, name, val); state = QS_STATE_NAME; reset_str(name); reset_str(val); } else { ASSERT0(append_char_str(val, c)); } } } if (state == QS_STATE_VAL) insert(vars, name, val); free_str(name); free_str(val); }
void make_it_12_digits(char *result) { int i = strlen(result), j=0; char tmp[12]; reset_str(tmp, 12); for ( ; j <= 11-i; j++) tmp[j] = '0'; strcat(tmp, result); strcpy(result, tmp); }
t_bool checksum(t_bit *bits, t_stock *stock) { t_str str; t_crc crc8; t_bool rtn; str = put_in_str(bits); crc8 = hr_crc32((char*)str.str, ft_strlen((char*)str.str), 0, TRUE); ft_putendl((char*)str.str); if (crc8 == (t_crc)str.crc8) rtn = TRUE; free(str.str); reset_str(bits); stock->bit = NULL; return (rtn); }
static t_bool check_input(t_bit *bits, t_stock *stock) { t_bit *tmp; int idx; int cnt0; int cnt1; tmp = bits; cnt0 = 0; cnt1 = 0; check_it(tmp, &cnt0, &cnt1, &idx); if (cnt0 == 16 && cnt1 == 8 && !((idx + 1) % 8)) return (checksum(bits, stock)); if (cnt0 == 16 && cnt1 == 8 && ((idx + 1) % 8)) { reset_str(bits); stock->bit = NULL; } return (FALSE); }