gmio_stl: minor optimizations in stla_write.c

This commit is contained in:
Hugues Delorme 2015-04-02 15:38:50 +02:00
parent 6a5ac600bd
commit 06bf919a3a

View File

@ -49,35 +49,33 @@ enum { GMIO_STLA_FACET_SIZE = 321 };
enum { GMIO_STLA_FACET_SIZE_P2 = 512 }; enum { GMIO_STLA_FACET_SIZE_P2 = 512 };
enum { GMIO_STLA_SOLID_NAME_MAX_LEN = 512 }; enum { GMIO_STLA_SOLID_NAME_MAX_LEN = 512 };
static char* gmio_write_string(char* buffer, const char* str) GMIO_INLINE char* gmio_write_string(char* buffer, const char* str)
{
const char* safe_str = str != NULL ? str : "";
strcpy(buffer, safe_str);
return buffer + strlen(safe_str);
}
static char* gmio_write_string_eol(char* buffer, const char* str)
{ {
const char* safe_str = str != NULL ? str : ""; const char* safe_str = str != NULL ? str : "";
const size_t len = strlen(safe_str); const size_t len = strlen(safe_str);
strncpy(buffer, safe_str, len); strncpy(buffer, safe_str, len);
buffer[len] = '\n'; return buffer + len;
return buffer + len + 1;
} }
static char* gmio_write_eol(char* buffer) GMIO_INLINE char* gmio_write_eol(char* buffer)
{ {
*buffer = '\n'; *buffer = '\n';
return buffer + 1; return buffer + 1;
} }
GMIO_INLINE char* gmio_write_string_eol(char* buffer, const char* str)
{
buffer = gmio_write_string(buffer, str);
return gmio_write_eol(buffer);
}
/*static char* gmio_write_space(char* buffer) /*static char* gmio_write_space(char* buffer)
{ {
*buffer = ' '; *buffer = ' ';
return buffer + 1; return buffer + 1;
}*/ }*/
static char* gmio_write_nspaces(char* buffer, int n) GMIO_INLINE char* gmio_write_nspaces(char* buffer, int n)
{ {
const int offset = n; const int offset = n;
while (n > 0) while (n > 0)
@ -85,7 +83,7 @@ static char* gmio_write_nspaces(char* buffer, int n)
return buffer + offset; return buffer + offset;
} }
static char* gmio_write_stdio_format(char* buffer, uint8_t prec) GMIO_INLINE char* gmio_write_stdio_format(char* buffer, uint8_t prec)
{ {
int prec_len = 0; int prec_len = 0;
@ -96,7 +94,7 @@ static char* gmio_write_stdio_format(char* buffer, uint8_t prec)
return buffer + 3 + prec_len; return buffer + 3 + prec_len;
} }
static char* gmio_write_coords( GMIO_INLINE char* gmio_write_coords(
char* buffer, char* buffer,
const char* coords_format, const char* coords_format,
const gmio_stl_coords_t* coords) const gmio_stl_coords_t* coords)