+ string devname = string(p_buf);
+
+ int dup = 0;
+ /* find out if this name is already used by a previously found device */
+ list<string>::const_iterator iter = devicelist.begin();
+ list<string>::const_iterator end = devicelist.end();
+ while ( iter != end )
+ {
+ if( 0 == (*iter).compare(0, devname.size(), devname) )
+ ++dup;
+ ++iter;
+ }
+ if( dup )
+ {
+ /* we have a duplicate device name, append a sequence number to name
+ to provive a unique list back to the user */
+ char seq[16];
+ sprintf(seq, " #%d", dup);
+ devname.append(seq);
+ }
+ devicelist.push_back( devname );