Changeset 1923501 in mainline for uspace/app/bithenge/blob.c
- Timestamp:
- 2012-05-25T04:15:57Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ce683ed3
- Parents:
- 743ce51
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bithenge/blob.c
r743ce51 r1923501 84 84 } 85 85 86 static inline bithenge_sequential_blob_t *sequential_from_blob( 87 bithenge_blob_t *base) 88 { 89 return (bithenge_sequential_blob_t *)base; 90 } 91 92 static inline bithenge_blob_t *blob_from_sequential( 93 bithenge_sequential_blob_t *blob) 94 { 95 return &blob->base; 96 } 97 86 98 static int sequential_size(bithenge_blob_t *base, aoff64_t *size) 87 99 { 88 bithenge_sequential_blob_t *blob = (bithenge_sequential_blob_t *)base;100 bithenge_sequential_blob_t *blob = sequential_from_blob(base); 89 101 int rc; 90 102 if (blob->ops->size) { … … 108 120 char *buffer, aoff64_t *size) 109 121 { 110 bithenge_sequential_blob_t *blob = (bithenge_sequential_blob_t *)base;122 bithenge_sequential_blob_t *blob = sequential_from_blob(base); 111 123 aoff64_t end = offset + *size; 112 124 if (end > blob->data_size) { … … 124 136 static int sequential_destroy(bithenge_blob_t *base) 125 137 { 126 bithenge_sequential_blob_t *blob = (bithenge_sequential_blob_t *)base;138 bithenge_sequential_blob_t *blob = sequential_from_blob(base); 127 139 free(blob->buffer); 128 140 return blob->ops->destroy(blob); … … 151 163 // ops->size is optional 152 164 153 int rc = bithenge_new_random_access_blob(&blob->base, &sequential_ops); 165 int rc = bithenge_new_random_access_blob(blob_from_sequential(blob), 166 &sequential_ops); 154 167 if (rc != EOK) 155 168 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.