=== modified file 'intltool-update.in' --- intltool-update.in 2009-12-19 10:42:04 +0000 +++ intltool-update.in 2010-03-17 17:54:51 +0000 @@ -323,6 +323,24 @@ } } +sub AddFileToListIfMissing +{ + my ($file, @list) = @_; + + my $name_pattern; + if ($file =~ /^\.\.\//) { + $name_pattern = "x3 A*"; + } else { + $name_pattern = "A*"; + } + + my $file_name = unpack($name_pattern, $file); + if (defined isNotValidMissing ($file_name)) { + ## Remove the first 3 chars if needed and add newline + push @list, $file_name . "\n"; + } +} + sub FindLeftoutFiles { my (@buf_i18n_plain, @@ -489,34 +507,25 @@ s-$match.*--; } } - } + } if (/\w\.GetString *\(QUOTEDTEXT/) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - ## Remove the first 3 chars and add newline - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); last; } ## C_ N_ NC_ Q_ and _ are the macros defined in gi8n.h if (/(NC_|[NCQ]_|[^_]_|$_) *\(QUOTEDTEXT/) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - ## Remove the first 3 chars and add newline - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); last; } # Check for direct calls to the glib gettext wrappers if (/g_d[np]?gettext[2]? *\(QUOTEDTEXT/) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - ## Remove the first 3 chars and add newline - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); last; } } @@ -532,9 +541,7 @@ # FIXME: share the pattern matching code with intltool-extract if (/\s_[-A-Za-z0-9._:]+\s*=\s*\"([^"]+)\"/ || /<_[^>]+>/ || /translatable=\"yes\"/) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); last; } } @@ -548,9 +555,7 @@ { if (/_(.*)=/) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); last; } } @@ -559,9 +564,7 @@ foreach my $file (@buf_i18n_xml_unmarked) { - if (defined isNotValidMissing (unpack("x3 A*", $file))) { - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } + AddFileToListIfMissing($file, @buf_allfiles); }