summaryrefslogtreecommitdiffstats
path: root/etc/inc/xmlreader.inc
diff options
context:
space:
mode:
authorDarren Embry <dse@webonastick.com>2012-05-17 17:30:24 -0400
committerDarren Embry <dse@webonastick.com>2012-05-17 17:30:24 -0400
commit428c289fb4c69a08f6ff1babc049b64c7398daf4 (patch)
tree61aa1e13c42acf87642f58fb70513d99214fb88b /etc/inc/xmlreader.inc
parentff9fbc7b3cc0d61837069681060cf8a8396f5b73 (diff)
downloadpfsense-428c289fb4c69a08f6ff1babc049b64c7398daf4.zip
pfsense-428c289fb4c69a08f6ff1babc049b64c7398daf4.tar.gz
allow null to be passed as 2nd arg to parse_config_xml*
in which case entire config is returned
Diffstat (limited to 'etc/inc/xmlreader.inc')
-rw-r--r--etc/inc/xmlreader.inc18
1 files changed, 11 insertions, 7 deletions
diff --git a/etc/inc/xmlreader.inc b/etc/inc/xmlreader.inc
index 1caa6ea..96353d2 100644
--- a/etc/inc/xmlreader.inc
+++ b/etc/inc/xmlreader.inc
@@ -128,13 +128,17 @@ function parse_xml_config_raw($cffile, $rootobj, $isstring = "false") {
} else
log_error(sprintf(gettext("Error returned while trying to parse %s"), $cffile));
- if (!is_array($rootobj))
- $rootobj = array($rootobj);
- foreach ($rootobj as $rootobj_name)
- if ($parsedcfg[$rootobj_name])
- break;
-
- return $parsedcfg[$rootobj_name];
+ if ($rootobj) {
+ if (!is_array($rootobj))
+ $rootobj = array($rootobj);
+ foreach ($rootobj as $rootobj_name)
+ if ($parsedcfg[$rootobj_name])
+ break;
+
+ return $parsedcfg[$rootobj_name];
+ } else {
+ return $parsedcfg;
+ }
}
function dump_xml_config_sub(& $writer, $arr) {
OpenPOWER on IntegriCloud