diff --git a/src/yes.c b/src/yes.c index e1c360f..4be88c4 100644 --- a/src/yes.c +++ b/src/yes.c @@ -44,7 +44,7 @@ Usage: */ int yes(int argc, char **argv) { - char *spammy = malloc((sizeof(char) * 16) * 2); + char *spammy = ""; int len = 2048; // max length of buffer char buf[len]; FILE *stdoutFP = stdout; @@ -70,8 +70,8 @@ int yes(int argc, char **argv) { printf("%s\n", DRAKECU_VERSION); return 0; } else { - spammy = realloc(spammy, strlen(arg) + 1); - sprintf(spammy, "%s\n", arg); + spammy = arg; + strcat(spammy, "\n"); } } } @@ -79,8 +79,8 @@ int yes(int argc, char **argv) { int splen = strlen(spammy); do { sprintf(buf, "%s%s", buf, spammy); - n++; - } while (n < len); + n += splen; + } while (n+splen < len); do { fwrite(buf, sizeof(char), len, stdoutFP); } while (1);