xref: /aoo41x/main/sysui/util/checksize.pl (revision cdf0e10c)
1:
2eval 'exec perl -wS $0 ${1+"$@"}'
3    if 0;
4#*************************************************************************
5#
6# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7#
8# Copyright 2000, 2010 Oracle and/or its affiliates.
9#
10# OpenOffice.org - a multi-platform office productivity suite
11#
12# This file is part of OpenOffice.org.
13#
14# OpenOffice.org is free software: you can redistribute it and/or modify
15# it under the terms of the GNU Lesser General Public License version 3
16# only, as published by the Free Software Foundation.
17#
18# OpenOffice.org is distributed in the hope that it will be useful,
19# but WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21# GNU Lesser General Public License version 3 for more details
22# (a copy is included in the LICENSE file that accompanied this code).
23#
24# You should have received a copy of the GNU Lesser General Public License
25# version 3 along with OpenOffice.org.  If not, see
26# <http://www.openoffice.org/license.html>
27# for a copy of the LGPLv3 License.
28#
29#*************************************************************************
30#
31#
32#
33
34my
35$is_debug=0;
36my $err = 0;
37my $path = "../" . $ENV{'INPATH'} . "/";
38
39#Path of the directory from which the recursion starts (must have ending '/').
40print "Checking:$path\n";
41# Initiate the recursion
42&RecurseDirs($path);
43if ($err > 0)
44{
45    print "Error: $err damaged files encountered\n";
46    exit(1); # stop dmake
47} else
48{
49    print "ok.\n";
50}
51exit;
52
53#### SUBROUTINES SECTION ####
54
55# Function that recurses through the directory tree calling FileFunction on all files
56sub RecurseDirs {
57    my ($path) = @_;
58    my $file;    #Variable for a file
59
60    opendir (DIRECTORY, $path) or
61        die "Error: Can't read $path\n";
62    my @all_files = grep (!/^\.\.?$/, readdir (DIRECTORY)); #Read all the files except for '.' and '..'
63    closedir (DIRECTORY);
64
65    foreach $file (@all_files) {
66        if (-d "$path$file/") {
67            &RecurseDirs("$path$file/");
68        } else {
69            &check($path, $file);
70        }
71    }
72}
73
74############################################################################
75sub check       #04.02.2005 13:40
76############################################################################
77 {
78    my $path = shift;
79    my $file = shift;
80    print "$path$file\n" if ((-e "$path$file") && $is_debug);
81    # don't check dpc,flag,rpmflag,sdf [obj for UNX] files, or etc subdirectory
82    return if ( ($file =~ /.+\.(dpc|\w*?flag)/) || ($file =~ /.+\.obj/ && $ENV{GUI} eq 'UNX') || ($path =~ /.+etc/) || ($path =~ /.+logs/) || ($path =~ /.+sdf/) );
83    if ( -z "$path$file" ) {
84        print "Error: $path$file 0 Bytes!\n";
85        $err++;
86    }
87 }
88