hdf5 icon indicating copy to clipboard operation
hdf5 copied to clipboard

Change type of `offset` arg in `H5Pset_external` to `HDoff_t`

Open phil-opp opened this issue 1 year ago • 7 comments

Describe your changes

The off_t type is only 32-bit on Windows, which makes it impossible to link to higher offsets in large files.

The H5O_efl_entry_t struct defines its offset field already as HDoff_t, so no additional conversion is needed.,

Issue ticket number (GitHub or JIRA)

https://github.com/HDFGroup/hdf5/issues/3506

Checklist before requesting a review

  • [ ] My code conforms to the guidelines in CONTRIBUTING.md
  • [ ] I made an entry in release_docs/RELEASE.txt (bug fixes, new features)
  • [ ] I added a test (bug fixes, new features)

phil-opp avatar Sep 05 '23 12:09 phil-opp

I think we might need to version the function in order to change the API like this.

mkitti avatar Sep 06 '23 03:09 mkitti

Give us a little more time with this. We're thinking about ditching off_t entirely and moving to an unsigned integer.

derobins avatar Sep 14 '23 16:09 derobins

Sure, sounds good!

phil-opp avatar Sep 14 '23 17:09 phil-opp

Update: I'm starting to go through the library to make sure HDoff_t is used throughout. I think there's a few other internal changes we should also make. We have a lot of projects in motion right now, but I'll try to get the underlying work done in October so we can make this change.

derobins avatar Sep 29 '23 15:09 derobins

Update: The internal changes should be complete now. We're discussing how versioning is going to work for this.

derobins avatar Mar 12 '24 22:03 derobins

This can probably go in at this point, but we still use off_t in places like the tools and tests. Those will have to get fixed in the near future.

derobins avatar Mar 28 '24 18:03 derobins

FWIW, this API call will NOT be versioned. If we didn't version API calls that use hid_t when we updated that from int to int64, we don't need to version this one.

derobins avatar Mar 28 '24 18:03 derobins