- char *gd_error_string(const DIRFILE *dirfile, char *buffer, size_t buflen);
If buffer is not NULL, the string is written to this memory location. At most buflen characters will be written. This always includes a terminating null byte, even if the error string was truncated. The numeric dirfile error itself may be obtained by calling gd_error(3).
If buffer is NULL, gd_error_string() will allocate a string of sufficient length using malloc(3), and buflen is ignored. In this case, the caller should deallocate the returned string using free(3) when it is no longer needed.