Simplify code by factoring fscanf calls
This commit is contained in:
1 parent
bc6bda057c
commit
3f03615ed2
1 file changed
+8
-12
+8
-12
@@ -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
|
||||
|
||||
Reference in new issue
Block a user