return ret;
}
+FILE *
+xfopen (const char *path, const char *mode)
+{
+ FILE *ret;
+
+ ret = fopen (path, mode);
+
+ if (ret == NULL) {
+ fprintf (stderr, "Error: fopen of %s failed: %s. Aborting.\n",
+ path, strerror (errno));
+ exit (1);
+ }
+
+ return ret;
+}
+
FILE *
xfdopen (int filedes, const char *mode)
{
}
void
-xfreopen (const char *path, const char *mode, FILE *stream)
+xdup2 (int oldfd, int newfd)
{
- FILE *ret;
+ int ret;
- ret = freopen (path, mode, stream);
- if (ret == NULL) {
- fprintf (stderr, "Error: freopen of %s failed: %s. Aborting.\n",
- path, strerror (errno));
+ ret = dup2 (oldfd, newfd);
+ if (ret == -1) {
+ printf ("Error: dup2 failed: %s. Aborting.\n",
+ strerror (errno));
exit (1);
}
}