mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
65a086db91
Move internal argz function prototypes to include/argz.h and mark them with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. This also brings string/argz.h closer to the gnulib version. [BZ #18822] * include/argz.h (__argz_create_sep): New function prototype. (__argz_append): Likewise. (__argz_add): Likewise. (__argz_add_sep): Likewise. (__argz_delete): Likewise. (__argz_insert): Likewise. (__argz_replace): Likewise. * string/argz.h (__argz_create_sep): Removed. (__argz_append): Likewise. (__argz_add): Likewise. (__argz_add_sep): Likewise. (__argz_delete): Likewise. (__argz_insert): Likewise. (__argz_replace): Likewise.
45 lines
1.5 KiB
C
45 lines
1.5 KiB
C
#ifndef _ARGZ_H
|
|
|
|
#include <string/argz.h>
|
|
|
|
# ifndef _ISOMAC
|
|
|
|
extern error_t __argz_create_sep (const char *__restrict __string,
|
|
int __sep, char **__restrict __argz,
|
|
size_t *__restrict __len)
|
|
__THROW attribute_hidden;
|
|
extern error_t __argz_append (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
const char *__restrict __buf, size_t __buf_len)
|
|
__THROW attribute_hidden;
|
|
extern error_t __argz_add (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
const char *__restrict __str)
|
|
__THROW attribute_hidden;
|
|
extern error_t __argz_add_sep (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
const char *__restrict __string, int __delim)
|
|
__THROW attribute_hidden;
|
|
extern void __argz_delete (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
char *__restrict __entry)
|
|
__THROW attribute_hidden;
|
|
extern error_t __argz_insert (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
char *__restrict __before,
|
|
const char *__restrict __entry)
|
|
__THROW attribute_hidden;
|
|
extern error_t __argz_replace (char **__restrict __argz,
|
|
size_t *__restrict __argz_len,
|
|
const char *__restrict __str,
|
|
const char *__restrict __with,
|
|
unsigned int *__restrict __replace_count)
|
|
attribute_hidden;
|
|
|
|
libc_hidden_proto (argz_delete)
|
|
libc_hidden_proto (__argz_count)
|
|
libc_hidden_proto (__argz_stringify)
|
|
|
|
# endif /* !_ISOMAC */
|
|
#endif
|