summary refs log tree commit diff
path: root/string
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2000-05-17 12:19:16 +0000
committerAndreas Jaeger <aj@suse.de>2000-05-17 12:19:16 +0000
commite656498ea979f746fa5e324c4cbd433a5a3de562 (patch)
tree58b7c6678d27915a200ecc02f04429d240b6ca56 /string
parente25054c49c92587a07de4badfe4b7e01ceb99858 (diff)
downloadglibc-e656498ea979f746fa5e324c4cbd433a5a3de562.tar.gz
glibc-e656498ea979f746fa5e324c4cbd433a5a3de562.tar.xz
glibc-e656498ea979f746fa5e324c4cbd433a5a3de562.zip
Update.
2000-05-17  Andreas Jaeger  <aj@suse.de>

	* string/envz.h: Add pure attributes if possible.

	* string/argz.h: argz_count is a pure function.

	* string/strings.h: Add pure and const attributes if possible.
Diffstat (limited to 'string')
-rw-r--r--string/argz.h8
-rw-r--r--string/envz.h8
-rw-r--r--string/strings.h16
3 files changed, 19 insertions, 13 deletions
diff --git a/string/argz.h b/string/argz.h
index 45441db221..d4ff07dc9d 100644
--- a/string/argz.h
+++ b/string/argz.h
@@ -1,5 +1,5 @@
 /* Routines for dealing with '\0' separated arg vectors.
-   Copyright (C) 1995, 96, 97, 98, 99 Free Software Foundation, Inc.
+   Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -56,8 +56,10 @@ extern error_t argz_create_sep (__const char *__restrict __string,
 				size_t *__restrict __len) __THROW;
 
 /* Returns the number of strings in ARGZ.  */
-extern size_t __argz_count (__const char *__argz, size_t __len) __THROW;
-extern size_t argz_count (__const char *__argz, size_t __len) __THROW;
+extern size_t __argz_count (__const char *__argz, size_t __len)
+     __THROW __attribute_pure__;
+extern size_t argz_count (__const char *__argz, size_t __len)
+     __THROW __attribute_pure__;
 
 /* Puts pointers to each string in ARGZ into ARGV, which must be large enough
    to hold them all.  */
diff --git a/string/envz.h b/string/envz.h
index 1595a95658..293166ba24 100644
--- a/string/envz.h
+++ b/string/envz.h
@@ -1,5 +1,5 @@
 /* Routines for dealing with '\0' separated environment vectors
-   Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1995, 96, 98, 99, 2000 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -31,12 +31,14 @@ __BEGIN_DECLS
 
 /* Returns a pointer to the entry in ENVZ for NAME, or 0 if there is none.  */
 extern char *envz_entry (__const char *__restrict __envz, size_t __envz_len,
-			 __const char *__restrict __name) __THROW;
+			 __const char *__restrict __name)
+     __THROW __attribute_pure__;
 
 /* Returns a pointer to the value portion of the entry in ENVZ for NAME, or 0
    if there is none.  */
 extern char *envz_get (__const char *__restrict __envz, size_t __envz_len,
-		       __const char *__restrict __name) __THROW;
+		       __const char *__restrict __name)
+     __THROW __attribute_pure__;
 
 /* Adds an entry for NAME with value VALUE to ENVZ & ENVZ_LEN.  If an entry
    with the same name already exists in ENVZ, it is removed.  If VALUE is
diff --git a/string/strings.h b/string/strings.h
index 3fb92ded8f..0c48e72cd0 100644
--- a/string/strings.h
+++ b/string/strings.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,96,97,99,2000 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
@@ -30,7 +30,8 @@
 __BEGIN_DECLS
 
 /* Compare N bytes of S1 and S2 (same as memcmp).  */
-extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __THROW;
+extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+     __THROW __attribute_pure__;
 
 /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
 extern void bcopy (__const void *__src, void *__dest, size_t __n) __THROW;
@@ -40,20 +41,21 @@ extern void bzero (void *__s, size_t __n) __THROW;
 
 /* Return the position of the first bit set in I, or 0 if none are set.
    The least-significant bit is position 1, the most-significant 32.  */
-extern int ffs (int __i) __THROW;
+extern int ffs (int __i) __THROW __attribute__ ((const));
 
 /* Find the first occurrence of C in S (same as strchr).  */
-extern char *index (__const char *__s, int __c) __THROW;
+extern char *index (__const char *__s, int __c) __THROW __attribute_pure__;
 
 /* Find the last occurrence of C in S (same as strrchr).  */
-extern char *rindex (__const char *__s, int __c) __THROW;
+extern char *rindex (__const char *__s, int __c) __THROW __attribute_pure__;
 
 /* Compare S1 and S2, ignoring case.  */
-extern int strcasecmp (__const char *__s1, __const char *__s2) __THROW;
+extern int strcasecmp (__const char *__s1, __const char *__s2)
+     __THROW __attribute_pure__;
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
-     __THROW;
+     __THROW __attribute_pure__;
 
 __END_DECLS