62 val = realloc (ptr,
size);
78 if (number == 0 ||
size == 0)
84 mem = calloc (number,
size);
112 va_start (args, format);
122 int status = vasprintf (&ret, format, ap);
128 if (ret == NULL ||
status < 0)
139 va_start (args, format);
140 ret = vsnprintf (str,
size, format, args);
156 size = vsnprintf (NULL, 0, fmt, vp);
164 vsprintf (&str[0], fmt, vp);
179 size = vsnprintf (NULL, 0, fmt, vp);
186 vsprintf (&str[0], fmt, args);
214 grow_size = vsnprintf (NULL, 0, fmt, vp);
217 size_t curr_size = str.size ();
218 str.resize (curr_size + grow_size);
222 vsprintf (&str[curr_size], fmt, args);
228 char *p = (
char *)
xmalloc (len + 1);
230 memcpy (p, ptr, len);
238 #define HIGH_BYTE_POSN ((sizeof (ULONGEST) - 1) * HOST_CHAR_BIT) 246 if (!isalnum (digit))
249 return (isdigit (digit) && digit < base +
'0');
251 return (isdigit (digit) || tolower (digit) < base - 10 +
'a');
260 return tolower (c) -
'a' + 10;
266 strtoulst (
const char *num,
const char **trailer,
int base)
268 unsigned int high_part;
274 while (isspace (num[i]))
280 else if (num[i] ==
'-')
286 if (base == 0 || base == 16)
288 if (num[i] ==
'0' && (num[i + 1] ==
'x' || num[i + 1] ==
'X'))
296 if (base == 0 && num[i] ==
'0')
302 if (base < 2 || base > 36)
308 result = high_part = 0;
312 high_part = high_part * base + (
unsigned int) (result >>
HIGH_BYTE_POSN);
314 if (high_part > 0xff)
341 while (*chp && isspace (*chp))
353 while (*chp && isspace (*chp))
365 while (*chp && !isspace (*chp))
396 if (!args.empty () && args[0] != NULL)
406 ret.erase (ret.end () - 1);
std::string stringify_argv(const std::vector< char *> &args)
char * xstrvprintf(const char *format, va_list ap)
static int digit_to_int(unsigned char c)
static int is_digit_in_base(unsigned char digit, int base)
void internal_error(const char *file, int line, const char *fmt,...)
char * skip_spaces(char *chp)
void string_appendf(std::string &str, const char *fmt,...)
std::string string_vprintf(const char *fmt, va_list args)
void * xzalloc(size_t size)
void free_vector_argv(std::vector< char *> &v)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
const char * skip_to_space(const char *chp)
ULONGEST strtoulst(const char *num, const char **trailer, int base)
char * xstrprintf(const char *format,...)
void xmalloc_failed(size_t size)
void string_vappendf(std::string &str, const char *fmt, va_list args)
PTR xrealloc(PTR ptr, size_t size)
int xsnprintf(char *str, size_t size, const char *format,...)
std::string string_printf(const char *fmt,...)
unsigned long long ULONGEST
char * savestring(const char *ptr, size_t len)
PTR xcalloc(size_t number, size_t size)
void malloc_failure(long size) ATTRIBUTE_NORETURN