Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (41 sloc) 1.12 KB
# Copyright 2002-2007 Interchange Development Group and others
# Copyright 1996-2002 Red Hat, Inc.
#
# This program 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. See the LICENSE file for details.
CodeDef option_format Filter
CodeDef option_format Description Option format
CodeDef option_format Routine <<EOR
sub {
my ($value, $tag, $delim) = @_;
return $value unless $value =~ /\0.*\0/s;
my $scrubcommas;
if(! length($delim) ) {
$delim = ',';
$scrubcommas = 1;
}
else {
$delim =~ /pipe/i and $delim = '|'
or
$delim =~ /semicolon/i and $delim = ';'
or
$delim =~ /colon/i and $delim = ':'
or
$delim =~ /null/i and $delim = "\0"
;
}
my @opts = split /\0/, $value;
my @out;
while(@opts) {
my ($v, $l, $d) = splice @opts, 0, 3;
$l = length($l) ? "=$l" : '';
$l =~ s/,/&#44;/g if $scrubcommas;
$d = $d ? '*' : '';
next unless length("$v$l");
push @out, "$v$l$d";
}
return join $delim, @out;
}
EOR
You can’t perform that action at this time.