(libc) [GLIBC_PRIVATE]: Add __libc_readv and __libc_writev.
[kopensolaris-gnu/glibc.git] / misc / regexp.h
index 3840013..bb1c401 100644 (file)
@@ -1,21 +1,21 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
    The GNU C Library is free software; you can redistribute it and/or
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
    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
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _REGEXP_H
 #define _REGEXP_H      1
 
 #ifndef _REGEXP_H
 #define _REGEXP_H      1
@@ -93,12 +93,13 @@ extern char *locs;
 #ifndef __DO_NOT_DEFINE_COMPILE
 /* Get and compile the user supplied pattern up to end of line or
    string or until EOF is seen, whatever happens first.  The result is
 #ifndef __DO_NOT_DEFINE_COMPILE
 /* Get and compile the user supplied pattern up to end of line or
    string or until EOF is seen, whatever happens first.  The result is
-   placed in the buffer starting at EXPBUG and delimited by ENDBUF.
+   placed in the buffer starting at EXPBUF and delimited by ENDBUF.
 
    This function cannot be defined in the libc itself since it depends
    on the macros.  */
 char *
 
    This function cannot be defined in the libc itself since it depends
    on the macros.  */
 char *
-compile (char *__instring, char *__expbuf, __const char *__endbuf, int __eof)
+compile (char *__restrict instring, char *__restrict expbuf,
+        __const char *__restrict endbuf, int eof)
 {
   char *__input_buffer = NULL;
   size_t __input_size = 0;
 {
   char *__input_buffer = NULL;
   size_t __input_size = 0;
@@ -118,21 +119,21 @@ compile (char *__instring, char *__expbuf, __const char *__endbuf, int __eof)
      this really proofs to be wrong.  */
   const size_t __req = 8;
 # endif
      this really proofs to be wrong.  */
   const size_t __req = 8;
 # endif
-  __expbuf += __req;
-  __expbuf -= (__expbuf - ((char *) 0)) % __req;
-  if (__endbuf < __expbuf + sizeof (regex_t))
+  expbuf += __req;
+  expbuf -= (expbuf - ((char *) 0)) % __req;
+  if (endbuf < expbuf + sizeof (regex_t))
     {
       ERROR (50);
     }
     {
       ERROR (50);
     }
-  __expr_ptr = (regex_t *) __expbuf;
+  __expr_ptr = (regex_t *) expbuf;
   /* The remaining space in the buffer can be used for the compiled
      pattern.  */
   /* The remaining space in the buffer can be used for the compiled
      pattern.  */
-  __expr_ptr->buffer = __expbuf + sizeof (regex_t);
-  __expr_ptr->allocated = __endbuf -  (char *) __expr_ptr->buffer;
+  __expr_ptr->buffer = expbuf + sizeof (regex_t);
+  __expr_ptr->allocated = endbuf -  (char *) __expr_ptr->buffer;
 
 
-  while ((__ch = (GETC ())) != __eof)
+  while ((__ch = (GETC ())) != eof)
     {
     {
-      if (__ch == '\0' || __ch == 'n')
+      if (__ch == '\0' || __ch == '\n')
        {
          UNGETC (__ch);
          break;
        {
          UNGETC (__ch);
          break;
@@ -141,21 +142,21 @@ compile (char *__instring, char *__expbuf, __const char *__endbuf, int __eof)
       if (__current_size + 1 >= __input_size)
        {
          size_t __new_size = __input_size ? 2 * __input_size : 128;
       if (__current_size + 1 >= __input_size)
        {
          size_t __new_size = __input_size ? 2 * __input_size : 128;
-         char *__new_room = __alloca (__new_size);
+         char *__new_room = (char *) alloca (__new_size);
          /* See whether we can use the old buffer.  */
          if (__new_room + __new_size == __input_buffer)
            {
              __input_size += __new_size;
          /* See whether we can use the old buffer.  */
          if (__new_room + __new_size == __input_buffer)
            {
              __input_size += __new_size;
-             __input_buffer = memcpy (__new_room, __input_buffer,
-                                      __current_size);
+             __input_buffer = (char *) memcpy (__new_room, __input_buffer,
+                                              __current_size);
            }
          else if (__input_buffer + __input_size == __new_room)
            __input_size += __new_size;
          else
            {
              __input_size = __new_size;
            }
          else if (__input_buffer + __input_size == __new_room)
            __input_size += __new_size;
          else
            {
              __input_size = __new_size;
-             __input_buffer = memcpy (__new_room, __input_buffer,
-                                      __current_size);
+             __input_buffer = (char *) memcpy (__new_room, __input_buffer,
+                                               __current_size);
            }
        }
       __input_buffer[__current_size++] = __ch;
            }
        }
       __input_buffer[__current_size++] = __ch;
@@ -205,12 +206,14 @@ compile (char *__instring, char *__expbuf, __const char *__endbuf, int __eof)
    found in the buffer starting at EXPBUF.  `loc1' will return the
    first character matched and `loc2' points to the next unmatched
    character.  */
    found in the buffer starting at EXPBUF.  `loc1' will return the
    first character matched and `loc2' points to the next unmatched
    character.  */
-extern int step __P ((__const char *__string, __const char *__expbuf));
+extern int step (__const char *__restrict __string,
+                __const char *__restrict __expbuf) __THROW;
 
 /* Match the beginning of STRING with the compiled regular expression
    in EXPBUF.  If the match is successful `loc2' will contain the
    position of the first unmatched character.  */
 
 /* Match the beginning of STRING with the compiled regular expression
    in EXPBUF.  If the match is successful `loc2' will contain the
    position of the first unmatched character.  */
-extern int advance __P ((__const char *__string, __const char *__expbuf));
+extern int advance (__const char *__restrict __string,
+                   __const char *__restrict __expbuf) __THROW;
 
 
 __END_DECLS
 
 
 __END_DECLS