#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int inputAsingleChar, i=0, j=4;
/* initial allocation */
if (name == NULL) {
/* Handle malloc failure */
}
while((inputAsingleChar
= getchar()) != '\n' && inputAsingleChar
!= EOF
) {
/* reallocate as needed */
if (i == j) {
j *= 2;
if(tmp == NULL){
/* Handle realloc failure */
} else {
/* no need to realloc() again, and no need to free tmp */
name = tmp;
}
}
/* store current character */
name[i++] = inputAsingleChar ;
}
/* add null terminator */
name[i] = '\0';
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBpbnB1dEFzaW5nbGVDaGFyLCBpPTAsIGo9NDsKCiAgICAvKiBpbml0aWFsIGFsbG9jYXRpb24gKi8KICAgIGNoYXIgKm5hbWUgPSBtYWxsb2Moaik7CiAgICBpZiAobmFtZSA9PSBOVUxMKSB7CiAgICAgICAgLyogSGFuZGxlIG1hbGxvYyBmYWlsdXJlICovCiAgICB9CiAgICAKICAgIHByaW50ZigiWW91ciBuYW1lOiBcbiIpOwogICAgd2hpbGUoKGlucHV0QXNpbmdsZUNoYXIgPSBnZXRjaGFyKCkpICE9ICdcbicgJiYgaW5wdXRBc2luZ2xlQ2hhciAhPSBFT0YpCiAgICB7CiAgICAgICAgLyogcmVhbGxvY2F0ZSBhcyBuZWVkZWQgKi8KICAgICAgICBpZiAoaSA9PSBqKSB7CiAgICAgICAgICAgIGogKj0gMjsKICAgICAgICAgICAgY2hhciAqdG1wID0gcmVhbGxvYyhuYW1lLCBqKTsKICAgICAgICAgICAgaWYodG1wID09IE5VTEwpewogICAgICAgICAgICAgICAgLyogSGFuZGxlIHJlYWxsb2MgZmFpbHVyZSAqLwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLyogbm8gbmVlZCB0byByZWFsbG9jKCkgYWdhaW4sIGFuZCBubyBuZWVkIHRvIGZyZWUgdG1wICovCiAgICAgICAgICAgICAgICBuYW1lID0gdG1wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8qIHN0b3JlIGN1cnJlbnQgY2hhcmFjdGVyICovCiAgICAgICAgbmFtZVtpKytdID0gaW5wdXRBc2luZ2xlQ2hhciA7CiAgICB9CgogICAgLyogYWRkIG51bGwgdGVybWluYXRvciAqLwogICAgbmFtZVtpXSA9ICdcMCc7CiAgICAKICAgIHByaW50ZigiTmFtZTogJXMgIFxuIiwgbmFtZSk7CiAgICBmcmVlKG5hbWUpOwoKICAgIHJldHVybiAwOwp9Cg==