1*4fc55e3eSMaxim Sobolev /*
2*4fc55e3eSMaxim Sobolev * Copyright (c) 2004-2016 Maxim Sobolev <sobomax@FreeBSD.org>
3*4fc55e3eSMaxim Sobolev * All rights reserved.
4*4fc55e3eSMaxim Sobolev *
5*4fc55e3eSMaxim Sobolev * Redistribution and use in source and binary forms, with or without
6*4fc55e3eSMaxim Sobolev * modification, are permitted provided that the following conditions
7*4fc55e3eSMaxim Sobolev * are met:
8*4fc55e3eSMaxim Sobolev * 1. Redistributions of source code must retain the above copyright
9*4fc55e3eSMaxim Sobolev * notice, this list of conditions and the following disclaimer.
10*4fc55e3eSMaxim Sobolev * 2. Redistributions in binary form must reproduce the above copyright
11*4fc55e3eSMaxim Sobolev * notice, this list of conditions and the following disclaimer in the
12*4fc55e3eSMaxim Sobolev * documentation and/or other materials provided with the distribution.
13*4fc55e3eSMaxim Sobolev *
14*4fc55e3eSMaxim Sobolev * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*4fc55e3eSMaxim Sobolev * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*4fc55e3eSMaxim Sobolev * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*4fc55e3eSMaxim Sobolev * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*4fc55e3eSMaxim Sobolev * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*4fc55e3eSMaxim Sobolev * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*4fc55e3eSMaxim Sobolev * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*4fc55e3eSMaxim Sobolev * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*4fc55e3eSMaxim Sobolev * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*4fc55e3eSMaxim Sobolev * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*4fc55e3eSMaxim Sobolev * SUCH DAMAGE.
25*4fc55e3eSMaxim Sobolev */
26*4fc55e3eSMaxim Sobolev
27*4fc55e3eSMaxim Sobolev #include <sys/cdefs.h>
28*4fc55e3eSMaxim Sobolev #include <stdint.h>
29*4fc55e3eSMaxim Sobolev #include <stdlib.h>
30*4fc55e3eSMaxim Sobolev
31*4fc55e3eSMaxim Sobolev #include "mkuzip.h"
32*4fc55e3eSMaxim Sobolev #include "mkuz_blk.h"
33*4fc55e3eSMaxim Sobolev
34*4fc55e3eSMaxim Sobolev struct mkuz_blk *
mkuz_blk_ctor(size_t blen)35*4fc55e3eSMaxim Sobolev mkuz_blk_ctor(size_t blen)
36*4fc55e3eSMaxim Sobolev {
37*4fc55e3eSMaxim Sobolev struct mkuz_blk *rval;
38*4fc55e3eSMaxim Sobolev
39*4fc55e3eSMaxim Sobolev rval = mkuz_safe_zmalloc(sizeof(struct mkuz_blk) + blen);
40*4fc55e3eSMaxim Sobolev rval->alen = blen;
41*4fc55e3eSMaxim Sobolev rval->br_offset = OFFSET_UNDEF;
42*4fc55e3eSMaxim Sobolev return (rval);
43*4fc55e3eSMaxim Sobolev }
44