]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/cmndline.cc
Complete Japanese translation
[apt.git] / apt-pkg / contrib / cmndline.cc
index f7359c36ece88fb1184abc821292e7e17dc94660..75d02cad46972cc262906f7379185c5127f446e5 100644 (file)
    ##################################################################### */
                                                                        /*}}}*/
 // Include files                                                       /*{{{*/
+#include<config.h>
+
+#include <apt-pkg/configuration.h>
 #include <apt-pkg/cmndline.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/strutl.h>
 
-#include <apti18n.h>    
+#include <apti18n.h>
                                                                        /*}}}*/
 using namespace std;
 
@@ -89,8 +92,9 @@ bool CommandLine::Parse(int argc,const char **argv)
       // Match up to a = against the list
       Args *A;
       const char *OptEnd = strchrnul(Opt, '=');
-      for (A = ArgList; A->end() == false && 
-          stringcasecmp(Opt,OptEnd,A->LongOpt) != 0; A++);
+      for (A = ArgList; A->end() == false &&
+          (A->LongOpt == 0 || stringcasecmp(Opt,OptEnd,A->LongOpt) != 0);
+          ++A);
       
       // Failed, look for a word after the first - (no-foo)
       bool PreceedMatch = false;
@@ -102,7 +106,8 @@ bool CommandLine::Parse(int argc,const char **argv)
         Opt++;
         
         for (A = ArgList; A->end() == false &&
-             stringcasecmp(Opt,OptEnd,A->LongOpt) != 0; A++);
+             (A->LongOpt == 0 || stringcasecmp(Opt,OptEnd,A->LongOpt) != 0);
+             ++A);
 
         // Failed again..
         if (A->end() == true && OptEnd - Opt != 1)