summaryrefslogtreecommitdiff
path: root/strdupa.h
blob: 00a94cb68aced74cc51eba28f08501143e13f4a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef __DDB_PLATFORM_H
#define __DDB_PLATFORM_H

#include <string.h>

#ifndef _GNU_SOURCE
#ifndef strdupa
# define strdupa(s)							      \
    ({									      \
      const char *old = (s);					      \
      size_t len = strlen (old) + 1;				      \
      char *new = (char *) alloca (len);			      \
      (char *) memcpy (new, old, len);				      \
    })
#endif
#endif

#endif