Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c
index a23b36f..87eada8 100644
--- a/dlls/winmm/mmio.c
+++ b/dlls/winmm/mmio.c
@@ -591,7 +591,10 @@
LPWINE_MMIO* m;
EnterCriticalSection(&iData->cs);
- for (m = &(iData->lpMMIO); *m && *m != wm; m = &(*m)->lpNext);
+ /* search for the matching one... */
+ m = &(iData->lpMMIO);
+ while (*m && *m != wm) m = &(*m)->lpNext;
+ /* ...and destroy */
if (*m) {
*m = (*m)->lpNext;
HeapFree(GetProcessHeap(), 0, wm);
diff --git a/files/dos_fs.c b/files/dos_fs.c
index 5735c95..400223e 100644
--- a/files/dos_fs.c
+++ b/files/dos_fs.c
@@ -261,10 +261,12 @@
char *p;
memcpy( buffer, name, 8 );
- for (p = buffer + 8; (p > buffer) && (p[-1] == ' '); p--);
+ p = buffer + 8;
+ while ((p > buffer) && (p[-1] == ' ')) p--;
*p++ = '.';
memcpy( p, name + 8, 3 );
- for (p += 3; p[-1] == ' '; p--);
+ p += 3;
+ while (p[-1] == ' ') p--;
if (p[-1] == '.') p--;
*p = '\0';
}
diff --git a/files/drive.c b/files/drive.c
index 6dc727a..d5a62f6 100644
--- a/files/drive.c
+++ b/files/drive.c
@@ -1422,7 +1422,7 @@
if (label)
{
lstrcpynA( label, DRIVE_GetLabel(drive), label_len );
- for (cp = label; *cp; cp++);
+ cp = label + strlen(label);
while (cp != label && *(cp-1) == ' ') cp--;
*cp = '\0';
}
diff --git a/graphics/x11drv/xfont.c b/graphics/x11drv/xfont.c
index b47d43b..579fc8f 100644
--- a/graphics/x11drv/xfont.c
+++ b/graphics/x11drv/xfont.c
@@ -957,11 +957,9 @@
if (uRelax <= 4)
{
- fontEncodingTemplate* boba;
-
- i = fo->fi->fi_encoding >> 8;
- for( boba = fETTable; i; i--, boba = boba->next );
-
+ fontEncodingTemplate* boba = fETTable;
+
+ for(i = fo->fi->fi_encoding >> 8; i; i--) boba = boba->next;
aLFD.charset_registry = boba->prefix ? boba->prefix : any;
i = fo->fi->fi_encoding & 255;
diff --git a/programs/winhelp/hlpfile.c b/programs/winhelp/hlpfile.c
index 92cd6c0..c30621d 100644
--- a/programs/winhelp/hlpfile.c
+++ b/programs/winhelp/hlpfile.c
@@ -649,7 +649,8 @@
lstrcpy(p, (LPSTR) ptr + 4);
macro->lpszMacro = p;
macro->next = 0;
- for (m = &hlpfile->first_macro; *m; m = &(*m)->next);
+ m = &hlpfile->first_macro;
+ while (*m) m = &(*m)->next;
*m = macro;
break;
diff --git a/server/debugger.c b/server/debugger.c
index f68cdf2..eb86efe 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -443,7 +443,8 @@
generate_debug_event( thread, CREATE_THREAD_DEBUG_EVENT, NULL );
/* generate dll events (in loading order, i.e. reverse list order) */
- for (dll = &process->exe; dll->next; dll = dll->next);
+ dll = &process->exe;
+ while (dll->next) dll = dll->next;
while (dll != &process->exe)
{
generate_debug_event( process->thread_list, LOAD_DLL_DEBUG_EVENT, dll );
diff --git a/server/registry.c b/server/registry.c
index 5905aba..f6a3f5e 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -1305,7 +1305,8 @@
while (read_next_line( &info ) == 1)
{
- for (p = info.buffer; *p && isspace(*p); p++);
+ p = info.buffer;
+ while (*p && isspace(*p)) p++;
switch(*p)
{
case '[': /* new key */
diff --git a/tools/specmaker/misc.c b/tools/specmaker/misc.c
index cdb3ae7..6223131 100644
--- a/tools/specmaker/misc.c
+++ b/tools/specmaker/misc.c
@@ -120,12 +120,12 @@
{
assert(str && match && found);
- for (; *str == ' '; str++);
+ while (*str == ' ') str++;
if (!strncmp (str, match, strlen (match)))
{
*found = 1;
str += strlen (match);
- for (; *str == ' '; str++);
+ while (*str == ' ') str++;
}
else
*found = 0;