Thread (1 message) 1 message, 1 author, 2025-09-21

Re: [PATCH 1/3] http: offer to cast `size_t` to `curl_off_t` safely

From: Junio C Hamano <hidden>
Date: 2025-09-21 14:52:57

"Johannes Schindelin via GitGitGadget" [off-list ref]
writes:
From: Johannes Schindelin <redacted>

This commit moves the `xcurl_off_t()` function, which validates that a
given value fits within the `curl_off_t` data type and then casts it, to
a more central place so that it can be used outside of `remote-curl.c`,
too.

At the same time, this function is renamed to conform better with the
naming convention of the helper functions that safely cast from one data
type to another which has been well established in `git-compat-util.h`.
OK.  The code inside the renamed function is the same with an
updated message to show the value.
With this move, the error message can unfortunately no longer be renamed
because the `_(...)` function is not available at the time of
definition.
It is not clear to me what change (or lack thereof?) in this patch
this paragraph refers to.  Who wants to rename what error message
and why?
Signed-off-by: Johannes Schindelin <redacted>
---
 http.h        | 10 ++++++++++
 remote-curl.c | 14 +++-----------
 2 files changed, 13 insertions(+), 11 deletions(-)
Thanks; will queue.
+static inline curl_off_t cast_size_t_to_curl_off_t(size_t a)
+{
+	uintmax_t size = a;
+	if (size > maximum_signed_value_of_type(curl_off_t))
+		die(_("number too large to represent as curl_off_t "
+		      "on this platform: %"PRIuMAX), (uintmax_t)a);
+	return (curl_off_t)a;
+}
+
-static curl_off_t xcurl_off_t(size_t len)
-{
-	uintmax_t size = len;
-	if (size > maximum_signed_value_of_type(curl_off_t))
-		die(_("cannot handle pushes this big"));
-	return (curl_off_t)size;
-}
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help