Hi

While messing aroung with my new ua installation I came across a bug in 
install.pl's validate_old_dos_dir check.

in my os dir I got 

winspxp3.enu 

which killes the script with:
 'winxpsp3.enu' has more than eight characters.

I located the problem to a greedy regular expression, and fix it. 
The output of 'diff -u' is attached, let me know if you need a diffrent 
diff format.



Nils

-- 
Nils Østbjerg
SAMF-IT, Faculty of Social Sciences, Aalborg University, Denmark
--- a/install/dosbin/install.pl	2009-01-18 22:42:56.000000000 +0100
+++ b/install/dosbin/install.pl	2009-01-19 15:03:29.000000000 +0100
@@ -717,17 +717,17 @@
 
     foreach my $dir (@dirs) {
         my $failure = '';
-        my ($base, $ext) = $dir =~ /^(.*)(?:\.(.*))?\z/;
+        my ($base, $ext) = $dir =~ /^(.*?)(?:\.(.*))?\z/;
 
         # Check "impossible" cases first.
         $base =~ /\\/
-            || defined $ext && ($ext =~ /\\/ || $ext =~ /\./)
+            || defined $ext && ($ext =~ /\\/)
             and die 'Internal error';
 
         if (length $base > 8) {
             $failure = "'$base' has more than eight characters";
         }
-        elsif ($base =~ /\./) {
+        elsif ($ext =~ /\./) {
             $failure = "'$dir' contains more than one dot";
         }
         elsif (defined $ext) {
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to