aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fontconfig/src/fcxml.c6
-rw-r--r--libX11/modules/lc/gen/lcGenConv.c28
-rw-r--r--libX11/nls/C/XI18N_OBJS2
-rw-r--r--libX11/nls/en_US.UTF-8/XI18N_OBJS5
-rw-r--r--libX11/nls/iso8859-1/XI18N_OBJS2
-rw-r--r--libxcb/src/man/xcb-examples.34
-rw-r--r--mesalib/src/glsl/ast_to_hir.cpp30
7 files changed, 29 insertions, 48 deletions
diff --git a/fontconfig/src/fcxml.c b/fontconfig/src/fcxml.c
index 2f3ccacab..1cac9a8b3 100644
--- a/fontconfig/src/fcxml.c
+++ b/fontconfig/src/fcxml.c
@@ -69,8 +69,8 @@ FcTestDestroy (FcTest *test)
void
FcRuleDestroy (FcRule *rule)
{
- if (rule->next)
- FcRuleDestroy (rule->next);
+ FcRule *n = rule->next;
+
switch (rule->type) {
case FcRuleTest:
FcTestDestroy (rule->u.test);
@@ -82,6 +82,8 @@ FcRuleDestroy (FcRule *rule)
break;
}
free (rule);
+ if (n)
+ FcRuleDestroy (n);
}
static FcExpr *
diff --git a/libX11/modules/lc/gen/lcGenConv.c b/libX11/modules/lc/gen/lcGenConv.c
index 42d63c529..1041dc709 100644
--- a/libX11/modules/lc/gen/lcGenConv.c
+++ b/libX11/modules/lc/gen/lcGenConv.c
@@ -764,9 +764,6 @@ mbstowcs_org(
return( 0 );
}
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -921,9 +918,6 @@ wcstombs_org(
int defstr_len = strlen(default_string);
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -1080,9 +1074,6 @@ wcstocts(
int from_size = *from_left;
char *ext_seg_len = NULL;
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -1272,9 +1263,6 @@ ctstowcs(
return( 0 );
}
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -1666,9 +1654,6 @@ mbstostr(
return( 0 );
}
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -1956,10 +1941,6 @@ wcstostr(
const char *default_string = XLC_PUBLIC(lcd, default_string);
int defstr_len = strlen(default_string);
-
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -2114,9 +2095,6 @@ wctocs(
char *outbufptr = *to;
int from_size = *from_left;
- if (*from_left > *to_left)
- *from_left = *to_left;
-
if (*from_left && *to_left) {
wc = *inbufptr++;
@@ -2427,9 +2405,6 @@ strtombs(
char *outbufptr = *to;
int from_size = *from_left;
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -2537,9 +2512,6 @@ strtowcs(
wchar_t *outbufptr = (wchar_t *)*to;
int from_size = *from_left;
- if (*from_left > *to_left)
- *from_left = *to_left;
-
while (*from_left && *to_left) {
ch = *inbufptr++;
diff --git a/libX11/nls/C/XI18N_OBJS b/libX11/nls/C/XI18N_OBJS
index 32e4f3588..3a9a1bb5a 100644
--- a/libX11/nls/C/XI18N_OBJS
+++ b/libX11/nls/C/XI18N_OBJS
@@ -3,6 +3,6 @@
# XI18N objects table for euro locales
#
XLC common/xlibi18n _XlcGenericLoader # XLC_open
-XIM common/ximcp _XimOpenIM # XIM_open
+XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister
XOM common/xomGeneric _XomGenericOpenOM # XOM_open
diff --git a/libX11/nls/en_US.UTF-8/XI18N_OBJS b/libX11/nls/en_US.UTF-8/XI18N_OBJS
index f201bf435..97b30b976 100644
--- a/libX11/nls/en_US.UTF-8/XI18N_OBJS
+++ b/libX11/nls/en_US.UTF-8/XI18N_OBJS
@@ -3,6 +3,5 @@
# XI18N objects table for euro locales
#
XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open
-XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open
-XIM common/xiiimp _SwitchOpenIM # XIM_open
-XIM common/xiiimp _XimpLocalOpenIM # XIM_open
+XOM common/xomGeneric _XomGenericOpenOM # XOM_open
+XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister
diff --git a/libX11/nls/iso8859-1/XI18N_OBJS b/libX11/nls/iso8859-1/XI18N_OBJS
index 32e4f3588..3a9a1bb5a 100644
--- a/libX11/nls/iso8859-1/XI18N_OBJS
+++ b/libX11/nls/iso8859-1/XI18N_OBJS
@@ -3,6 +3,6 @@
# XI18N objects table for euro locales
#
XLC common/xlibi18n _XlcGenericLoader # XLC_open
-XIM common/ximcp _XimOpenIM # XIM_open
+XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister
XOM common/xomGeneric _XomGenericOpenOM # XOM_open
diff --git a/libxcb/src/man/xcb-examples.3 b/libxcb/src/man/xcb-examples.3
index 291af37d0..c02fc0199 100644
--- a/libxcb/src/man/xcb-examples.3
+++ b/libxcb/src/man/xcb-examples.3
@@ -45,11 +45,11 @@ it on xcb@lists.freedesktop.org.
.SH CODING STYLE
-Every example uses 4 spaces for indention.
+Every example uses 4 spaces for indentation.
Comments are in asterisks, like /* this */.
-No line is longer than 80 characters (including indention).
+No line is longer than 80 characters (including indentation).
.SH SEE ALSO
.BR xcb_connect (3),
diff --git a/mesalib/src/glsl/ast_to_hir.cpp b/mesalib/src/glsl/ast_to_hir.cpp
index efbd72c18..cbd9ea357 100644
--- a/mesalib/src/glsl/ast_to_hir.cpp
+++ b/mesalib/src/glsl/ast_to_hir.cpp
@@ -2355,17 +2355,25 @@ process_initializer(ir_variable *var, ast_declaration *decl,
ir_constant *constant_value = rhs->constant_expression_value();
if (!constant_value) {
- _mesa_glsl_error(& initializer_loc, state,
- "initializer of %s variable `%s' must be a "
- "constant expression",
- (type->qualifier.flags.q.constant)
- ? "const" : "uniform",
- decl->identifier);
- if (var->type->is_numeric()) {
- /* Reduce cascading errors. */
- var->constant_value = ir_constant::zero(state, var->type);
- }
- } else {
+ /* If ARB_shading_language_420pack is enabled, initializers of
+ * const-qualified local variables do not have to be constant
+ * expressions. Const-qualified global variables must still be
+ * initialized with constant expressions.
+ */
+ if (!state->ARB_shading_language_420pack_enable
+ || state->current_function == NULL) {
+ _mesa_glsl_error(& initializer_loc, state,
+ "initializer of %s variable `%s' must be a "
+ "constant expression",
+ (type->qualifier.flags.q.constant)
+ ? "const" : "uniform",
+ decl->identifier);
+ if (var->type->is_numeric()) {
+ /* Reduce cascading errors. */
+ var->constant_value = ir_constant::zero(state, var->type);
+ }
+ }
+ } else {
rhs = constant_value;
var->constant_value = constant_value;
}