* src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
[fw/sdcc] / src / SDCCmain.c
index d8eb615f943993d63711c2aa41559b00cd918697..71fb88637a584fe5df1e45db645c5124ad663b73 100644 (file)
@@ -793,11 +793,11 @@ scanOptionsTable(const OPTION *optionsTable, char shortOpt, const char *longOpt,
         }
       else
         {
-          size_t len = strlen(optionsTable[i].longOpt);
+          size_t len = optionsTable[i].longOpt ? strlen(optionsTable[i].longOpt) : 0;
 
           if (longOpt &&
             (optionsTable[i].arg_type != CLAT_BOOLEAN ||
-            optionsTable[i].arg_type == CLAT_BOOLEAN && len == strlen(longOpt) && optionsTable[i].longOpt) &&
+            (optionsTable[i].arg_type == CLAT_BOOLEAN && len == strlen(longOpt) && optionsTable[i].longOpt)) &&
             strncmp(optionsTable[i].longOpt, longOpt, len) == 0)
             {
               /* If it is a flag then we can handle it here */