mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 22:43:58 +00:00
Lose ensure* stuff.
This commit is contained in:
59
xmalloc.c
59
xmalloc.c
@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user