doc: use ASCII in .texi files where UTF-8 isn't needed
[gnulib.git] / lib / fdopen.c
index c443ab6..eded1a6 100644 (file)
@@ -1,5 +1,5 @@
 /* Open a stream with a given file descriptor.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <errno.h>
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
 #undef fdopen
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static FILE *
+fdopen_nothrow (int fd, const char *mode)
+{
+  FILE *result;
+
+  TRY_MSVC_INVAL
+    {
+      result = fdopen (fd, mode);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = NULL;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+#else
+# define fdopen_nothrow fdopen
+#endif
+
 FILE *
 rpl_fdopen (int fd, const char *mode)
 {
@@ -30,7 +56,7 @@ rpl_fdopen (int fd, const char *mode)
   FILE *fp;
 
   errno = 0;
-  fp = fdopen (fd, mode);
+  fp = fdopen_nothrow (fd, mode);
   if (fp == NULL)
     {
       if (errno == 0)