fixed issue with invalid devices; refs #30
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/pcsc.hxx
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/pcsc.hxx
									
									
									
									
									
								
							| @@ -486,13 +486,20 @@ namespace pcsc { | ||||
|           @returns list of readers that contain @c atr in their ATR */ | ||||
|       static Strings getReadersWithAtr(const std::string& atr, | ||||
|                                        Scope s=USER, bool exceptions=true) { | ||||
|         CRYPTOLOG("getting all readers with atr: "<<atr); | ||||
|         Connection c(s, exceptions); | ||||
|         Strings res; | ||||
|         pcsc::Connection::Strings readers(c.scan()); | ||||
|         for (pcsc::Connection::Strings::const_iterator it(readers.begin()); | ||||
|              it!=readers.end(); ++it)  | ||||
|           if (crypto::hex(c.reader(*it)->status().atr).find(atr)!=string::npos) | ||||
|             res.push_back(*it); | ||||
|              it!=readers.end(); ++it) | ||||
|           try { | ||||
|             if (crypto::hex(c.reader(*it)->status().atr).find(atr) | ||||
|                 !=string::npos) | ||||
|               CRYPTOLOG("found reader: "<<*it); | ||||
|               res.push_back(*it); | ||||
|           } catch (std::exception& x) { // ignore unusable readers | ||||
|             CRYPTOLOG("ignored unusable reader: "<<x.what()); | ||||
|           } | ||||
|         return res; | ||||
|       } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user