Thread
-
Re: POC: make mxidoff 64 bits
zengman <zengman@halodbtech.com> — 2025-12-30T01:49:36Z
Hi, I'm currently looking into the `SlruReadSwitchPageSlow` function and have a question regarding the expression `&state->buf.data + bytes_read` — I suspect the ampersand (&) here might be misused. Would you be able to help me verify this? ``` while (bytes_read < BLCKSZ) { ssize_t rc; rc = pg_pread(state->fd, &state->buf.data + bytes_read, BLCKSZ - bytes_read, offset); if (rc < 0) { if (errno == EINTR) continue; pg_fatal("could not read file \"%s\": %m", state->fn); } if (rc == 0) { /* unexpected EOF */ pg_log(PG_WARNING, "unexpected EOF reading file \"%s\" at offset %u, reading as zeros", state->fn, (unsigned int) offset); memset(&state->buf.data + bytes_read, 0, BLCKSZ - bytes_read); break; } bytes_read += rc; offset += rc; } ``` ``` rc = pg_pread(state->fd, &state->buf.data + bytes_read, BLCKSZ - bytes_read, offset); memset(&state->buf.data + bytes_read, 0, BLCKSZ - bytes_read); ``` -- Regards, Man Zeng www.openhalo.org