Lose ensure* stuff.

This commit is contained in:
Nicholas Marriott
2008-08-07 20:20:52 +00:00
parent 65833c2976
commit de0e1c6284
6 changed files with 47 additions and 96 deletions

View File

@ -1,4 +1,4 @@
/* $Id: xmalloc.c,v 1.5 2007-10-19 20:50:01 nicm Exp $ */
/* $Id: xmalloc.c,v 1.6 2008-08-07 20:20:52 nicm Exp $ */
/*
* Copyright (c) 2004 Nicholas Marriott <nicm@users.sourceforge.net>
@ -26,63 +26,6 @@
#include "tmux.h"
void *
ensure_for(void *buf, size_t *len, size_t size, size_t adj)
{
if (adj == 0)
fatalx("zero adj");
if (SIZE_MAX - size < adj)
fatalx("size + adj > SIZE_MAX");
size += adj;
if (*len == 0) {
*len = BUFSIZ;
buf = xmalloc(*len);
}
while (*len <= size) {
buf = xrealloc(buf, 2, *len);
*len *= 2;
}
return (buf);
}
void *
ensure_size(void *buf, size_t *len, size_t nmemb, size_t size)
{
if (nmemb == 0 || size == 0)
fatalx("zero size");
if (SIZE_MAX / nmemb < size)
fatalx("nmemb * size > SIZE_MAX");
if (*len == 0) {
*len = BUFSIZ;
buf = xmalloc(*len);
}
while (*len <= nmemb * size) {
buf = xrealloc(buf, 2, *len);
*len *= 2;
}
return (buf);
}
char *
xmemstrdup(const char *buf, size_t len)
{
char *s;
s = xmalloc(len + 1);
if (len > 0)
memcpy(s, buf, len);
s[len] = '\0';
return (s);
}
char *
xstrdup(const char *s)
{