+2008-11-19 Craig Howland <howland@LGSInnovations.com>
+
+ * libc/unix/collate.c (__collate_err): simplify to remove unnecessary
+ strdup() and strlen() calls, also getting rid of a compiler warning.
+
2008-11-19 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/sys/config.h: Don't put
void
__collate_err(int ex, const char *f)
{
- const char *s = strdup("collate_error");
+ const char *s;
int serrno = errno;
- write(STDERR_FILENO, s, strlen(s));
- write(STDERR_FILENO, ": ", 2);
- free(s);
- s = f;
- write(STDERR_FILENO, s, strlen(s));
+ /* Be careful to change write counts if you change the strings */
+ write(STDERR_FILENO, "collate_error: ", 15);
+ write(STDERR_FILENO, f, strlen(f));
write(STDERR_FILENO, ": ", 2);
s = strerror(serrno);
write(STDERR_FILENO, s, strlen(s));