From 0746ac5aa96958870d2dbf8cb13f603fd1d8600a Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Sun, 1 Mar 2009 14:26:02 +0000 Subject: dahdi-perl: more defensive coding and some docs git-svn-id: http://svn.asterisk.org/svn/dahdi/tools/trunk@6056 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- xpp/dahdi_drivers | 14 ++++++++++++++ xpp/perl_modules/Dahdi/Config/Gen.pm | 3 ++- xpp/perl_modules/Dahdi/Config/Gen/Users.pm | 3 ++- xpp/perl_modules/Dahdi/Config/GenconfDefaults.pm | 13 ++++++++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/xpp/dahdi_drivers b/xpp/dahdi_drivers index add8374..857324e 100755 --- a/xpp/dahdi_drivers +++ b/xpp/dahdi_drivers @@ -7,3 +7,17 @@ use Dahdi::Hardware; my $hardware = Dahdi::Hardware->scan; print join("\n", $hardware->drivers),"\n"; +__END__ + +=head1 NAME + +dahdi_drivers - Show drivers required for installed dahdi devices. + +=head1 SYNOPSIS + +dahdi_drivers + +=head1 DESCRIPTION + +This script shows by default the list of drivers required for currently +installed dahdi devices. diff --git a/xpp/perl_modules/Dahdi/Config/Gen.pm b/xpp/perl_modules/Dahdi/Config/Gen.pm index 01d602d..556e193 100644 --- a/xpp/perl_modules/Dahdi/Config/Gen.pm +++ b/xpp/perl_modules/Dahdi/Config/Gen.pm @@ -7,7 +7,8 @@ require Exporter; use strict; sub is_true($) { - my $val = shift || die; + my $val = shift; + return undef unless defined $val; return $val =~ /^(1|y|yes)$/i; } diff --git a/xpp/perl_modules/Dahdi/Config/Gen/Users.pm b/xpp/perl_modules/Dahdi/Config/Gen/Users.pm index 7d29a80..36c2e65 100644 --- a/xpp/perl_modules/Dahdi/Config/Gen/Users.pm +++ b/xpp/perl_modules/Dahdi/Config/Gen/Users.pm @@ -171,6 +171,7 @@ users - Generate configuration for users.conf. =head1 DESCRIPTION -Generate the F which is used by asterisk(1) and AsteriskGUI. +Generate the F which is used by asterisk(1) +and AsteriskGUI. Its location may be overriden via the environment variable F. diff --git a/xpp/perl_modules/Dahdi/Config/GenconfDefaults.pm b/xpp/perl_modules/Dahdi/Config/GenconfDefaults.pm index 2a43e8f..9b1ab6e 100644 --- a/xpp/perl_modules/Dahdi/Config/GenconfDefaults.pm +++ b/xpp/perl_modules/Dahdi/Config/GenconfDefaults.pm @@ -14,7 +14,14 @@ sub new($$) { my $cfg_file = shift || die; my $self = { GENCONF_FILE => $cfg_file }; bless $self, $pack; - open(F, $cfg_file) || return $self; # Empty configuration + if(!open(F, $cfg_file)) { + if(defined($!{ENOENT})) { + #print STDERR "No $cfg_file. Assume empty config\n"; + return $self; # Empty configuration + } + die "$pack: Failed to open '$cfg_file': $!\n"; + } + #print STDERR "$pack: $cfg_file\n"; my $array_key; while() { my ($key, $val); @@ -43,11 +50,15 @@ sub new($$) { sub dump($) { my $self = shift || die; + print STDERR "Genconf dump:\n"; foreach my $k (sort keys %$self) { my $val = $self->{$k}; my $ref = ref $val; + #print STDERR "DEBUG: '$k', '$ref', '$val'\n"; if($ref eq '') { printf STDERR "%-20s %s\n", $k, $val; + } elsif($ref eq 'SCALAR') { + printf STDERR "%-20s %s\n", $k, ${$val}; } elsif($ref eq 'ARRAY') { printf STDERR "%s\n", $k; foreach my $v (@{$val}) { -- cgit v1.2.3