hdf5/bin/checkapi
Albert Cheng 5e1bee4f60 [svn-r13311] Updated copyright notice.
Test:
Just visual inspection as these are all comments changes.
2007-02-14 17:25:02 -05:00

50 lines
1.6 KiB
Perl
Executable File

#!/usr/bin/perl -w
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
require 5.003;
# Purpose: insures that API functions aren't called internally.
# Usage: checkapi H5*.c
my $comment = 0;
while (<>) {
# Remove comments within the line.
s/\/\*.*?\*\///g;
# Process comment begin and end tokens on this line.
$comment-- if /\*\//; # count comment ends
next if $comment; # skip line if in comment
$comment++ if /\/\*/; # count comment starts
s/(.*)\/\*.*/$1/; # remove comments that begin on this line
# Remove character strings
s/\\.//g; # remove escaped characters
s/\".*?\"//g; # remove string constants
# Disregard the following hits
next if /^H5/;
next if /^\#/;
next if /FUNC_ENTER(_NOINIT)*/;
next unless /(H5[A-Z]{1,2}[a-z]\w*)/;
print "$ARGV:$.: $1\n";
} continue {
if (eof) {
print "$ARGV:$.: bad comment nesting\n" if $comment;
$comment = 0;
close ARGV; # reset line number
}
}