Lines Matching refs:position
407 static uintptr_t ReadLong(char* buffer, intptr_t* position, int base) {
408 char* end_address = buffer + *position;
409 uintptr_t result = strtoul(buffer + *position, &end_address, base);
411 CHECK(end_address > buffer + *position);
412 *position = end_address - buffer;
438 intptr_t position = line_start;
439 uintptr_t start = ReadLong(buffer, &position, 16);
440 CHECK_EQ(buffer[position++], '-');
441 uintptr_t end = ReadLong(buffer, &position, 16);
442 CHECK_EQ(buffer[position++], ' ');
443 CHECK(buffer[position] == '-' || buffer[position] == 'r');
444 bool read_permission = (buffer[position++] == 'r');
445 CHECK(buffer[position] == '-' || buffer[position] == 'w');
446 bool write_permission = (buffer[position++] == 'w');
447 CHECK(buffer[position] == '-' || buffer[position] == 'x');
448 bool execute_permission = (buffer[position++] == 'x');
449 CHECK(buffer[position] == '-' || buffer[position] == 'p');
450 bool private_mapping = (buffer[position++] == 'p');
451 CHECK_EQ(buffer[position++], ' ');
452 uintptr_t offset = ReadLong(buffer, &position, 16);
454 CHECK_EQ(buffer[position++], ' ');
455 uintptr_t major = ReadLong(buffer, &position, 16);
457 CHECK_EQ(buffer[position++], ':');
458 uintptr_t minor = ReadLong(buffer, &position, 16);
460 CHECK_EQ(buffer[position++], ' ');
461 uintptr_t inode = ReadLong(buffer, &position, 10);
462 while (position < length && buffer[position] != '\n') position++;
468 line_start = position;