[dia] [restructuring] remove format_string_length_upper_bound()



commit 95d07cf524ea3e7250e03ac5e52ac11f617e287a
Author: Hans Breuer <hans breuer org>
Date:   Fri Sep 14 22:41:03 2012 +0200

    [restructuring] remove format_string_length_upper_bound()
    
    We can use g_printf_string_upper_bound() nowadays instead of
    a copy of it's content.

 lib/dialib.c   |    6 +-
 lib/libdia.def |    1 -
 lib/message.c  |   15 +++----
 lib/message.h  |    2 +-
 lib/utils.c    |  113 --------------------------------------------------------
 lib/utils.h    |    2 -
 6 files changed, 11 insertions(+), 128 deletions(-)
---
diff --git a/lib/dialib.c b/lib/dialib.c
index de44344..f42ab1e 100644
--- a/lib/dialib.c
+++ b/lib/dialib.c
@@ -36,13 +36,13 @@
 
 static void
 stderr_message_internal(const char *title, enum ShowAgainStyle showAgain,
-			const char *fmt, va_list *args,  va_list *args2)
+			const char *fmt, va_list args,  va_list args2)
 {
   static gchar *buf = NULL;
   static gint   alloc = 0;
   gint len;
 
-  len = format_string_length_upper_bound (fmt, args);
+  len = g_printf_string_upper_bound (fmt, args);
 
   if (len >= alloc) {
     if (buf)
@@ -53,7 +53,7 @@ stderr_message_internal(const char *title, enum ShowAgainStyle showAgain,
     buf = g_new (char, alloc);
   }
   
-  vsprintf (buf, fmt, *args2);
+  vsprintf (buf, fmt, args2);
   
   fprintf(stderr,
           "%s: %s\n", 
diff --git a/lib/libdia.def b/lib/libdia.def
index 4e7c57a..5613c0e 100644
--- a/lib/libdia.def
+++ b/lib/libdia.def
@@ -503,7 +503,6 @@ EXPORTS
  message_notice
  message_warning
  set_message_func
- format_string_length_upper_bound
 
  new_object_state_change
 
diff --git a/lib/message.c b/lib/message.c
index eca2ae8..c30168a 100644
--- a/lib/message.c
+++ b/lib/message.c
@@ -153,7 +153,7 @@ message_create_dialog(const gchar *title, DiaMessageInfo *msginfo, gchar *buf)
 static void
 gtk_message_internal(const char* title, enum ShowAgainStyle showAgain,
 		     const char *fmt,
-                     va_list *args,  va_list *args2)
+                     va_list args, va_list args2)
 {
   static gchar *buf = NULL;
   static gint   alloc = 0;
@@ -177,8 +177,7 @@ gtk_message_internal(const char* title, enum ShowAgainStyle showAgain,
     message_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
   }
 
-  len = format_string_length_upper_bound (fmt, args);
-
+  len = g_printf_string_upper_bound (fmt, args);
   if (len >= alloc) {
     if (buf)
       g_free (buf);
@@ -188,7 +187,7 @@ gtk_message_internal(const char* title, enum ShowAgainStyle showAgain,
     buf = g_new (char, alloc);
   }
   
-  vsprintf (buf, fmt, *args2);
+  vsprintf (buf, fmt, args2);
 
   msginfo = (DiaMessageInfo*)g_hash_table_lookup(message_hash_table, fmt);
   if (msginfo == NULL) {
@@ -247,7 +246,7 @@ message(const char *title, const char *format, ...)
 
   va_start (args, format);
   va_start (args2, format);
-  message_internal(title, ALWAYS_SHOW, format, &args, &args2);
+  message_internal(title, ALWAYS_SHOW, format, args, args2);
   va_end (args);
   va_end (args2);
 }
@@ -263,7 +262,7 @@ message_notice(const char *format, ...)
 
   va_start (args, format);
   va_start (args2, format);
-  message_internal(_("Notice"), SUGGEST_NO_SHOW_AGAIN, format, &args, &args2);
+  message_internal(_("Notice"), SUGGEST_NO_SHOW_AGAIN, format, args, args2);
   va_end (args);
   va_end (args2);
 }
@@ -279,7 +278,7 @@ message_warning(const char *format, ...)
 
   va_start (args, format);
   va_start (args2, format);
-  message_internal(_("Warning"), SUGGEST_SHOW_AGAIN, format, &args, &args2);
+  message_internal(_("Warning"), SUGGEST_SHOW_AGAIN, format, args, args2);
   va_end (args);
   va_end (args2);
 }
@@ -294,7 +293,7 @@ message_error(const char *format, ...)
 
   va_start (args, format);
   va_start (args2, format);
-  message_internal(_("Error"), ALWAYS_SHOW, format, &args, &args2);
+  message_internal(_("Error"), ALWAYS_SHOW, format, args, args2);
   va_end (args);
   va_end (args2);
 }
diff --git a/lib/message.h b/lib/message.h
index 944a792..4d31b37 100644
--- a/lib/message.h
+++ b/lib/message.h
@@ -30,7 +30,7 @@ enum ShowAgainStyle {
 
 typedef void (*MessageInternal)(const char *title, enum ShowAgainStyle showAgain,
 				const char *fmt,
-                                va_list *args,  va_list *args2);
+                                va_list args,  va_list args2);
 
 void set_message_func(MessageInternal func);
 void message(const char *title, const char *format, ...);
diff --git a/lib/utils.c b/lib/utils.c
index 774140a..e358bf6 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -44,116 +44,3 @@ nearest_pow (int num)
 
   return n;
 }
