cmd: Avoid hardcoding array lengths

Frédéric Delanoy frederic.delanoy at gmail.com
Thu Nov 24 06:03:37 CST 2011


---
 programs/cmd/batch.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c
index 10af36b..63377dd 100644
--- a/programs/cmd/batch.c
+++ b/programs/cmd/batch.c
@@ -311,12 +311,12 @@ void WCMD_splitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHA
  *  backwards until find for variable or 0-9
  */
 void WCMD_HandleTildaModifiers(WCHAR **start, const WCHAR *forVariable,
-                               const WCHAR *forValue, BOOL justFors) {
-
-#define NUMMODIFIERS 11
-  static const WCHAR validmodifiers[NUMMODIFIERS] = {
+                               const WCHAR *forValue, BOOL justFors)
+{
+  static const WCHAR validmodifiers[] = {
         '~', 'f', 'd', 'p', 'n', 'x', 's', 'a', 't', 'z', '$'
   };
+  static const size_t NUMMODIFIERS = sizeof(validmodifiers)/sizeof(validmodifiers[0]);
 
   WIN32_FILE_ATTRIBUTE_DATA fileInfo;
   WCHAR  outputparam[MAX_PATH];
@@ -328,7 +328,7 @@ void WCMD_HandleTildaModifiers(WCHAR **start, const WCHAR *forVariable,
   WCHAR  *lastModifier   = NULL;
   int   modifierLen     = 0;
   BOOL  finished        = FALSE;
-  int   i               = 0;
+  size_t i              = 0;
   BOOL  exists          = TRUE;
   BOOL  skipFileParsing = FALSE;
   BOOL  doneModifier    = FALSE;
-- 
1.7.7.2




More information about the wine-patches mailing list