#!/usr/local/bin/perl -w
require 5.003;
#
# 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.
# Robb Matzke, matzke@llnl.gov
# 30 Aug 1997
# Purpose: Given the names of C source files this script will print the
#      file name, line number, and function name of any function that
#      doesn't begin with the letter `h' or `H' as stipulated by the
#      HDF5 programming style guide.
#      Emacs users can run this script as the compile command and
#      use `next-error' (usually bound to M-`) to find each name
#      violation.
while (<>) {
   # Get rid of comments by removing the inside part.
   s|/\*.*?\*/||g;
   if ($in_comment) {
      if (/\*\//) {
         s|.*?\*/||;
         $in_comment = 0;
      } else {
         $_="\n";
      }
   } elsif (m|/\*|) {
      s|/\*.*||;
      $in_comment = 1;
   }
   # Get rid of string constants if they begin and end on this line.
   s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
   # Get rid of preprocessor directives
   s/^\#.*//;