From c92bfd3a919655475bb185933bce272c673bec15 Mon Sep 17 00:00:00 2001 From: "tg(x)" <*@tg-x.net> Date: Tue, 3 May 2011 23:03:52 +0200 Subject: [PATCH] text: moved inline functions to .h, fixed warnings --- include/psyc/text.h | 47 ++++++++++++++++++++++++++++++++++----------- src/text.c | 38 ++---------------------------------- test/testText.c | 9 ++++++--- 3 files changed, 44 insertions(+), 50 deletions(-) diff --git a/include/psyc/text.h b/include/psyc/text.h index 7774684..2bb5394 100644 --- a/include/psyc/text.h +++ b/include/psyc/text.h @@ -38,21 +38,46 @@ typedef struct * number of bytes written. 0 is a legal return value. Should the * callback return -1, psyc_text leaves the original template text as is. */ -typedef psycTextValueRC (*psycTextCB)(char *name, size_t len, psycString *value); +typedef psycTextValueRC (*psycTextCB)(const char *name, size_t len, psycString *value); -inline void psyc_initTextState (psycTextState *state, - char *template, size_t tlen, - char *buffer, size_t blen); +static inline +void psyc_initTextState (psycTextState *state, + char *template, size_t tlen, + char *buffer, size_t blen) +{ + state->cursor = state->written = 0; + state->template = psyc_newString(template, tlen); + state->buffer = psyc_newString(buffer, blen); + state->open = psyc_newString("[", 1); + state->close = psyc_newString("]", 1); +} -inline void psyc_initTextState2 (psycTextState* state, - char *template, size_t tlen, - char *buffer, size_t blen, - char *open, size_t openlen, - char *close, size_t closelen); +static inline +void psyc_initTextState2 (psycTextState* state, + char *template, size_t tlen, + char *buffer, size_t blen, + char *open, size_t openlen, + char *close, size_t closelen) +{ + state->template = psyc_newString(template, tlen); + state->buffer = psyc_newString(buffer, blen); + state->open = psyc_newString(open, openlen); + state->close = psyc_newString(close, closelen); +} -inline void psyc_setTextBuffer (psycTextState *state, psycString buffer); +static inline +void psyc_setTextBuffer (psycTextState* state, psycString buffer) +{ + state->buffer = buffer; + state->written = 0; +} -inline void psyc_setTextBuffer2 (psycTextState *state, char *buffer, size_t length); +static inline +void psyc_setTextBuffer2 (psycTextState* state, + char *buffer, size_t length) +{ + psyc_setTextBuffer(state, psyc_newString(buffer, length)); +} /** * Fills out text templates by asking a callback for content. diff --git a/src/text.c b/src/text.c index 2d00058..674890b 100644 --- a/src/text.c +++ b/src/text.c @@ -1,44 +1,10 @@ #include #include -inline void psyc_initTextState (psycTextState *state, - char *template, size_t tlen, - char *buffer, size_t blen) -{ - state->cursor = state->written = 0; - state->template = psyc_newString(template, tlen); - state->buffer = psyc_newString(buffer, blen); - state->open = psyc_newString("[", 1); - state->close = psyc_newString("]", 1); -} - -inline void psyc_initTextState2 (psycTextState* state, - char *template, size_t tlen, - char *buffer, size_t blen, - char *open, size_t openlen, - char *close, size_t closelen) -{ - state->template = psyc_newString(template, tlen); - state->buffer = psyc_newString(buffer, blen); - state->open = psyc_newString(open, openlen); - state->close = psyc_newString(close, closelen); -} - -inline void psyc_setTextBuffer (psycTextState* state, psycString buffer) -{ - state->buffer = buffer; - state->written = 0; -} - -inline void psyc_setTextBuffer2 (psycTextState* state, char *buffer, size_t length) -{ - psyc_setTextBuffer(state, psyc_newString(buffer, length)); -} - psycTextRC psyc_text (psycTextState *state, psycTextCB getValue) { - char *start = state->template.ptr, *end; // start & end of variable name - char *prev = state->template.ptr + state->cursor; + const char *start = state->template.ptr, *end; // start & end of variable name + const char *prev = state->template.ptr + state->cursor; psycString value; int ret; size_t len; diff --git a/test/testText.c b/test/testText.c index e67b37e..6ea51f7 100644 --- a/test/testText.c +++ b/test/testText.c @@ -7,21 +7,21 @@ uint8_t verbose; -psycTextValueRC getValueFooBar (char *name, size_t len, psycString *value) +psycTextValueRC getValueFooBar (const char *name, size_t len, psycString *value) { value->ptr = "Foo Bar"; value->length = 7; return PSYC_TEXT_VALUE_FOUND; } -psycTextValueRC getValueEmpty (char *name, size_t len, psycString *value) +psycTextValueRC getValueEmpty (const char *name, size_t len, psycString *value) { value->ptr = ""; value->length = 0; return PSYC_TEXT_VALUE_FOUND; } -psycTextValueRC getValueNotFound (char *name, size_t len, psycString *value) +psycTextValueRC getValueNotFound (const char *name, size_t len, psycString *value) { return PSYC_TEXT_VALUE_NOT_FOUND; } @@ -88,5 +88,8 @@ int main(int argc, char **argv) if (memcmp(result.ptr, PSYC_C2ARG("Hello Foo Bar & Foo Bar!"))) return 10 + i; } + + puts("psyc_text passed all tests."); + return 0; }