data += strlen (data) + 1;
data += strlen ((char *) data) + 1;
process_extended_line_op (data, is_stmt, pointer_size)     unsigned char * data;     int is_stmt;     int pointer_size;{  unsigned char   op_code;  int             bytes_read;  unsigned int    len;  unsigned char * name;  unsigned long   adr;  len = read_leb128 (data, & bytes_read, 0);  data += bytes_read;  if (len == 0)    {      warn (_("badly formed extended line op encountered!"));      return bytes_read;    }  len += bytes_read;  op_code = * data ++;  printf (_("  Extended opcode %d: "), op_code);  switch (op_code)    {    case DW_LNE_end_sequence:      printf (_("End of Sequence\n\n"));      reset_state_machine (is_stmt);      break;    case DW_LNE_set_address:      adr = byte_get (data, pointer_size);      printf (_("set Address to 0x%lx\n"), adr);      state_machine_regs.address = adr;      break;    case DW_LNE_define_file:      printf (_("  define new File Table entry\n"));      printf (_("  Entry\tDir\tTime\tSize\tName\n"));      printf (_("   %d\t"), ++ state_machine_regs.last_file_entry);      name = data;      data += strlen (data) + 1;      printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));      data += bytes_read;      printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));      data += bytes_read;      printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));      printf (_("%s\n\n"), name);      break;    default:      printf (_("UNKNOWN: length %d\n"), len - bytes_read);      break;    }  return len;}