summaryrefslogtreecommitdiff
path: root/src/cnode
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2011-05-20 09:42:14 -0700
committerAn-Cheng Huang <ancheng@vyatta.com>2011-05-20 09:42:14 -0700
commit6e5d5813b296a08aead2bb92591ddedf88483c1b (patch)
tree941ca297a688f918a325449fa6e12eccbb81f449 /src/cnode
parentd8527cba4e371552991f435e97aa02e05501f064 (diff)
downloadvyatta-cfg-6e5d5813b296a08aead2bb92591ddedf88483c1b.tar.gz
vyatta-cfg-6e5d5813b296a08aead2bb92591ddedf88483c1b.zip
update comment, fix typo, etc.
Diffstat (limited to 'src/cnode')
-rw-r--r--src/cnode/cnode-algorithm.hpp5
-rw-r--r--src/cnode/cnode.cpp15
2 files changed, 18 insertions, 2 deletions
diff --git a/src/cnode/cnode-algorithm.hpp b/src/cnode/cnode-algorithm.hpp
index 509f875..d17204f 100644
--- a/src/cnode/cnode-algorithm.hpp
+++ b/src/cnode/cnode-algorithm.hpp
@@ -67,6 +67,11 @@ void showConfig(const std::string& cfg1, const std::string& cfg2,
bool hide_secret = false, bool context_diff = false,
bool show_cmds = false, bool ignore_edit = false);
+/* these functions provide the functionality necessary for the "config
+ * file" shell API. basically the API uses the "cparse" interface to
+ * parse a config file into a CfgNode tree structure, and then these
+ * functions can be used to access the nodes in the tree.
+ */
CfgNode *findCfgNode(CfgNode *root, const cstore::Cpath& path,
bool& is_value);
CfgNode *findCfgNode(CfgNode *root, const cstore::Cpath& path);
diff --git a/src/cnode/cnode.cpp b/src/cnode/cnode.cpp
index 279ee9a..70e14b8 100644
--- a/src/cnode/cnode.cpp
+++ b/src/cnode/cnode.cpp
@@ -62,8 +62,19 @@ CfgNode::CfgNode(Cpath& path_comps, char *name, char *val, char *comment,
_is_value = (getTmpl()->isValue() && !_is_leaf);
_is_multi = getTmpl()->isMulti();
- /* XXX given the current definition of "default", the concept of
- * "default" doesn't really apply to config files.
+ /* XXX given the current definition of "default" (i.e., the
+ * "post-bug 1219" definition), the concept of "default" doesn't
+ * really apply to config files. however, if in the future we
+ * do go back to the original, simpler definition of "default"
+ * (which IMO is the right thing to do), the "default handling"
+ * here and elsewhere in the backend library will need to be
+ * revamped.
+ *
+ * in fact, in that case pretty much the only place that need to
+ * worry about "default" is in the "output" (i.e., "show")
+ * processing, and even there the only thing that needs to be
+ * done is to compare the current value with the "default value"
+ * in the template.
*/
_is_default = false;
_is_deactivated = deact;