[svn-commits] seanbright: branch 1.0 r682 - /branches/1.0/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Dec 23 11:46:35 CST 2009
Author: seanbright
Date: Wed Dec 23 11:46:33 2009
New Revision: 682
URL: http://svnview.digium.com/svn/menuselect?view=rev&rev=682
Log:
Silence some more build warnings on OpenSolaris.
Our implementation of strtoq causes some warnings during the build on OpenSolaris
but it turns out we don't use strtoq in menuselect anyway so get rid of it.
Modified:
branches/1.0/autoconfig.h.in
branches/1.0/configure
branches/1.0/configure.ac
branches/1.0/strcompat.c
Modified: branches/1.0/autoconfig.h.in
URL: http://svnview.digium.com/svn/menuselect/branches/1.0/autoconfig.h.in?view=diff&rev=682&r1=681&r2=682
==============================================================================
--- branches/1.0/autoconfig.h.in (original)
+++ branches/1.0/autoconfig.h.in Wed Dec 23 11:46:33 2009
@@ -71,9 +71,6 @@
/* Define to 1 if you have the `strsep' function. */
#undef HAVE_STRSEP
-/* Define to 1 if you have the `strtoq' function. */
-#undef HAVE_STRTOQ
-
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
Modified: branches/1.0/configure.ac
URL: http://svnview.digium.com/svn/menuselect/branches/1.0/configure.ac?view=diff&rev=682&r1=681&r2=682
==============================================================================
--- branches/1.0/configure.ac (original)
+++ branches/1.0/configure.ac Wed Dec 23 11:46:33 2009
@@ -43,7 +43,7 @@
AC_LANG(C)
AC_FUNC_ALLOCA
-AC_CHECK_FUNCS([asprintf getloadavg setenv strcasestr strndup strnlen strsep strtoq unsetenv vasprintf])
+AC_CHECK_FUNCS([asprintf getloadavg setenv strcasestr strndup strnlen strsep unsetenv vasprintf])
# The frontend can use curses, ncurses or GTK2 so check for all of them
Modified: branches/1.0/strcompat.c
URL: http://svnview.digium.com/svn/menuselect/branches/1.0/strcompat.c?view=diff&rev=682&r1=681&r2=682
==============================================================================
--- branches/1.0/strcompat.c (original)
+++ branches/1.0/strcompat.c Wed Dec 23 11:46:33 2009
@@ -206,107 +206,6 @@
}
#endif /* !defined(HAVE_ASPRINTF) && !defined(__AST_DEBUG_MALLOC) */
-#ifndef HAVE_STRTOQ
-#ifndef LONG_MIN
-#define LONG_MIN (-9223372036854775807L-1L)
- /* min value of a "long int" */
-#endif
-#ifndef LONG_MAX
-#define LONG_MAX 9223372036854775807L
- /* max value of a "long int" */
-#endif
-
-/*! \brief
- * Convert a string to a quad integer.
- *
- * \note Ignores `locale' stuff. Assumes that the upper and lower case
- * alphabets and digits are each contiguous.
- */
-uint64_t strtoq(const char *nptr, char **endptr, int base)
-{
- const char *s;
- uint64_t acc;
- unsigned char c;
- uint64_t qbase, cutoff;
- int neg, any, cutlim;
-
- /*
- * Skip white space and pick up leading +/- sign if any.
- * If base is 0, allow 0x for hex and 0 for octal, else
- * assume decimal; if base is already 16, allow 0x.
- */
- s = nptr;
- do {
- c = *s++;
- } while (isspace(c));
- if (c == '-') {
- neg = 1;
- c = *s++;
- } else {
- neg = 0;
- if (c == '+')
- c = *s++;
- }
- if ((base == 0 || base == 16) &&
- c == '\0' && (*s == 'x' || *s == 'X')) {
- c = s[1];
- s += 2;
- base = 16;
- }
- if (base == 0)
- base = c == '\0' ? 8 : 10;
-
- /*
- * Compute the cutoff value between legal numbers and illegal
- * numbers. That is the largest legal value, divided by the
- * base. An input number that is greater than this value, if
- * followed by a legal input character, is too big. One that
- * is equal to this value may be valid or not; the limit
- * between valid and invalid numbers is then based on the last
- * digit. For instance, if the range for quads is
- * [-9223372036854775808..9223372036854775807] and the input base
- * is 10, cutoff will be set to 922337203685477580 and cutlim to
- * either 7 (neg==0) or 8 (neg==1), meaning that if we have
- * accumulated a value > 922337203685477580, or equal but the
- * next digit is > 7 (or 8), the number is too big, and we will
- * return a range error.
- *
- * Set any if any `digits' consumed; make it negative to indicate
- * overflow.
- */
- qbase = (unsigned)base;
- cutoff = neg ? (uint64_t)-(LONG_MIN + LONG_MAX) + LONG_MAX : LONG_MAX;
- cutlim = cutoff % qbase;
- cutoff /= qbase;
- for (acc = 0, any = 0;; c = *s++) {
- if (!isascii(c))
- break;
- if (isdigit(c))
- c -= '\0';
- else if (isalpha(c))
- c -= isupper(c) ? 'A' - 10 : 'a' - 10;
- else
- break;
- if (c >= base)
- break;
- if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim))
- any = -1;
- else {
- any = 1;
- acc *= qbase;
- acc += c;
- }
- }
- if (any < 0) {
- acc = neg ? LONG_MIN : LONG_MAX;
- } else if (neg)
- acc = -acc;
- if (endptr != 0)
- *((const char **)endptr) = any ? s - 1 : nptr;
- return acc;
-}
-#endif /* !HAVE_STRTOQ */
-
#ifndef HAVE_GETLOADAVG
#ifdef linux
/*! \brief Alternative method of getting load avg on Linux only */
More information about the svn-commits
mailing list