#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int AddString(char*** strings, size_t* count, const char* newStr)
{
char* copy;
char** p;
if (strings == NULL ||
newStr == NULL ||
return 0;
if ((p
= realloc(*strings
, (*count
+ 1) * sizeof(char*))) == NULL
) {
return 0;
}
*strings = p;
(*strings)[(*count)++] = copy;
return 1;
}
void PrintStrings(char** strings, size_t count)
{
if (strings != NULL)
while (count--)
}
int main(void)
{
char** strings = NULL;
size_t count = 0;
PrintStrings(strings, count);
AddString(&strings, &count, "Hello World!");
PrintStrings(strings, count);
AddString(&strings, &count, "123");
AddString(&strings, &count, "ABCDEF");
PrintStrings(strings, count);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKaW50IEFkZFN0cmluZyhjaGFyKioqIHN0cmluZ3MsIHNpemVfdCogY291bnQsIGNvbnN0IGNoYXIqIG5ld1N0cikKewogIGNoYXIqIGNvcHk7CiAgY2hhcioqIHA7CgogIGlmIChzdHJpbmdzID09IE5VTEwgfHwKICAgICAgbmV3U3RyID09IE5VTEwgfHwKICAgICAgKGNvcHkgPSBtYWxsb2Moc3RybGVuKG5ld1N0cikgKyAxKSkgPT0gTlVMTCkKICAgIHJldHVybiAwOwoKICBzdHJjcHkoY29weSwgbmV3U3RyKTsKCiAgaWYgKChwID0gcmVhbGxvYygqc3RyaW5ncywgKCpjb3VudCArIDEpICogc2l6ZW9mKGNoYXIqKSkpID09IE5VTEwpCiAgewogICAgZnJlZShjb3B5KTsKICAgIHJldHVybiAwOwogIH0KCiAgKnN0cmluZ3MgPSBwOwoKICAoKnN0cmluZ3MpWygqY291bnQpKytdID0gY29weTsKCiAgcmV0dXJuIDE7Cn0KCnZvaWQgUHJpbnRTdHJpbmdzKGNoYXIqKiBzdHJpbmdzLCBzaXplX3QgY291bnQpCnsKICBwcmludGYoIkJFR0lOXG4iKTsKICBpZiAoc3RyaW5ncyAhPSBOVUxMKQogICAgd2hpbGUgKGNvdW50LS0pCiAgICAgIHByaW50ZigiICAlc1xuIiwgKnN0cmluZ3MrKyk7CiAgcHJpbnRmKCJFTkRcbiIpOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgY2hhcioqIHN0cmluZ3MgPSBOVUxMOwogIHNpemVfdCBjb3VudCA9IDA7CiAgUHJpbnRTdHJpbmdzKHN0cmluZ3MsIGNvdW50KTsKICBBZGRTdHJpbmcoJnN0cmluZ3MsICZjb3VudCwgIkhlbGxvIFdvcmxkISIpOwogIFByaW50U3RyaW5ncyhzdHJpbmdzLCBjb3VudCk7CiAgQWRkU3RyaW5nKCZzdHJpbmdzLCAmY291bnQsICIxMjMiKTsKICBBZGRTdHJpbmcoJnN0cmluZ3MsICZjb3VudCwgIkFCQ0RFRiIpOwogIFByaW50U3RyaW5ncyhzdHJpbmdzLCBjb3VudCk7CiAgcmV0dXJuIDA7Cn0K