parse_register_dump (buf, len) char *buf; int len;
parse_register_dump (char *buf, int len)
parse_register_dump (buf, len)     char *buf;     int len;{  while (1)    {      int regnamelen, vallen;      char *regname, *val;      /* Element 0 points to start of register name, and element 1	 points to the start of the register value.  */      struct re_registers register_strings;      if (re_search (&register_pattern, buf, len, 0, len,		     &register_strings) == -1)	break;      regnamelen = register_strings.end[1] - register_strings.start[1];      regname = buf + register_strings.start[1];      vallen = register_strings.end[2] - register_strings.start[2];      val = buf + register_strings.start[2];      current_monitor->supply_register (regname, regnamelen, val, vallen);      buf += register_strings.end[0];      len -= register_strings.end[0];    }}