changeset 8389:e7c9cf0455da

Use 'case' statements instead of 'expr' invocations.
author Bruno Haible <bruno@clisp.org>
date Fri, 09 Mar 2007 01:24:32 +0000
parents 9109c8dc02e1
children 07f5629e50ab
files ChangeLog m4/snprintf-posix.m4 m4/sprintf-posix.m4 m4/vasnprintf-posix.m4 m4/vasprintf-posix.m4 m4/vsnprintf-posix.m4 m4/vsprintf-posix.m4
diffstat 7 files changed, 157 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-03-08  Bruno Haible  <bruno@clisp.org>
+
+	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
+	instead of 'expr' invocations.
+	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
+	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+	Suggested by Paul Eggert.
+
 2007-03-08  Bruno Haible  <bruno@clisp.org>
 
 	* modules/fseterr-tests: New file.
--- a/m4/snprintf-posix.m4
+++ b/m4/snprintf-posix.m4
@@ -17,16 +17,37 @@
     gl_SNPRINTF_TRUNCATION_C99
     gl_SNPRINTF_RETVAL_C99
     gl_SNPRINTF_DIRECTIVE_N
-    if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_truncation_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_retval_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_directive_n" : ".*yes" > /dev/null; then
-      # snprintf exists and is already POSIX compliant.
-      gl_cv_func_snprintf_posix=yes
-    fi
+    case "$gl_cv_func_printf_sizes_c99" in
+      *yes)
+        case "$gl_cv_func_printf_directive_a" in
+          *yes)
+            case "$gl_cv_func_printf_directive_n" in
+              *yes)
+                case "$gl_cv_func_printf_positions" in
+                  *yes)
+                    case "$gl_cv_func_snprintf_truncation_c99" in
+                      *yes)
+                        case "$gl_cv_func_snprintf_retval_c99" in
+                          *yes)
+                            case "$gl_cv_func_snprintf_directive_n" in
+                              *yes)
+                                # snprintf exists and is already POSIX
+                                # compliant.
+                                gl_cv_func_snprintf_posix=yes
+                                ;;
+                            esac
+                            ;;
+                        esac
+                        ;;
+                    esac
+                    ;;
+                esac
+                ;;
+            esac
+            ;;
+        esac
+        ;;
+    esac
   fi
   if test $gl_cv_func_snprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
--- a/m4/sprintf-posix.m4
+++ b/m4/sprintf-posix.m4
@@ -11,12 +11,26 @@
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
-  if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null; then
-    : # sprintf exists and is already POSIX compliant.
-  else
+  gl_cv_func_sprintf_posix=no
+  case "$gl_cv_func_printf_sizes_c99" in
+    *yes)
+      case "$gl_cv_func_printf_directive_a" in
+        *yes)
+          case "$gl_cv_func_printf_directive_n" in
+            *yes)
+              case "$gl_cv_func_printf_positions" in
+                *yes)
+                  # sprintf exists and is already POSIX compliant.
+                  gl_cv_func_sprintf_posix=yes
+                  ;;
+              esac
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+  esac
+  if test $gl_cv_func_sprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
         [Define if the vasnprintf implementation needs special code for
--- a/m4/vasnprintf-posix.m4
+++ b/m4/vasnprintf-posix.m4
@@ -11,14 +11,29 @@
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
+  gl_cv_func_vasnprintf_posix=no
   AC_CHECK_FUNCS_ONCE([vasnprintf])
-  if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \
-     && test $ac_cv_func_vasnprintf = yes; then
-    : # vasnprintf exists and is already POSIX compliant.
-  else
+  case "$gl_cv_func_printf_sizes_c99" in
+    *yes)
+      case "$gl_cv_func_printf_directive_a" in
+        *yes)
+          case "$gl_cv_func_printf_directive_n" in
+            *yes)
+              case "$gl_cv_func_printf_positions" in
+                *yes)
+                  if test $ac_cv_func_vasnprintf = yes; then
+                    # vasnprintf exists and is already POSIX compliant.
+                    gl_cv_func_vasnprintf_posix=yes
+                  fi
+                  ;;
+              esac
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+  esac
+  if test $gl_cv_func_vasnprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
         [Define if the vasnprintf implementation needs special code for
--- a/m4/vasprintf-posix.m4
+++ b/m4/vasprintf-posix.m4
@@ -11,14 +11,29 @@
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
+  gl_cv_func_vasprintf_posix=no
   AC_CHECK_FUNCS([vasprintf])
-  if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \
-     && test $ac_cv_func_vasprintf = yes; then
-    : # vasprintf exists and is already POSIX compliant.
-  else
+  case "$gl_cv_func_printf_sizes_c99" in
+    *yes)
+      case "$gl_cv_func_printf_directive_a" in
+        *yes)
+          case "$gl_cv_func_printf_directive_n" in
+            *yes)
+              case "$gl_cv_func_printf_positions" in
+                *yes)
+                  if test $ac_cv_func_vasprintf = yes; then
+                    # vasprintf exists and is already POSIX compliant.
+                    gl_cv_func_vasprintf_posix=yes
+                  fi
+                  ;;
+              esac
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+  esac
+  if test $gl_cv_func_vasprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
         [Define if the vasnprintf implementation needs special code for
--- a/m4/vsnprintf-posix.m4
+++ b/m4/vsnprintf-posix.m4
@@ -18,16 +18,37 @@
     gl_SNPRINTF_TRUNCATION_C99
     gl_SNPRINTF_RETVAL_C99
     gl_SNPRINTF_DIRECTIVE_N
-    if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_truncation_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_retval_c99" : ".*yes" > /dev/null \
-       && expr "$gl_cv_func_snprintf_directive_n" : ".*yes" > /dev/null; then
-      # vsnprintf exists and is already POSIX compliant.
-      gl_cv_func_vsnprintf_posix=yes
-    fi
+    case "$gl_cv_func_printf_sizes_c99" in
+      *yes)
+        case "$gl_cv_func_printf_directive_a" in
+          *yes)
+            case "$gl_cv_func_printf_directive_n" in
+              *yes)
+                case "$gl_cv_func_printf_positions" in
+                  *yes)
+                    case "$gl_cv_func_snprintf_truncation_c99" in
+                      *yes)
+                        case "$gl_cv_func_snprintf_retval_c99" in
+                          *yes)
+                            case "$gl_cv_func_snprintf_directive_n" in
+                              *yes)
+                                # vsnprintf exists and is already POSIX
+                                # compliant.
+                                gl_cv_func_vsnprintf_posix=yes
+                                ;;
+                            esac
+                            ;;
+                        esac
+                        ;;
+                    esac
+                    ;;
+                esac
+                ;;
+            esac
+            ;;
+        esac
+        ;;
+    esac
   fi
   if test $gl_cv_func_vsnprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
--- a/m4/vsprintf-posix.m4
+++ b/m4/vsprintf-posix.m4
@@ -11,12 +11,26 @@
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
-  if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
-     && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null; then
-    : # vsprintf exists and is already POSIX compliant.
-  else
+  gl_cv_func_vsprintf_posix=no
+  case "$gl_cv_func_printf_sizes_c99" in
+    *yes)
+      case "$gl_cv_func_printf_directive_a" in
+        *yes)
+          case "$gl_cv_func_printf_directive_n" in
+            *yes)
+              case "$gl_cv_func_printf_positions" in
+                *yes)
+                  # vsprintf exists and is already POSIX compliant.
+                  gl_cv_func_vsprintf_posix=yes
+                  ;;
+              esac
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+  esac
+  if test $gl_cv_func_vsprintf_posix = no; then
     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
         [Define if the vasnprintf implementation needs special code for