piscine-bsq/srcs/parsing_simple.c

68 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* parsing_simple.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: apago <apago@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/04 18:25:47 by apago #+# #+# */
/* Updated: 2023/04/04 18:28:51 by apago ### ########.fr */
/* */
/* ************************************************************************** */
#include "parsing.h"
size_t read_uint(char *str)
{
int i;
i = 0;
while (*str >= '0' && *str <= '9')
{
str++;
i++;
}
return (i);
}
int parse_valid_uint(char *str, size_t len)
{
int res;
int i;
res = 0;
i = 0;
while (i < len)
{
res = res * 10 + str[i] - '0';
i++;
}
return (res);
}
int read_char(char *str, char *dst)
{
if (!*str)
return (0);
*dst = *str;
return (1);
}
int printable(char c)
{
return (c >= 32 && c <= 127);
}
size_t count_first_line(char *line)
{
size_t cnt;
cnt = 0;
while (*line && *line != '\n')
{
line++;
cnt++;
}
return (cnt);
}