+2015-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ [BZ #18757]
+ * libio/iofopncook.c (_IO_fopencookie): Set errno on failure.
+ * libio/test-fmemopen.c (do_bz18820): Extend the test to cover
+ BZ #18757.
+
2015-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>
* malloc/mtrace.pl: Filter out NULL entries.
2898, 14341, 15786, 16141, 16517, 16519, 16520, 16734, 16973, 17787,
17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18610,
- 18618, 18647, 18661, 18674, 18681, 18778, 18781, 18787, 18789, 18790,
- 18795, 18796, 18820, 18823, 18824, 18863, 18870, 18873, 18887.
+ 18618, 18647, 18661, 18674, 18681, 18757, 18778, 18781, 18787, 18789,
+ 18790, 18795, 18796, 18820, 18823, 18824, 18863, 18870, 18873, 18887.
+
* The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead.
static char buffer[] = "foobar";
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
char ch;
FILE *stream;
+ errno = 0;
stream = fmemopen (&ch, 1, "?");
if (stream)
{
fclose (stream);
return 1;
}
+ if (errno != EINVAL)
+ {
+ printf ("fmemopen: got %i, expected EINVAL (%i)\n", errno, EINVAL);
+ return 10;
+ }
stream = fmemopen (NULL, 42, "?");
if (stream)
return 2;
}
+ errno = 0;
+ stream = fmemopen (NULL, ~0, "w");
+ if (stream)
+ {
+ printf ("fmemopen: expected NULL, got %p\n", stream);
+ fclose (stream);
+ return 3;
+ }
+ if (errno != ENOMEM)
+ {
+ printf ("fmemopen: got %i, expected ENOMEM (%i)\n", errno, ENOMEM);
+ return 20;
+ }
+
return 0;
}