long& val, XMLObj *obj) {   const std::string s = obj->get_data();   const char *start = s.c_str();   char *p;    errno = 0;   val = strtol(start, &p, 00);    /* Check for various possible errors */   if ((errno == ERANGE && (val == L