[Gnucash-changes] Improved checks for scanf %lld and %qd as per
gc-devel mail.
Derek Atkins
warlord at cvs.gnucash.org
Sun Jul 4 23:24:05 EDT 2004
Log Message:
-----------
Improved checks for scanf %lld and %qd as per gc-devel mail.
* acinclude.m4: create a SCANF_QD_CHECK and make sure both
that and SCANF_LLD_CHECK are "long long" constant-safe
* configure.in: use the new SCANF_QD_CHECK and use it
earlier in the configuration.
Modified Files:
--------------
gnucash:
ChangeLog
acinclude.m4
configure.in
Revision Data
-------------
Index: configure.in
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/configure.in,v
retrieving revision 1.392
retrieving revision 1.393
diff -Lconfigure.in -Lconfigure.in -u -r1.392 -r1.393
--- configure.in
+++ configure.in
@@ -106,6 +106,13 @@
STRUCT_TM_GMTOFF_CHECK
SCANF_LLD_CHECK
+if test $am_cv_scanf_lld = "no"; then
+ SCANF_QD_CHECK
+
+ if test $am_cv_scanf_qs = "no"; then
+ AC_MSG_ERROR([cannot continue, no long long conversion support in scanf])
+ fi
+fi
AC_CHECK_HEADERS(ltdl.h)
if test "x$ac_cv_header_ltdl_h" = xno; then
@@ -1030,31 +1037,6 @@
fi
AC_SUBST(LC_MESSAGES_ENUM)
-if test $am_cv_scanf_lld = "no"; then
- AC_MSG_CHECKING(if scanf supports %qd conversion)
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-
-int main ()
-{
- long long int d;
- d = 0;
- if ((sscanf ("10000000000", "%qd", &d) != 1) || (d != 10000000000))
- exit (1);
- exit (0);
-}
-],[
- AC_DEFINE(HAVE_SCANF_QD, 1,
- [Define if scanf supports %qd conversions.])
- AC_MSG_RESULT(yes)
- ],[
- AC_MSG_RESULT(no)
- AC_MSG_ERROR([cannot continue, no long long conversion support in scanf])
- ])
-fi
-
-
### --------------------------------------------------------------------------
### GnuCash flags and libs configuration
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1823
retrieving revision 1.1824
diff -LChangeLog -LChangeLog -u -r1.1823 -r1.1824
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,10 @@
+2004-07-04 Derek Atkins <derek at ihtfp.com>
+
+ * acinclude.m4: create a SCANF_QD_CHECK and make sure both
+ that and SCANF_LLD_CHECK are "long long" constant-safe
+ * configure.in: use the new SCANF_QD_CHECK and use it
+ earlier in the configuration.
+
2004-07-02 Derek Atkins <derek at ihtfp.com>
* src/gnome/dialog-print-check.c:
Index: acinclude.m4
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/acinclude.m4,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lacinclude.m4 -Lacinclude.m4 -u -r1.20 -r1.21
--- acinclude.m4
+++ acinclude.m4
@@ -4337,9 +4337,12 @@
int main ()
{
long long int d;
+ long long int e;
d = 0;
- if ((sscanf ("10000000000", "%lld", &d) != 1) || (d != 10000000000))
+ e = 100000;
+ e *= 100000;
+ if ((sscanf ("10000000000", "%lld", &d) != 1) || (d != e))
exit (1);
exit (0);
@@ -4352,3 +4355,33 @@
[Define if scanf supports %lld conversions.])
fi
])
+
+AC_DEFUN([SCANF_QD_CHECK],
+[
+ AC_CACHE_CHECK([if scanf supports %qd conversions],
+ am_cv_scanf_qd,
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+
+int main ()
+{
+ long long int d;
+ long long int e;
+
+ d = 0;
+ e = 100000;
+ e *= 100000;
+ if ((sscanf ("10000000000", "%qd", &d) != 1) || (d != e))
+ exit (1);
+
+ exit (0);
+}
+],
+ am_cv_scanf_qd=yes,
+ am_cv_scanf_qd=no))
+ if test $am_cv_scanf_qd = yes; then
+ AC_DEFINE(HAVE_SCANF_QD, 1,
+ [Define if scanf supports %qd conversions.])
+ fi
+])
More information about the gnucash-changes
mailing list