Handle _CS_GNU_LIBC_VERSION and _CS_GNU_LIBPTHREAD_VERSION.
authordrepper <drepper>
Wed, 12 Feb 2003 22:25:40 +0000 (22:25 +0000)
committerdrepper <drepper>
Wed, 12 Feb 2003 22:25:40 +0000 (22:25 +0000)
posix/confstr.c
posix/getconf.c

index fe5f38c..bc3c8b8 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,96,97,2000,01,02 Free Software Foundation, Inc.
+/* Copyright (C) 1991,96,97,2000-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +21,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <confstr.h>
+#include "../version.h"
 
 /* If BUF is not NULL and LEN > 0, fill in at most LEN - 1 bytes
    of BUF with the value corresponding to NAME and zero-terminate BUF.
@@ -140,6 +141,21 @@ confstr (name, buf, len)
       string_len = 1;
       break;
 
+    case _CS_GNU_LIBC_VERSION:
+      string = "glibc " VERSION;
+      string_len = strlen (string);
+
+    case _CS_GNU_LIBPTHREAD_VERSION:
+#ifdef LIBPTHREAD_VERSION
+      string = LIBPTHREAD_VERSION;
+      string_len = strlen (string);
+      break;
+#else
+      /* No thread library.  */
+      __set_errno (EINVAL);
+      return 0;
+#endif
+
     default:
       __set_errno (EINVAL);
       return 0;
index 69b785c..e687225 100644 (file)
@@ -859,6 +859,12 @@ static const struct conf vars[] =
 #ifdef _PC_SYMLINK_MAX
     { "SYMLINK_MAX", _PC_SYMLINK_MAX, PATHCONF },
 #endif
+#ifdef _CS_GNU_LIBC_VERSION
+    { "GNU_LIBC_VERSION", _CS_GNU_LIBC_VERSION, CONFSTR },
+#endif
+#ifdef _CS_GNU_LIBPTHREAD_VERSION
+    { "GNU_LIBPTHREAD_VERSION", _CS_GNU_LIBPTHREAD_VERSION, CONFSTR },
+#endif
 
     { NULL, 0, SYSCONF }
   };