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