diff --git a/src/sys.c b/src/sys.c index d426e4cbc9a73..3295cc327a4dd 100644 --- a/src/sys.c +++ b/src/sys.c @@ -631,9 +631,9 @@ JL_DLLEXPORT long jl_SC_CLK_TCK(void) JL_DLLEXPORT size_t jl_get_field_offset(jl_datatype_t *ty, int field) { - if (field > jl_datatype_nfields(ty)) + if (field > jl_datatype_nfields(ty) || field < 1) jl_error("This type does not have that many fields"); - return jl_field_offset(ty, field); + return jl_field_offset(ty, field-1); } JL_DLLEXPORT size_t jl_get_alignment(jl_datatype_t *ty)