/usr/share/filepp/bigdef.pm is in filepp 1.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | ########################################################################
#
# bigdef 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 program 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 program; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
########################################################################
#
# Project : File Preprocessor - bigdef module
# Filename : $RCSfile: bigdef.pm,v $
# Author : $Author: darren $
# Maintainer : Darren Miller: darren@cabaret.demon.co.uk
# File version : $Revision: 1.5 $
# Last changed : $Date: 2003/07/02 22:23:15 $
# Description : Allows easy definition of multi-line macros
# Licence : GNU copyleft
#
########################################################################
# THIS IS A FILEPP MODULE, YOU NEED FILEPP TO USE IT!!!
# usage: filepp -m bigdef.pm <files>
########################################################################
package Bigdef;
use strict;
# version number of module
my $VERSION = '1.0.1';
# current big definition
my $currentdef = "";
##############################################################################
# bigdef processor, when in a big define this eats all input (after processing
# for other keywords)
##############################################################################
sub Processor
{
my $input = shift;
$currentdef = $currentdef.$input;
return "";
}
##############################################################################
# bigdef keyword - starts a bigdef
# same syntax as #define, only does not terminate until a #endbigdef is found
##############################################################################
sub Bigdef
{
my $input = shift;
# check not already in a bigdef
if($currentdef ne "") {
Filepp::Error("Nested bigdef's are not allowed");
}
# start macro definition
$currentdef = $input."\n";
# add processor - make it first in the list so all other processors are
# ignored, this prevents any macro's in the bigdef being processed twice
Filepp::AddProcessorAfter("Bigdef::Processor", "ParseKeywords", 1);
}
##############################################################################
# add bigdef keyword
##############################################################################
Filepp::AddKeyword("bigdef", "Bigdef::Bigdef");
##############################################################################
# endbigdef keyword
# no input, used to finish bigdef
##############################################################################
sub Endbigdef
{
# check in bigdef
if($currentdef eq "") {
Filepp::Error("endbigdef found without preceding bigdef");
}
# remove processor
Filepp::RemoveProcessor("Bigdef::Processor");
# define macro
Filepp::Define($currentdef);
$currentdef = "";
}
##############################################################################
# add bigdef keyword
##############################################################################
Filepp::AddKeyword("endbigdef", "Bigdef::Endbigdef");
return 1;
########################################################################
# End of file
########################################################################
|