Я не могу понять, почему следующий код генерирует эту ошибку:
incompatible pointer types passing 'char (*)[128]' to parameter of type 'char **'
int main(int argc, char *argv)
{
char line[128];
size_t n;
FILE *fp = fopen(argv[1], "r");
if (NULL == fp)
{
log_error("%d. %s", errno, strerror(errno));
exit(EXIT_FAILURE);
}
while(-1 != getline(&line, &n, fp))
{
// do something
}
return 0;
}
Ошибка генерируется следующей строкой -1 != getline(&line, &n, fp)
Вотпрототип для getline,
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
Что я делаю не так?