[PATCH] wrc: verify-translation: compare all the controls of dia=
=3D?utf-8?q?Miko=3DC5=3D82aj=3D20Zalewski?=3D
mikolaj at zalewski.pl
Fri Mar 28 14:45:44 CDT 2008
logs, not only the first one
---
tools/wrc/translation.c | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/tools/wrc/translation.c b/tools/wrc/translation.c
index e46fab1..7a3e30f 100644
--- a/tools/wrc/translation.c
+++ b/tools/wrc/translation.c
@@ -1,5 +1,6 @@
/*
* Copyright 2003 Vincent B=E9ron
+ * Copyright 2007, 2008 Mikolaj Zalewski
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -324,6 +325,7 @@ static int compare_control(control_t *control1, contr=
ol_t *control2) {
static int compare_dialog(dialog_t *dialog1, dialog_t *dialog2) {
int different =3D 0;
char *nameid =3D NULL;
+ control_t *ctrl1, *ctrl2;
if(!different &&
((dialog1->memopt !=3D dialog2->memopt) ||
(dialog1->lvc.version !=3D dialog2->lvc.version) ||
@@ -355,14 +357,22 @@ static int compare_dialog(dialog_t *dialog1, dialog=
_t *dialog2) {
if(!different && strcmp(nameid, get_nameid_str(dialog2->dlgclass)))
different =3D 1;
free(nameid);
- if(!different)
- different =3D compare_control(dialog1->controls, dialog2->controls);
+=09
+ ctrl1 =3D dialog1->controls;
+ ctrl2 =3D dialog2->controls;
+ while(!different && (ctrl1 || ctrl2))
+ {
+ different =3D compare_control(ctrl1, ctrl2);
+ if (ctrl1) ctrl1 =3D ctrl1->next;
+ if (ctrl2) ctrl2 =3D ctrl2->next;
+ }
return different;
}
=20
static int compare_dialogex(dialogex_t *dialogex1, dialogex_t *dialogex2=
) {
int different =3D 0;
char *nameid =3D NULL;
+ control_t *ctrl1, *ctrl2;
if(!different &&
((dialogex1->memopt !=3D dialogex2->memopt) ||
(dialogex1->lvc.version !=3D dialogex2->lvc.version) ||
@@ -401,8 +411,15 @@ static int compare_dialogex(dialogex_t *dialogex1, d=
ialogex_t *dialogex2) {
if(!different && strcmp(nameid, get_nameid_str(dialogex2->dlgclass)))
different =3D 1;
free(nameid);
- if(!different)
- different =3D compare_control(dialogex1->controls, dialogex2->controls=
);
+
+ ctrl1 =3D dialogex1->controls;
+ ctrl2 =3D dialogex2->controls;
+ while(!different && (ctrl1 || ctrl2))
+ {
+ different =3D compare_control(ctrl1, ctrl2);
+ if (ctrl1) ctrl1 =3D ctrl1->next;
+ if (ctrl2) ctrl2 =3D ctrl2->next;
+ }
return different;
}
=20
--=20
1.5.4
--------------090803000509050509050903--
More information about the wine-patches
mailing list