diff --git a/src/raylib.h b/src/raylib.h index 2c2d7246..ed13548d 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1204,6 +1204,7 @@ RLAPI int GetGlyphIndex(Font font, int codepoint); // Text strings management functions (no utf8 strings, only byte chars) // NOTE: Some strings allocate memory internally for returned strings, just be careful! +RLAPI int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied RLAPI bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending RLAPI const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf style) diff --git a/src/text.c b/src/text.c index 78a3a105..a3b55194 100644 --- a/src/text.c +++ b/src/text.c @@ -1105,8 +1105,32 @@ int GetGlyphIndex(Font font, int codepoint) #endif } +//---------------------------------------------------------------------------------- // Text strings management functions //---------------------------------------------------------------------------------- + +// Copy one string to another, returns bytes copied +int TextCopy(char *dst, const char *src) +{ + int bytes = 0; + + if (dst != NULL) + { + while (*src != '\0') + { + *dst = *src; + dst++; + src++; + + bytes++; + } + + *dst = '\0'; + } + + return bytes; +} + // Check if two text string are equal // REQUIRES: strcmp() bool TextIsEqual(const char *text1, const char *text2)