X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Fecoli_vec.c;h=fe8c5722fd51dd7ca47fcb48806ea14d656ae15e;hb=39a8be563b6f1cb25bd9158bb7c48979f7b98290;hp=b3249b5e915ca73a5ab758acac64baa212716f52;hpb=db06c7c61c5b3f40ca5a145b6842b25b550b30af;p=protos%2Flibecoli.git diff --git a/lib/ecoli_vec.c b/lib/ecoli_vec.c index b3249b5..fe8c572 100644 --- a/lib/ecoli_vec.c +++ b/lib/ecoli_vec.c @@ -1,28 +1,5 @@ -/* - * Copyright (c) 2016, Olivier MATZ - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the University of California, Berkeley nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2016, Olivier MATZ */ #include @@ -32,6 +9,7 @@ #include #include +#include #include #include #include @@ -61,7 +39,7 @@ ec_vec(size_t elt_size, size_t size, ec_vec_elt_copy_t copy, struct ec_vec *vec; if (elt_size == 0) { - errno = -EINVAL; + errno = EINVAL; return NULL; } @@ -92,11 +70,11 @@ int ec_vec_add_by_ref(struct ec_vec *vec, void *ptr) if (vec->len + 1 > vec->size) { new_vec = ec_realloc(vec->vec, vec->elt_size * (vec->len + 1)); if (new_vec == NULL) - return -ENOMEM; + return -1; vec->size = vec->len + 1; + vec->vec = new_vec; } - vec->vec = new_vec; memcpy(get_obj(vec, vec->len), ptr, vec->elt_size); vec->len++; @@ -105,40 +83,35 @@ int ec_vec_add_by_ref(struct ec_vec *vec, void *ptr) int ec_vec_add_ptr(struct ec_vec *vec, void *elt) { - if (vec->elt_size != sizeof(elt)) - return -EINVAL; + EC_CHECK_ARG(vec->elt_size == sizeof(elt), -1, EINVAL); return ec_vec_add_by_ref(vec, &elt); } int ec_vec_add_u8(struct ec_vec *vec, uint8_t elt) { - if (vec->elt_size != sizeof(elt)) - return -EINVAL; + EC_CHECK_ARG(vec->elt_size == sizeof(elt), -1, EINVAL); return ec_vec_add_by_ref(vec, &elt); } int ec_vec_add_u16(struct ec_vec *vec, uint16_t elt) { - if (vec->elt_size != sizeof(elt)) - return -EINVAL; + EC_CHECK_ARG(vec->elt_size == sizeof(elt), -1, EINVAL); return ec_vec_add_by_ref(vec, &elt); } int ec_vec_add_u32(struct ec_vec *vec, uint32_t elt) { - if (vec->elt_size != sizeof(elt)) - return -EINVAL; + EC_CHECK_ARG(vec->elt_size == sizeof(elt), -1, EINVAL); return ec_vec_add_by_ref(vec, &elt); } int ec_vec_add_u64(struct ec_vec *vec, uint64_t elt) { - if (vec->elt_size != sizeof(elt)) - return -EINVAL; + EC_CHECK_ARG(vec->elt_size == sizeof(elt), -1, EINVAL); return ec_vec_add_by_ref(vec, &elt); }