-
-int
-format_string_length_upper_bound (const char* fmt, va_list *args)
-{ /* UTF8 ? */
-  int len = 0;
-  int short_int;
-  int long_int;
-  int done;
-  char *tmp;
-
-  while (*fmt)
-    {
-      char c = *fmt++;
-
-      short_int = FALSE;
-      long_int = FALSE;
-
-      if (c == '%')
-	{
-	  done = FALSE;
-	  while (*fmt && !done)
-	    {
-	      switch (*fmt++)
-		{
-		case '*':
-		  len += va_arg(*args, int);
-		  break;
-		case '1':
-		case '2':
-		case '3':
-		case '4':
-		case '5':
-		case '6':
-		case '7':
-		case '8':
-		case '9':
-		  fmt -= 1;
-		  len += strtol (fmt, (char **)&fmt, 10);
-		  break;
-		case 'h':
-		  short_int = TRUE;
-		  break;
-		case 'l':
-		  long_int = TRUE;
-		  break;
-
-		  /* I ignore 'q' and 'L', they're not portable anyway. */
-
-		case 's':
-		  tmp = va_arg(*args, char *);
-		  if(tmp)
-		    len += strlen (tmp);
-		  else
-		    len += strlen ("(null)");
-		  done = TRUE;
-		  break;
-		case 'd':
-		case 'i':
-		case 'o':
-		case 'u':
-		case 'x':
-		case 'X':
-		  if (long_int)
-		    (void)va_arg (*args, long);
-		  else if (short_int)
-		    (void)va_arg (*args, int);
-		  else
-		    (void)va_arg (*args, int);
-		  len += 32;
-		  done = TRUE;
-		  break;
-		case 'D':
-		case 'O':
-		case 'U':
-		  (void)va_arg (*args, long);
-		  len += 32;
-		  done = TRUE;
-		  break;
-		case 'e':
-		case 'E':
-		case 'f':
-		case 'g':
-		  (void)va_arg (*args, double);
-		  len += 32;
-		  done = TRUE;
-		  break;
-		case 'c':
-		  (void)va_arg (*args, int);
-		  len += 1;
-		  done = TRUE;
-		  break;
-		case 'p':
-		case 'n':
-		  (void)va_arg (*args, void*);
-		  len += 32;
-		  done = TRUE;
-		  break;
-		case '%':
-		  len += 1;
-		  done = TRUE;
-		  break;
-		default:
-		  break;
-		}
-	    }
-	}
-      else
-	len += 1;
-    }
-
-  return len;
-}
-
diff --git a/lib/utils.h b/lib/utils.h
index c80fdb5..93252db 100644
--- a/lib/utils.h
+++ b/lib/utils.h
@@ -23,8 +23,6 @@
 G_BEGIN_DECLS
 
 int nearest_pow (int num);
-int format_string_length_upper_bound (const char* fmt,
-				      va_list *args);
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]