Keith, I made some string handling changes, but I'm not sure from your
code what you expect the "%*s" format specifier to do. Original code:
bu_vls_printf(&top_vls, "%*s", cp - bu_vls_addr(&dmp->dm_pathName),
bu_vls_addr(&dmp->dm_pathName));
Changed code:
bu_vls_strncpy(&top_vls, (const char
*)bu_vls_addr(&dmp->dm_pathName),
cp - bu_vls_addr(&dmp->dm_pathName));
The '*' (by my reading of 'man fprintf') says that the first argument
should be an int that assigns the minimum field width for the incoming
string. If the string is longer, the field will be expanded to fit
the string. If the string is longer, the field will be padded on the
right with sufficient spaces to fill the field.
Is that what you expect? If that is so, can you show the problem you
are seeing (and I will make it a test case and fix it if necessary)?
(For instance, you may need to cast the first argument to an int.)
Best regards,
-Tom
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel