68 lines
1.5 KiB
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);
|
|
}
|