From 98269b6d64f26d1e8f22f3d8fddd30393f009e17 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 13 Feb 2026 08:40:46 +0900 Subject: [Feature #21796] unpack variant `^` that returns the final offset (#15647) [Feature #21796] unpack variant `^` that returns the current offset --- pack.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pack.c') diff --git a/pack.c b/pack.c index d2fb4f633f..f956e686e3 100644 --- a/pack.c +++ b/pack.c @@ -1570,6 +1570,10 @@ pack_unpack_internal(VALUE str, VALUE fmt, enum unpack_mode mode, long offset) s += len; break; + case '^': + UNPACK_PUSH(SSIZET2NUM(s - RSTRING_PTR(str))); + break; + case 'P': if (sizeof(char *) <= (size_t)(send - s)) { VALUE tmp = Qnil; -- cgit v1.2.3