/* Increments by one on each err_try_fgets() call, servers as a line counter. */
static uint32_t err_try_fgets_counter = 0;
-/* Delimiter to use for err_try_fgets()' 'c' test. */
+/* Delimiter to use for err_try_fgets()' 'd' test. */
char * err_try_fgets_delim = "";
-extern void err_try_fgets(char * line, uint32_t linemax, FILE * file,
- char * context, char * test)
+extern char * err_try_fgets(char * line, uint32_t linemax, FILE * file,
+ char * context, char * test)
{
char * err_end = "File ended unexpectedly.";
char * err_empty = "Hit empty line where non-empty line was expected.";
char * err_uint8 = "Value is too large. Must be 255 or less.";
char * f_name = "err_try_fgets()";
line[0] = '\0';
- try_fgets(line, linemax + 1, file, f_name);
+ char * fgets_return = try_fgets(line, linemax + 1, file, f_name);
err_try_fgets_counter++;
err_line(strchr(test, '0') && !(strlen(line)), line, context, err_end);
err_line(strchr(test, 'n') && line[strlen(line) - 1] != '\n', line, context,
err_line(strchr(test, 's') && strlen(line) > 2, line, context, err_many);
err_line(strchr(test, 'd') && strcmp(line, err_try_fgets_delim), line,
context, err_delim);
- if (strchr(test, 'i'))
+ if (strchr(test, 'i') || strchr(test, '8'))
{
err_line(!(strchr(test, 'f')) && strlen(line) < 2, line, context,
err_int);
}
err_line(strchr(test, '8') && atoi(line) > UINT8_MAX, line, context,
err_uint8);
+ return fgets_return;
}