Esempio n. 1
0
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++;
    }
}
Esempio n. 2
0
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);
}
Esempio n. 3
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);
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
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);
}
Esempio n. 6
0
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);
}