]> git.cworth.org Git - tar/blobdiff - lib/vsnprintf.c
Imported Upstream version 1.23
[tar] / lib / vsnprintf.c
diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c
deleted file mode 100644 (file)
index 8cc31f2..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Formatted output to strings.
-   Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc.
-   Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* Specification.  */
-#include <stdio.h>
-
-#include <errno.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "vasnprintf.h"
-
-/* Print formatted output to string STR.  Similar to vsprintf, but
-   additional length SIZE limit how much is written into STR.  Returns
-   string length of formatted string (which may be larger than SIZE).
-   STR may be NULL, in which case nothing will be written.  On error,
-   return a negative value.  */
-int
-vsnprintf (char *str, size_t size, const char *format, va_list args)
-{
-  char *output;
-  size_t len;
-  size_t lenbuf = size;
-
-  output = vasnprintf (str, &lenbuf, format, args);
-  len = lenbuf;
-
-  if (!output)
-    return -1;
-
-  if (output != str)
-    {
-      if (size)
-       {
-         size_t pruned_len = (len < size ? len : size - 1);
-         memcpy (str, output, pruned_len);
-         str[pruned_len] = '\0';
-       }
-
-      free (output);
-    }
-
-  if (len > INT_MAX)
-    {
-      errno = EOVERFLOW;
-      return -1;
-    }
-
-  return len;
-}