[Mesa-dev] [PATCH] blob: Use intptr_t instead of ssize_t

Jason Ekstrand jason at jlekstrand.net
Fri Oct 13 17:44:37 UTC 2017


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.

Cc: Jose Fonseca <jfonseca at vmware.com>
Cc: Vinson Lee <vlee at freedesktop.org>
Fixes: 3af1c829891a4530682bce113fdd512d4f2de3c6
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103253
---
 src/compiler/blob.c                   | 8 ++++----
 src/compiler/blob.h                   | 6 +++---
 src/intel/vulkan/anv_pipeline_cache.c | 2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/compiler/blob.c b/src/compiler/blob.c
index f0fa85e..8dd254f 100644
--- a/src/compiler/blob.c
+++ b/src/compiler/blob.c
@@ -158,10 +158,10 @@ blob_write_bytes(struct blob *blob, const void *bytes, size_t to_write)
    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;
@@ -172,14 +172,14 @@ blob_reserve_bytes(struct blob *blob, size_t to_write)
    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));
diff --git a/src/compiler/blob.h b/src/compiler/blob.h
index f0f28ec..2b975d4 100644
--- a/src/compiler/blob.h
+++ b/src/compiler/blob.h
@@ -135,7 +135,7 @@ blob_write_bytes(struct blob *blob, const void *bytes, size_t to_write);
  * \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);
 
 /**
@@ -143,7 +143,7 @@ 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);
 
 /**
@@ -151,7 +151,7 @@ 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);
 
 /**
diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c
index ad9c810..82551e9 100644
--- a/src/intel/vulkan/anv_pipeline_cache.c
+++ b/src/intel/vulkan/anv_pipeline_cache.c
@@ -449,7 +449,7 @@ VkResult anv_GetPipelineCacheData(
    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);
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list