]> granicus.if.org Git - multimarkdown/commitdiff
ADDED: Append array of c characters in signle step
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 6 May 2016 15:41:23 +0000 (11:41 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 6 May 2016 15:41:23 +0000 (11:41 -0400)
src/GLibFacade.c
src/GLibFacade.h

index 552d06628a8ef167a50b3ed2925d73659dc7b068..3d7e71a90c0504e29542fdc285d244dddbd5e505 100644 (file)
@@ -137,6 +137,17 @@ void g_string_append_c(GString* baseString, char appendedCharacter)
        baseString->str[baseString->currentStringLength] = '\0';
 }
 
+void g_string_append_c_array(GString *baseString, char * appendedChars, size_t bytes)
+{
+       size_t newSizeNeeded = baseString->currentStringLength + bytes;
+       ensureStringBufferCanHold(baseString, newSizeNeeded);
+
+       memcpy(baseString->str + baseString->currentStringLength,appendedChars, bytes);
+
+       baseString->currentStringLength = newSizeNeeded;
+       baseString->str[baseString->currentStringLength] = '\0';
+}
+
 void g_string_append_printf(GString* baseString, char* format, ...)
 {
        va_list args;
index 731963e9a5eba6772180267575c856f8c3d5a22f..ebd7ed0c562c828e2cda793648e64fae60ad6bb7 100644 (file)
@@ -51,6 +51,7 @@ GString* g_string_new(char *startingString);
 char* g_string_free(GString* ripString, bool freeCharacterData);
 
 void g_string_append_c(GString* baseString, char appendedCharacter);
+void g_string_append_c_array(GString *baseString, char * appendedChars, size_t bytes);
 void g_string_append(GString* baseString, char *appendedString);
 
 void g_string_prepend(GString* baseString, char* prependedString);