fix type definition for calloc'd lineptr

This commit is contained in:
froge 2025-07-31 18:24:42 +10:00
parent 4b59767dc6
commit b8ec732f61
Signed by: froge
GPG key ID: A825E09930271BFA

View file

@ -21,15 +21,15 @@ uintmax_t factorial_iter(uintmax_t n) {
int main(void) { int main(void) {
size_t bufsize = 1024; size_t bufsize = 1024;
char **lineptr = calloc(bufsize, sizeof(char)); char *lineptr = calloc(bufsize, sizeof(char));
fputs("Enter number to factor: ", stdout); fputs("Enter number to factor: ", stdout);
int err = getline(lineptr, &bufsize, stdin); int err = getline(&lineptr, &bufsize, stdin);
if(err == -1) { if(err == -1) {
puts("Error reading line from user input"); puts("Error reading line from user input");
return 1; return 1;
} }
uintmax_t user_input = abs(atoi(*lineptr)); uintmax_t user_input = abs(atoi(lineptr));
printf("\nRecursive factorial for number: %ju\n", factorial(user_input)); printf("\nRecursive factorial for number: %ju\n", factorial(user_input));
printf("Iterative factorial for number: %ju\n", factorial_iter(user_input)); printf("Iterative factorial for number: %ju\n", factorial_iter(user_input));
free(lineptr); free(lineptr);