Initial skeleton.
[ashd.git] / lib / utils.c
CommitLineData
f0bbedf7
FT
1/*
2 ashd - A Sane HTTP Daemon
3 Copyright (C) 2008 Fredrik Tolf <fredrik@dolda2000.com>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#include <stdlib.h>
20
21#include <utils.h>
22
23void _sizebuf(struct buffer *buf, size_t wanted, size_t el)
24{
25 size_t n;
26
27 n = buf->s;
28 if(n == 0)
29 n = 1;
30 while(n < wanted)
31 n <<= 1;
32 if(n <= buf->s)
33 return;
34 if(buf->b != NULL)
35 buf->b = srealloc(buf->b, n * el);
36 else
37 buf->b = smalloc(n * el);
38 buf->s = n;
39}
40