Changeset 2988aec7 in mainline for uspace/app/bithenge/transform.c
- Timestamp:
- 2012-08-14T03:17:17Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade
- Children:
- 71b0d4d4
- Parents:
- 1b6b76d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bithenge/transform.c
r1b6b76d r2988aec7 477 477 }; 478 478 479 /** Set the subtransform of a barrier transform. This must be done before the 480 * barrier transform is used. Takes a reference to @a transform. 481 * @param base The barrier transform. 482 * @param transform The subtransform to use for all operations. 483 * @return EOK on success or an error code from errno.h. */ 484 int bithenge_barrier_transform_set_subtransform(bithenge_transform_t *base, 485 bithenge_transform_t *transform) 486 { 487 assert(transform); 488 assert(bithenge_transform_num_params(transform) == 0); 489 490 barrier_transform_t *self = transform_as_barrier(base); 491 assert(!self->transform); 492 self->transform = transform; 493 return EOK; 494 } 495 479 496 /** Create a wrapper transform that creates a new scope. This ensures nothing 480 497 * from the outer scope is passed in, other than parameters. The wrapper may 481 * have a different value for num_params. T akes a reference to @a transform,482 * which it will use for all operations.498 * have a different value for num_params. The subtransform must be set with @a 499 * bithenge_barrier_transform_set_subtransform before the result is used. 483 500 * @param[out] out Holds the created transform. 484 * @param transform The transform to wrap.485 501 * @param num_params The number of parameters to require, which may be 0. 486 502 * @return EOK on success or an error code from errno.h. */ 487 int bithenge_new_barrier_transform(bithenge_transform_t **out, 488 bithenge_transform_t *transform, int num_params) 489 { 490 assert(transform); 491 assert(bithenge_transform_num_params(transform) == 0); 492 503 int bithenge_new_barrier_transform(bithenge_transform_t **out, int num_params) 504 { 493 505 int rc; 494 506 barrier_transform_t *self = malloc(sizeof(*self)); … … 501 513 if (rc != EOK) 502 514 goto error; 503 self->transform = transform;515 self->transform = NULL; 504 516 *out = barrier_as_transform(self); 505 517 return EOK; 506 518 error: 507 bithenge_transform_dec_ref(transform);508 519 free(self); 509 520 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.