diff options
author | Darin Adler <darin@src.gnome.org> | 2000-08-03 18:40:39 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-08-03 18:40:39 +0000 |
commit | b673c1848d279cfa55a0795eddfb55c16f8031bc (patch) | |
tree | 1fc62dfe06c653710d0a098dececbf65211cc742 /check-signals.pl | |
parent | 523219015303a8587c741dcaa9c8beab42ff0748 (diff) | |
download | nautilus-b673c1848d279cfa55a0795eddfb55c16f8031bc.tar.gz |
Wrote a script to check for people who forget to call
* check-signals.pl: Wrote a script to check for people who forget
to call gtk_object_class_add_signals. It found only one violation,
and that was already fixed by the time I got around to checking
this in.
* libnautilus-extensions/nautilus-directory-async.c:
(get_info_callback): Added a code to check the error result from
get_file_info. Without this, we were doing
* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_set_uri):
Fixed it so we won't destroy and then instantly recreate the same
NautilusFile if the URI is set to the same value.
Diffstat (limited to 'check-signals.pl')
-rwxr-xr-x | check-signals.pl | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/check-signals.pl b/check-signals.pl new file mode 100755 index 000000000..822c20e04 --- /dev/null +++ b/check-signals.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl -w +# -*- Mode: perl; indent-tabs-mode: nil -*- + +# +# Nautilus +# +# Copyright (C) 2000 Eazel, Inc. +# +# This script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This script is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this script; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Author: Darin Adler <darin@eazel.com>, +# + +# check-signals.pl: Search for .c files where someone forgot to +# put a call to gtk_object_class_add_signals. + +use diagnostics; +use strict; + +# default to all the files starting from the current directory +if (!@ARGV) + { + @ARGV = `find . -name '*.c' -print`; + } + +# locate all of the target lines +my @missing_files; +FILE: foreach my $file (@ARGV) + { + my $has_signal_new; + my $has_add_signals; + chomp $file; + open FILE, $file or die "can't open $file"; + while (<FILE>) + { + $has_signal_new = 1 if /gtk_signal_new/; + $has_add_signals = 1 if /gtk_object_class_add_signals/; + } + close FILE; + push @missing_files, $file if $has_signal_new && !$has_add_signals; + } + +if (@missing_files) + { + print "\n", scalar(@missing_files), " C files are missing a call to gtk_object_class_add_signals.\n\n"; + print join("\n", @missing_files), "\n"; + } + |