Fix posix_strerror_r for OpenBSD.
author <shinichiro.hamaji@gmail.com> <>
Thu, 30 Jul 2009 05:51:28 +0000 (05:51 +0000)
committer <shinichiro.hamaji@gmail.com> <>
Thu, 30 Jul 2009 05:51:28 +0000 (05:51 +0000)
git-svn-id: https://google-glog.googlecode.com/svn/trunk@66 eb4d4688-79bd-11dd-afb4-1d65580434c0

src/logging.cc
src/logging_unittest.cc

index 1c39c35a1dee73951e7fbd22ff99be9302566b9a..6db9cfaee23f8f1f22cb0e92c4fac704e777dfed 100644 (file)
@@ -1752,7 +1752,7 @@ int posix_strerror_r(int err, char *buf, size_t len) {
       return 0;
     } else {
       buf[0] = '\000';
-#if defined(OS_MACOSX) || defined(OS_FREEBSD)
+#if defined(OS_MACOSX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
       if (reinterpret_cast<int>(rc) < sys_nerr) {
         // This means an error on MacOSX or FreeBSD.
         return -1;
index 0e254783b5d20c9a2bee465039984d3422bdee30..77cbe239ee3bcf1e8f290918c1e840d6ab0a0174 100644 (file)
@@ -1036,7 +1036,7 @@ TEST(Strerror, logging) {
   CHECK_EQ(posix_strerror_r(errcode, buf, 0), -1);
   CHECK_EQ(buf[0], 'A');
   CHECK_EQ(posix_strerror_r(errcode, NULL, buf_size), -1);
-#if defined(OS_MACOSX) || defined(OS_FREEBSD)
+#if defined(OS_MACOSX) || defined(OS_FREEBSD) || defined(OS_OPENBSD)
   // MacOSX or FreeBSD considers this case is an error since there is
   // no enough space.
   CHECK_EQ(posix_strerror_r(errcode, buf, 1), -1);