mrw string now throws exceptions, catch needed
This commit is contained in:
		@@ -9,6 +9,9 @@
 | 
			
		||||
    @license LGPL, see file <a href="license.html">COPYING</a>
 | 
			
		||||
 | 
			
		||||
    $Log$
 | 
			
		||||
    Revision 1.8  2004/12/20 13:22:25  marc
 | 
			
		||||
    mrw string now throws exceptions, catch needed
 | 
			
		||||
 | 
			
		||||
    Revision 1.7  2004/10/13 10:47:15  marc
 | 
			
		||||
    no more need for ldd in StackTrace, read from /proc/self/maps
 | 
			
		||||
 | 
			
		||||
@@ -257,14 +260,14 @@ mrw::StackTrace::BinFiles mrw::StackTrace::filename()
 | 
			
		||||
    std::ifstream is("/proc/self/maps");
 | 
			
		||||
    std::string s;
 | 
			
		||||
    std::string range, perm, x1, x2, size, lib;
 | 
			
		||||
    while (getline(is, s)) {
 | 
			
		||||
    while (getline(is, s)) try {
 | 
			
		||||
      range = perm = x1 = x2 = size = lib = "????";
 | 
			
		||||
      s>>range>>perm>>x1>>x2>>size>>lib;
 | 
			
		||||
      range.resize(range.find_first_not_of("0123456789abcdefABCDEF"));
 | 
			
		||||
      void* addr(0);
 | 
			
		||||
      range>>addr;
 | 
			
		||||
      if (lib.size() && addr>0) res<<BinFiles::value_type(lib, addr);
 | 
			
		||||
    }
 | 
			
		||||
    } catch (...) {} // ignore non matching lines
 | 
			
		||||
    return res;
 | 
			
		||||
  }
 | 
			
		||||
#   else
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user