rijndael: split AES-NI functions to separate file
[libgcrypt.git] / src / missing-string.c
index 2efd3d6..4756c00 100644 (file)
@@ -1,5 +1,6 @@
 /* missing-string.c - missing string utilities
- * Copyright (C) 1994, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1994, 1998, 1999, 2000, 2001,
+ *               2003 Free Software Foundation, Inc.
  *
  * This file is part of Libgcrypt.
  *
@@ -19,6 +20,7 @@
  */
 
 #include <config.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
@@ -39,66 +41,6 @@ stpcpy(char *a,const char *b)
 #endif
 
 
-#ifndef HAVE_STRSEP
-/* code taken from glibc-2.2.1/sysdeps/generic/strsep.c */
-char *
-strsep (char **stringp, const char *delim)
-{
-  char *begin, *end;
-
-  begin = *stringp;
-  if (begin == NULL)
-    return NULL;
-
-  /* A frequent case is when the delimiter string contains only one
-     character.  Here we don't need to call the expensive `strpbrk'
-     function and instead work using `strchr'.  */
-  if (delim[0] == '\0' || delim[1] == '\0')
-    {
-      char ch = delim[0];
-
-      if (ch == '\0')
-        end = NULL;
-      else
-        {
-          if (*begin == ch)
-            end = begin;
-          else if (*begin == '\0')
-            end = NULL;
-          else
-            end = strchr (begin + 1, ch);
-        }
-    }
-  else
-    /* Find the end of the token.  */
-    end = strpbrk (begin, delim);
-
-  if (end)
-    {
-      /* Terminate the token and set *STRINGP past NUL character.  */
-      *end++ = '\0';
-      *stringp = end;
-    }
-  else
-    /* No more delimiters; this is the last token.  */
-    *stringp = NULL;
-
-  return begin;
-}
-#endif /*HAVE_STRSEP*/
-
-
-#ifndef HAVE_STRLWR
-char *
-strlwr(char *s)
-{
-    char *p;
-    for(p=s; *p; p++ )
-       *p = tolower(*p);
-    return s;
-}
-#endif
-
 #ifndef HAVE_STRCASECMP
 int
 strcasecmp( const char *a, const char *b )
@@ -110,101 +52,3 @@ strcasecmp( const char *a, const char *b )
     return *(const byte*)a - *(const byte*)b;
 }
 #endif
-
-
-#ifdef __MINGW32__
-/* 
- * Like vsprintf but provides a pointer to malloc'd storage, which
- * must be freed by the caller (gcry_free).  Taken from libiberty as
- * found in gcc-2.95.2 and a little bit modernized.
- * FIXME: Write a new CRT for W32.
- */
-int
-vasprintf ( char **result, const char *format, va_list args)
-{
-  const char *p = format;
-  /* Add one to make sure that it is never zero, which might cause malloc
-     to return NULL.  */
-  int total_width = strlen (format) + 1;
-  va_list ap;
-
-  /* this is not really portable but works under Windows */
-  memcpy ( &ap, &args, sizeof (va_list));
-
-  while (*p != '\0')
-    {
-      if (*p++ == '%')
-       {
-         while (strchr ("-+ #0", *p))
-           ++p;
-         if (*p == '*')
-           {
-             ++p;
-             total_width += abs (va_arg (ap, int));
-           }
-         else
-            {
-              char *endp;  
-              total_width += strtoul (p, &endp, 10);
-              p = endp;
-            }
-         if (*p == '.')
-           {
-             ++p;
-             if (*p == '*')
-               {
-                 ++p;
-                 total_width += abs (va_arg (ap, int));
-               }
-             else
-                {
-                  char *endp;
-                  total_width += strtoul (p, &endp, 10);
-                  p = endp;
-                }
-           }
-         while (strchr ("hlL", *p))
-           ++p;
-         /* Should be big enough for any format specifier except %s
-             and floats.  */
-         total_width += 30;
-         switch (*p)
-           {
-           case 'd':
-           case 'i':
-           case 'o':
-           case 'u':
-           case 'x':
-           case 'X':
-           case 'c':
-             (void) va_arg (ap, int);
-             break;
-           case 'f':
-           case 'e':
-           case 'E':
-           case 'g':
-           case 'G':
-             (void) va_arg (ap, double);
-             /* Since an ieee double can have an exponent of 307, we'll
-                make the buffer wide enough to cover the gross case. */
-             total_width += 307;
-           
-           case 's':
-             total_width += strlen (va_arg (ap, char *));
-             break;
-           case 'p':
-           case 'n':
-             (void) va_arg (ap, char *);
-             break;
-           }
-       }
-    }
-  *result = gcry_malloc (total_width);
-  if (*result != NULL)
-    return vsprintf (*result, format, args);
-  else
-    return 0;
-}
-
-#endif /*__MINGW32__*/
-