ssize_t is a GNU extension and is not available on Windows or MacOS.
Instead, we use intptr_t which should be effectively equivalent and is
part of the C standard. This should fix the Windows and Mac OS builds.
Fixes: 3af1c829891a4530682bce113fdd512d4f2de3c6
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103253
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Tested-by: Vinson Lee <vlee@freedesktop.org>
return true;
}
-ssize_t
+intptr_t
blob_reserve_bytes(struct blob *blob, size_t to_write)
{
- ssize_t ret;
+ intptr_t ret;
if (! grow_to_fit (blob, to_write))
return -1;
return ret;
}
-ssize_t
+intptr_t
blob_reserve_uint32(struct blob *blob)
{
align_blob(blob, sizeof(uint32_t));
return blob_reserve_bytes(blob, sizeof(uint32_t));
}
-ssize_t
+intptr_t
blob_reserve_intptr(struct blob *blob)
{
align_blob(blob, sizeof(intptr_t));
* \return An offset to space allocated within \blob to which \to_write bytes
* can be written, (or -1 in case of any allocation error).
*/
-ssize_t
+intptr_t
blob_reserve_bytes(struct blob *blob, size_t to_write);
/**
* space. Note that this must be used if later reading with \sa
* blob_read_uint32, since it aligns the offset correctly.
*/
-ssize_t
+intptr_t
blob_reserve_uint32(struct blob *blob);
/**
* space. Note that this must be used if later reading with \sa
* blob_read_intptr, since it aligns the offset correctly.
*/
-ssize_t
+intptr_t
blob_reserve_intptr(struct blob *blob);
/**
blob_write_bytes(&blob, &header, sizeof(header));
uint32_t count = 0;
- ssize_t count_offset = blob_reserve_uint32(&blob);
+ intptr_t count_offset = blob_reserve_uint32(&blob);
if (count_offset < 0) {
*pDataSize = 0;
blob_finish(&blob);