diff options
author | Jens Georg <mail@jensge.org> | 2014-11-17 18:08:04 +0100 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2014-11-24 20:55:49 +0100 |
commit | 221b6e7ac334623d7ee4959daa5302b55c204f0a (patch) | |
tree | 44a3106f41e02b2eed0957220494d6a4a73deb03 | |
parent | 226ec708c2ded87872fdcec35b373e0db6580431 (diff) | |
download | rygel-221b6e7ac334623d7ee4959daa5302b55c204f0a.tar.gz |
core: Use early exit pattern
Reduce indentation level by leaving the function as early as possible.
Signed-off-by: Jens Georg <mail@jensge.org>
-rw-r--r-- | src/librygel-core/rygel-description-file.vala | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/src/librygel-core/rygel-description-file.vala b/src/librygel-core/rygel-description-file.vala index 52ab8c1a..e54e293e 100644 --- a/src/librygel-core/rygel-description-file.vala +++ b/src/librygel-core/rygel-description-file.vala @@ -273,8 +273,8 @@ public class Rygel.DescriptionFile : Object { // Add X_DLNADOC element that holds LPE capability // in the device template this.add_dlna_doc_element (X_DLNADOC_LPE_XPATH, - X_DLNADOC_NON_DEVCAP_XPATH, - LPE_DEV_CAP); + X_DLNADOC_NON_DEVCAP_XPATH, + LPE_DEV_CAP); } else { // Remove X_DLNADOC element that holds LPE capability // in the device template if it is disabled @@ -304,52 +304,57 @@ public class Rygel.DescriptionFile : Object { // Check if the X_DLNADOC node has already dev_cap // dlnadoc_xpath checks for a X_DLNADOC element that contains a // capablity. We can return if that's the case. - if (!this.apply_xpath (dlnadoc_xpath, null)) { - // Get all X_DLNADOC node and extract the 'capability host & version' - if (this.apply_xpath (dlnadoc_non_xpath, out dlna_doc_object)) { - for (var i = 0; i < dlna_doc_object->nodesetval->length (); i++) { - var node = dlna_doc_object->nodesetval->item (i); - var node_content = node->get_content (); - var doc_index = node_content.last_index_of ("/"); - string devcap_content; - - // Add X_DLNADOC sibbling element for - // each unique capability-host - var device = this.get_device_element (); - var devcap_element = device->new_child (node->ns, - X_DLNADOC_NODE); - if (doc_index != -1) { - devcap_content = node_content[doc_index+1:node_content.length]; - } else { - devcap_content = node_content; - } - debug (dev_cap + "/" + devcap_content); - devcap_element->set_content (dev_cap + - "/" + - devcap_content); - node->add_next_sibling (devcap_element); - } + if (this.apply_xpath (dlnadoc_xpath, null)) { + return; + } + + // Get all X_DLNADOC node and extract the 'capability host & version' + if (!this.apply_xpath (dlnadoc_non_xpath, out dlna_doc_object)) { + return; + } - delete dlna_doc_object; + for (var i = 0; i < dlna_doc_object->nodesetval->length (); i++) { + var node = dlna_doc_object->nodesetval->item (i); + var node_content = node->get_content (); + var doc_index = node_content.last_index_of ("/"); + string devcap_content; + + // Add X_DLNADOC sibbling element for + // each unique capability-host + var device = this.get_device_element (); + var devcap_element = device->new_child (node->ns, X_DLNADOC_NODE); + if (doc_index != -1) { + devcap_content = node_content[doc_index+1:node_content.length]; + } else { + devcap_content = node_content; } + debug (dev_cap + "/" + devcap_content); + devcap_element->set_content (dev_cap + "/" + devcap_content); + node->add_next_sibling (devcap_element); } + + delete dlna_doc_object; } // Remove the X_DLNADOC element with DEV CAP if disabled. public void remove_dlna_doc_element (string dlnadoc_xpath) { Xml.XPath.Object* devcap_object = null; - if (this.apply_xpath (dlnadoc_xpath, out devcap_object)) { - for (int i=0; i < devcap_object->nodesetval->length(); i++) { - Xml.Node* node = devcap_object->nodesetval->item (i); - if (node != null) { - node->unlink (); + if (!this.apply_xpath (dlnadoc_xpath, out devcap_object)) { + return; + } - delete node; - } + for (var i = 0; i < devcap_object->nodesetval->length (); i++) { + var node = devcap_object->nodesetval->item (i); + if (node == null) { + continue; } - delete devcap_object; + node->unlink (); + + delete node; } + + delete devcap_object; } private Xml.Node* get_device_element () { |