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 1c39c35..6db9cfa 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 0e25478..77cbe23 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);