Simplify code by factoring fscanf calls

This commit is contained in:
Patrick Pelissier committed 2019-05-18 11:17:14 +02:00
1 parent bc6bda057c
commit 3f03615ed2
1 file changed
+8 -12
+8 -12
View File
@@ -258,13 +258,11 @@ static inline m_serial_return_code_t
m_serial_json_read_array_start(m_serial_read_t serial, size_t *num)
{
FILE *f = (FILE*) serial->data[0];
int final = -1;
fscanf(f, " [%n", &final);
int final1 = -1, final2 = -1;
fscanf(f, " [%n ]%n", &final1, &final2);
*num = 0; // don't know the size of the array.
if (final < 0) return M_SERIAL_FAIL;
final = -1;
fscanf(f, " ]%n", &final);
return final > 0 ? M_SERIAL_OK_DONE : M_SERIAL_OK_CONTINUE;
// Test how much the parsing succeed.
return (final1 < 0) ? M_SERIAL_FAIL : (final2 < 0) ? M_SERIAL_OK_CONTINUE : M_SERIAL_OK_DONE;
}
static inline m_serial_return_code_t
@@ -280,13 +278,11 @@ static inline m_serial_return_code_t
m_serial_json_read_map_start(m_serial_read_t serial, size_t *num)
{
FILE *f = (FILE*) serial->data[0];
int final = -1;
fscanf(f, " {%n", &final);
int final1 = -1, final2 = -1;
fscanf(f, " {%n }%n", &final1, &final2);
*num = 0; // don't know the size of the map.
if (final < 0) return M_SERIAL_FAIL;
final = -1;
fscanf(f, " }%n", &final);
return final > 0 ? M_SERIAL_OK_DONE : M_SERIAL_OK_CONTINUE;
// Test how much the parsing succeed.
return (final1 < 0) ? M_SERIAL_FAIL : (final2 < 0) ? M_SERIAL_OK_CONTINUE : M_SERIAL_OK_DONE;
}
static inline m_serial_return_code_t