From e548e342b9722239c38eb303aef73248392c6681 Mon Sep 17 00:00:00 2001 From: Hugues Delorme Date: Wed, 29 Jan 2014 11:29:55 +0100 Subject: [PATCH] stl_format.c: fix case that would return FOUG_STL_ASCII_FORMAT instead of FOUG_STL_UNKNOWN_FORMAT --- src/libstl/stl_format.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libstl/stl_format.c b/src/libstl/stl_format.c index e7d2dd5..83133c1 100644 --- a/src/libstl/stl_format.c +++ b/src/libstl/stl_format.c @@ -37,14 +37,17 @@ foug_stl_format_t foug_stl_get_format(foug_stream_t *stream, size_t data_size) /* ASCII STL ? */ { + /* Skip spaces at beginning */ size_t pos = 0; while (isspace(fixed_buffer[pos]) && pos < _INTERNAL_FOUG_FIXED_BUFFER_SIZE) ++pos; - if (pos == _INTERNAL_FOUG_FIXED_BUFFER_SIZE) - return FOUG_STL_ASCII_FORMAT; - if (strcmp(fixed_buffer + pos, "solid ") == 0) + /* Next token (if exists) must match "solid " */ + if (pos < _INTERNAL_FOUG_FIXED_BUFFER_SIZE + && strcmp(fixed_buffer + pos, "solid ") == 0) + { return FOUG_STL_ASCII_FORMAT; + } } /* Fallback case */