diff options
Diffstat (limited to 'devel/clanlib-devel/files/patch-Sources_Util_fcvt.c')
-rw-r--r-- | devel/clanlib-devel/files/patch-Sources_Util_fcvt.c | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/devel/clanlib-devel/files/patch-Sources_Util_fcvt.c b/devel/clanlib-devel/files/patch-Sources_Util_fcvt.c deleted file mode 100644 index ed8898b293af..000000000000 --- a/devel/clanlib-devel/files/patch-Sources_Util_fcvt.c +++ /dev/null @@ -1,145 +0,0 @@ - -$FreeBSD$ - ---- /dev/null Wed Jan 10 00:32:20 2001 -+++ Sources/Util/fcvt.c Wed Jan 10 00:31:59 2001 -@@ -0,0 +1,139 @@ -+/* Compatibility functions for floating point formatting, reentrant versions. -+ Copyright (C) 1995, 1996, 1997, 1998, 1999 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 -+ 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. -+ -+ 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. -+ -+ 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. */ -+ -+#include <ctype.h> -+#include <errno.h> -+#include <float.h> -+#include <math.h> -+#include <stdio.h> -+#include <string.h> -+#include <sys/param.h> -+ -+extern int errno; -+ -+#if DBL_MANT_DIG == 53 -+# define NDIGIT_MAX 17 -+#else -+/* -+ * See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a -+ * compile time constant here, so we cannot use it. -+ */ -+# error "NDIGIT_MAX must be precomputed" -+# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * DBL_MANT_DIG + 1.0))) -+#endif -+#define MAXDIG (NDIGIT_MAX + 3) -+#define signbit(x) (((x)<(0))?(1):(0)) -+ -+static char *FCVT_BUFFER[MAXDIG]; -+ -+static int fcvt_r(double value, int ndigit, int *decpt, int *sign, char *buf, \ -+ size_t len) -+{ -+ int n, i; -+ int left; -+ -+ if (buf == NULL) -+ { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ left = 0; -+ if (finite(value)) -+ { -+ *sign = signbit(value) != 0; -+ if (*sign) -+ value = -value; -+ -+ if (ndigit < 0) -+ { -+ -+ while (ndigit < 0) -+ { -+ double new_value = value * 0.1; -+ -+ if (new_value < 1.0) -+ { -+ ndigit = 0; -+ break; -+ } -+ -+ value = new_value; -+ ++left; -+ ++ndigit; -+ } -+ } -+ } -+ else -+ *sign = 0; -+ -+ n = snprintf(buf, len, "%.*f", MIN(ndigit, NDIGIT_MAX), value); -+ -+ if (n >= len) -+ return -1; -+ -+ i = 0; -+ while (i < n && isdigit(buf[i])) -+ ++i; -+ *decpt = i; -+ -+ if (i == 0) -+ return 0; -+ -+ if (i < n) -+ { -+ do -+ ++i; -+ while (i < n && !isdigit(buf[i])); -+ -+ if (*decpt == 1 && buf[0] == '0' && value != 0.0) -+ { -+ --*decpt; -+ -+ while (i < n && buf[i] == '0') -+ { -+ --*decpt; -+ ++i; -+ } -+ } -+ -+ memmove(&buf[MAX(*decpt, 0)], &buf[i], n - i); -+ buf[n - (i - MAX(*decpt, 0))] = '\0'; -+ } -+ -+ if (left) -+ { -+ *decpt += left; -+ if (--len > n) -+ { -+ while (left-- > 0 && n < len) -+ buf[n++] = '0'; -+ buf[n] = '\0'; -+ } -+ } -+ -+ return 0; -+} -+ -+char *fcvt(double value, int ndigit, int *decpt, int *sign) -+{ -+ fcvt_r(value, ndigit, decpt, sign, (char *)FCVT_BUFFER, MAXDIG); -+ return (char *)FCVT_BUFFER; -+} -+ |