7df6e18265341f87a69fba808aa1f92f8ebca841 markd Wed Apr 15 13:39:42 2026 -0700 move copy of htslib diff --git src/htslib/cram/pooled_alloc.h src/htslib/cram/pooled_alloc.h deleted file mode 100644 index e19e320e9cf..00000000000 --- src/htslib/cram/pooled_alloc.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright (c) 2009 Genome Research Ltd. -Author: Rob Davies <rmd@sanger.ac.uk> - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - - 2. 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. - - 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger -Institute 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 GENOME RESEARCH LTD 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 GENOME RESEARCH LTD OR 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. -*/ - -#ifndef _POOLED_ALLOC_H_ -#define _POOLED_ALLOC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Implements a pooled block allocator where all items are the same size, - * but we need many of them. - */ -typedef struct { - void *pool; - size_t used; -} pool_t; - -typedef struct { - size_t dsize; - size_t psize; - size_t npools; - pool_t *pools; - void *free; -} pool_alloc_t; - -pool_alloc_t *pool_create(size_t dsize); -void pool_destroy(pool_alloc_t *p); -void *pool_alloc(pool_alloc_t *p); -void pool_free(pool_alloc_t *p, void *ptr); - -#ifdef __cplusplus -} -#endif - -#endif /*_POOLED_ALLOC_H_*/