Thread (94 messages) 94 messages, 4 authors, 2021-01-14

Re: [PATCH 18/20] pack-revindex: remove unused 'find_revindex_position()'

From: Derrick Stolee <hidden>
Date: 2021-01-11 17:12:11

On 1/11/2021 11:27 AM, Taylor Blau wrote:
On Mon, Jan 11, 2021 at 06:57:00AM -0500, Derrick Stolee wrote:
quoted
Not that this is new to the current patch, but this patch made me
wonder if we should initialize *pos = -1 in the case of a failure
to find the position? A correct caller should not use the value
if they are checking for the fail-to-find case properly. But, I
could see someone making a mistake and having trouble diagnosing
the problem because their position variable was initialized to
zero or a previous successful case.
*pos = -1 may be more confusing than clarifying since pos is unsigned.
RIGHT. My bad.
It would be nice if there was a clear signal beyond returning a negative
value. I guess you could take a double pointer here which would allow
you to assign NULL, but that feels rather cumbersome as a means to catch
callers who failed to check the return value.

It does raise the argument of whether or not we should allow the
program to continue at all if 'ret < 0' (i.e., 'offset_to_pack_pos()'
either 'die()'s or returns a usable uint32_t), but I'm OK with the
current behavior.
I was thinking "*pos = -1" was a free way to "help" a developer
who uses the API incorrectly, but it's _not_ free. Ignore me.

Thanks,
-Stolee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help