Revision: 57241
          http://sourceforge.net/p/brlcad/code/57241
Author:   tbrowder2
Date:     2013-08-28 21:37:56 +0000 (Wed, 28 Aug 2013)
Log Message:
-----------
refactor attr listing into a local func

Modified Paths:
--------------
    brlcad/trunk/src/libged/attr.c

Modified: brlcad/trunk/src/libged/attr.c
===================================================================
--- brlcad/trunk/src/libged/attr.c      2013-08-28 21:28:37 UTC (rev 57240)
+++ brlcad/trunk/src/libged/attr.c      2013-08-28 21:37:56 UTC (rev 57241)
@@ -131,6 +131,22 @@
       return ATTR_UNKNOWN;
 }
 
+void
+_list_attrs(struct ged *gedp, struct bu_attribute_value_set *avs,
+           const int max_attr_name_len, const int max_attr_value_len)
+{
+    struct bu_attribute_value_pair *avpp;
+    size_t i;
+
+    for (i = 0, avpp = avs->avp; i < avs->count; i++, avpp++) {
+       bu_vls_printf(gedp->ged_result_str,
+                     "\t%-*.*s"
+                     "\t%-*.*s\n",
+                     max_attr_name_len, max_attr_name_len, avpp->name,
+                     max_attr_value_len, max_attr_value_len, avpp->value);
+    }
+}
+
 int
 ged_attr(struct ged *gedp, int argc, const char *argv[])
 {
@@ -187,6 +203,7 @@
     }
 
     scmd = _get_subcmd(argv[1]);
+
     if ((scmd == ATTR_SHOW && argc == 3) || scmd == ATTR_SORT) {
        /* get a jump on calculating name and value lengths */
        for (i = 0, avpp = avs.avp; i < avs.count; i++, avpp++) {
@@ -211,11 +228,7 @@
 
        if (argc == 3) {
            /* just list the already sorted attribute-value pairs */
-           for (i = 0, avpp = avs.avp; i < avs.count; i++, avpp++) {
-               bu_vls_printf(gedp->ged_result_str, "\t%-*.*s    %s\n",
-                             max_attr_name_len, max_attr_name_len,
-                             avpp->name, avpp->value);
-           }
+         _list_attrs(gedp, &avs, max_attr_name_len, max_attr_value_len);
        } else {
            /* argv[3] is the sort type: 'case', 'nocase', 'value', 
'value-nocase' */
            if (BU_STR_EQUAL(argv[3], NOCASE)) {
@@ -227,19 +240,13 @@
            } else if (BU_STR_EQUAL(argv[3], CASE)) {
              ; /* don't need to do anything since this is the existing 
(default) sort */
            }
-           /* now list all the attributes */
-           for (i = 0, avpp = avs.avp; i < avs.count; i++, avpp++) {
-               bu_vls_printf(gedp->ged_result_str, "\t%-*.*s    %s\n",
-                             max_attr_name_len, max_attr_name_len,
-                             avpp->name, avpp->value);
-           }
+           /* just list the already sorted attribute-value pairs */
+           _list_attrs(gedp, &avs, max_attr_name_len, max_attr_value_len);
        }
     } else if (scmd == ATTR_GET) {
        if (argc == 3) {
            /* just list all the attributes */
-           for (i = 0, avpp = avs.avp; i < avs.count; i++, avpp++) {
-               bu_vls_printf(gedp->ged_result_str, "%s {%s} ", avpp->name, 
avpp->value);
-           }
+           _list_attrs(gedp, &avs, max_attr_name_len, max_attr_value_len);
        } else {
            const char *val;
            int do_separators=argc-4; /* if more than one attribute */
@@ -357,11 +364,7 @@
 
        if (argc == 3) {
            /* just display all attributes */
-           for (i = 0, avpp = avs.avp; i < avs.count; i++, avpp++) {
-               bu_vls_printf(gedp->ged_result_str, "\t%-*.*s    %s\n",
-                             max_attr_name_len, max_attr_name_len,
-                             avpp->name, avpp->value);
-           }
+           _list_attrs(gedp, &avs, max_attr_name_len, max_attr_value_len);
        } else {
            const char *val;
            int len;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to