summaryrefslogtreecommitdiff
path: root/glib-patches/gstrfuncs_G_GNUC_PRETTY_FUNC_is_a_variable.diff
blob: 5fa720339f8584b4146b07d9cc389950ce606330 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

Patch stolen from glib1.2_1.2.10-17 in Debian.  G_GNUC_PRETTY_FUNCTION
is a variable now, not a string constant.

--- glib1.2-1.2.10.orig/gstrfuncs.c
+++ glib1.2-1.2.10/gstrfuncs.c
@@ -867,8 +867,8 @@
                   /* beware of positional parameters
                    */
                 case '$':
-                  g_warning (G_GNUC_PRETTY_FUNCTION
-                             "(): unable to handle positional parameters (%%n$)");
+                  g_warning ("%s(): unable to handle positional parameters (%%n$)", 
+                             G_GNUC_PRETTY_FUNCTION );
                   len += 1024; /* try adding some safety padding */
                   break;
 
@@ -1034,8 +1034,8 @@
                   /*          n   .   dddddddddddddddddddddddd   E   +-  eeee */
                   conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
                   if (spec.mod_extra_long)
-                    g_warning (G_GNUC_PRETTY_FUNCTION
-                               "(): unable to handle long double, collecting double only");
+                    g_warning ("%s(): unable to handle long double, collecting double only", 
+                               G_GNUC_PRETTY_FUNCTION);
 #ifdef HAVE_LONG_DOUBLE
 #error need to implement special handling for long double
 #endif
@@ -1047,7 +1047,7 @@
                       gint exp = u_double.mpn.biased_exponent;
 
                       exp -= G_IEEE754_DOUBLE_BIAS;
-                      exp = exp * G_LOG_2_BASE_10 + 1;
+                      exp = abs(exp * G_LOG_2_BASE_10) + 1;
                       conv_len += exp;
                     }
                   /* some printf() implementations require extra padding for rounding */
@@ -1077,8 +1077,8 @@
                   conv_done = TRUE;
                   if (spec.mod_long)
                     {
-                      g_warning (G_GNUC_PRETTY_FUNCTION
-                                 "(): unable to handle wide char strings");
+                      g_warning ("%s(): unable to handle wide char strings", 
+                                 G_GNUC_PRETTY_FUNCTION);
                       len += 1024; /* try adding some safety padding */
                     }
                   break;
@@ -1108,8 +1108,8 @@
                   conv_len += format - spec_start;
                   break;
                 default:
-                  g_warning (G_GNUC_PRETTY_FUNCTION
-                             "(): unable to handle `%c' while parsing format",
+                  g_warning ("%s(): unable to handle `%c' while parsing format",
+                             G_GNUC_PRETTY_FUNCTION,
                              c);
                   break;
                 }