Преглед на файлове

Module lib/ParseCmdLine.c has errors, it incorrectly mixes "char" and "CHAR16"
and uses a pointer to argv[] like it's argv[]. The compiler only issues
warnings though. Here is a patch to remove compiler warnings and make the
code behave.

Signed-off-by: Bernard Burette <bub75@users.sf.net>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>

Nigel Croxon преди 11 години
родител
ревизия
42cca551db
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      gnu-efi-3.0/lib/ParseCmdLine.c

+ 4 - 4
gnu-efi-3.0/lib/ParseCmdLine.c

@@ -18,21 +18,21 @@ int ParseCmdLine(CHAR16 **argv[],  CHAR16 *LoadOptions, int LoadOptionSize)
     int	    i;	  // Index into buf
 
     int argc = 0;	// Count of argv entries
-    argv[argc++] = LoadOptions ? LoadOptions: "##NoName##";
+    *argv[argc++] = LoadOptions ? LoadOptions: L"##NoName##";
 
     for ( i = 0;  len > 0;   len-= 2, i++)  {
 	if ( buf[i] == L' ' ) {
 	    // end of current argv entry, start next?
-	    buf[i] = NULL;
+	    buf[i] = L'\0';
 	    do {
 	    	len -= 2;
 		i++;
 	    } while( (buf[i] == L' ') && (len > 0) );
-	    argv[argc] =  &buf[i];
+	    *argv[argc] = &buf[i];
 	    if ( len > 0 ) argc++;
 	}
     }
-    argv[argc] = NULL;
+    *argv[argc] = NULL;
 
     return argc;
 }