Lines Matching refs:position
472 static uintptr_t ReadLong(char* buffer, intptr_t* position, int base) {
473 char* end_address = buffer + *position;
474 uintptr_t result = strtoul(buffer + *position, &end_address, base);
476 CHECK(end_address > buffer + *position);
477 *position = end_address - buffer;
503 intptr_t position = line_start;
504 uintptr_t start = ReadLong(buffer, &position, 16);
505 CHECK_EQ(buffer[position++], '-');
506 uintptr_t end = ReadLong(buffer, &position, 16);
507 CHECK_EQ(buffer[position++], ' ');
508 CHECK(buffer[position] == '-' || buffer[position] == 'r');
509 bool read_permission = (buffer[position++] == 'r');
510 CHECK(buffer[position] == '-' || buffer[position] == 'w');
511 bool write_permission = (buffer[position++] == 'w');
512 CHECK(buffer[position] == '-' || buffer[position] == 'x');
513 bool execute_permission = (buffer[position++] == 'x');
514 CHECK(buffer[position] == '-' || buffer[position] == 'p');
515 bool private_mapping = (buffer[position++] == 'p');
516 CHECK_EQ(buffer[position++], ' ');
517 uintptr_t offset = ReadLong(buffer, &position, 16);
519 CHECK_EQ(buffer[position++], ' ');
520 uintptr_t major = ReadLong(buffer, &position, 16);
522 CHECK_EQ(buffer[position++], ':');
523 uintptr_t minor = ReadLong(buffer, &position, 16);
525 CHECK_EQ(buffer[position++], ' ');
526 uintptr_t inode = ReadLong(buffer, &position, 10);
527 while (position < length && buffer[position] != '\n') position++;
533 line_start = position;