From: Omar Polo Subject: Re: got patch: fseek -> fseeko To: Christian Weisgerber Cc: gameoftrees@openbsd.org Date: Sat, 14 May 2022 16:57:11 +0200 Christian Weisgerber wrote: > This switches the new got patch code from fseek(3) to the more > appropriate fseeko(3). > > patch.c: copypos, match are off_t > got-read-patch.c: linelen is ssize_t > > ok? sure, thanks! > "linelen * -1" is an odd idiom. Is that really clearer than > plain "-linelen"? no it's not, but i have to admit that I didn't know "-linelen" was a valid syntax. can you please fix that too while you're at it? thanks :) > PS: > I grepped the tree. Most other instances of fseek() are with offset > 0, so it doesn't matter. The only other ones are diff debug code > that isn't built, and in diff3.c, where the offsets are derived from > an int variable. > > > diff refs/heads/main refs/heads/fseeko > blob - 9a66825918efbd6b934add0ed0636e397fb31edd > blob + 10628c74cc337e81b5aebbdf5b19dea7cc134fb2 > --- lib/patch.c > +++ lib/patch.c > @@ -293,8 +293,8 @@ copy(FILE *tmp, FILE *orig, off_t copypos, off_t pos) > char buf[BUFSIZ]; > size_t len, r, w; > > - if (fseek(orig, copypos, SEEK_SET) == -1) > - return got_error_from_errno("fseek"); > + if (fseeko(orig, copypos, SEEK_SET) == -1) > + return got_error_from_errno("fseeko"); > > while (pos == -1 || copypos < pos) { > len = sizeof(buf); > @@ -359,8 +359,8 @@ locate_hunk(FILE *orig, struct got_patch_hunk *h, off_ > if (err == NULL) { > *pos = match; > *lineno = match_lineno; > - if (fseek(orig, match, SEEK_SET) == -1) > - err = got_error_from_errno("fseek"); > + if (fseeko(orig, match, SEEK_SET) == -1) > + err = got_error_from_errno("fseeko"); > } > > free(line); > @@ -491,8 +491,8 @@ patch_file(struct got_patch *p, const char *path, FILE > * try to apply the hunk again starting the search > * after the previous partial match. > */ > - if (fseek(orig, pos, SEEK_SET) == -1) { > - err = got_error_from_errno("fseek"); > + if (fseeko(orig, pos, SEEK_SET) == -1) { > + err = got_error_from_errno("fseeko"); > goto done; > } > linelen = getline(&line, &linesize, orig); > blob - 074b5cb8fcd2962ea86e2b829b0b0817f69b8835 > blob + 5d286961bc27941710301546fceaf741ea365831 > --- libexec/got-read-patch/got-read-patch.c > +++ libexec/got-read-patch/got-read-patch.c > @@ -181,8 +181,8 @@ find_patch(int *done, FILE *fp) > break; > > /* rewind to previous line */ > - if (fseek(fp, linelen * -1, SEEK_CUR) == -1) > - err = got_error_from_errno("fseek"); > + if (fseeko(fp, linelen * -1, SEEK_CUR) == -1) > + err = got_error_from_errno("fseeko"); > break; > } > } > @@ -351,8 +351,8 @@ parse_hunk(FILE *fp, int *done) > if (err) > goto done; > if (*done) { > - if (fseek(fp, linelen * -1, SEEK_CUR) == -1) > - err = got_error_from_errno("fseek"); > + if (fseeko(fp, linelen * -1, SEEK_CUR) == -1) > + err = got_error_from_errno("fseeko"); > goto done; > } >