Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
@REM ----------------------------------------------------------------- @REM @REM SanityCheckUnicodeFiles.cmd - MikeR @REM Ensure that commonly messed up Unicode files have the proper @REM FFFE "signature" on the front of the file. @REM @REM Copyright (c) Microsoft Corporation. All rights reserved. @REM @REM ----------------------------------------------------------------- @perl -x "%~f0" %* @goto :EOF #!perl use strict; use lib $ENV{RAZZLETOOLPATH} . "\\PostBuildScripts"; use lib $ENV{RAZZLETOOLPATH}; use PbuildEnv; use ParseArgs; use Logmsg; use UnicodeCheck;
sub Usage { print<<USAGE; exit(1) }
SanityCheckUnicodeFiles.cmd
Ensure that commonly messed up Unicode files have the proper "FFFE" Unicode signature on the front of the file.
We read the list of files to sanity check from "$ENV{RAZZLETOOLPATH}\\PostBuildScripts\\SanityCheckList.txt".
All paths we obtain are appended to "$ENV{_NTDRIVE}$ENV{_NTROOT}\\" to produce the final path to the file to be checked.
USAGE
parseargs('?' => \&Usage);
my $BasePath = "$ENV{_NTDRIVE}$ENV{_NTROOT}"; my $FileList = "$ENV{RAZZLETOOLPATH}\\PostBuildScripts\\SanityCheckList.txt";
logmsg( "Reading file list to sanity check from '$FileList'..." );
# # Read the file list in # # We assume things will be in the \NT tree and in the format of: # # \mergedcomponents\setupinfs\usa\intl.txt # my @FilesToSanityCheck; my $ThisLine; if ( open(FILELIST, $FileList ) ) { while ( <FILELIST> ) { # Save off the line so we can use it... $ThisLine = $_;
# Chop off any trailing newline... $ThisLine =~ s/\n$//;
# We only care about this if it's not a comment line... if ( $ThisLine =~ /^\;/ ) { # printf( "Comment Line : $ThisLine\n" ); } else { # printf( "Data Line : $ThisLine\n" );
# Build the correct path... my $FilePath; $FilePath = $BasePath; if ( ! ($ThisLine =~ /^\\/) ) { $FilePath .= "\\"; } $FilePath .= $ThisLine;
# Append this file path to the array... push( @FilesToSanityCheck, $FilePath ); } }
# Close the file... close( FILELIST ); } my $NumFiles = @FilesToSanityCheck;
if ( $NumFiles < 1 ) { wrnmsg( "No files to sanity check!" ); }
logmsg( "Checking $NumFiles file(s) for valid Unicode signatures..." );
# # Sanity check each file in the list # my $ThisFile; foreach $ThisFile (@FilesToSanityCheck) { IsFileUnicode( $ThisFile ); }
logmsg( "Done checking Unicode signatures." );
|