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