summaryrefslogtreecommitdiffstats
path: root/lib/libelf/elf_shstrndx.c
diff options
context:
space:
mode:
authorkaiw <kaiw@FreeBSD.org>2010-07-21 12:14:50 +0000
committerkaiw <kaiw@FreeBSD.org>2010-07-21 12:14:50 +0000
commit82c6a0d5cc52ec43523cf92cde5b8f83a24a9dba (patch)
treec51322098a7ff392aeb36ee7f884e6c98b223c94 /lib/libelf/elf_shstrndx.c
parent1b382f295a0ad2611d29740a5e9cd23ef4a767c1 (diff)
downloadFreeBSD-src-82c6a0d5cc52ec43523cf92cde5b8f83a24a9dba.zip
FreeBSD-src-82c6a0d5cc52ec43523cf92cde5b8f83a24a9dba.tar.gz
* Deprecate `elf_getshnum()`, `elf_getphnum()` and `elf_getshstrndx()` in
favour of `elf_getshdrnum()`, `elf_getphdrnum()` and `elf_getshdrstrndx()` respectively. * Add new manual pages for `elf_getshdrstrndx()`, `elf_getphdrnum()` and `elf_getshdrnum()`. * Add a deprecation warning for `elf_getshstrndx()`, `elf_getphnum()` and `elf_getshnum()`. Obtained from: elftoolchain MFC after: 1 month
Diffstat (limited to 'lib/libelf/elf_shstrndx.c')
-rw-r--r--lib/libelf/elf_shstrndx.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/libelf/elf_shstrndx.c b/lib/libelf/elf_shstrndx.c
index f4f502d..2c8b1b4 100644
--- a/lib/libelf/elf_shstrndx.c
+++ b/lib/libelf/elf_shstrndx.c
@@ -32,8 +32,8 @@ __FBSDID("$FreeBSD$");
#include "_libelf.h"
-int
-elf_getshstrndx(Elf *e, size_t *strndx)
+static int
+_libelf_getshdrstrndx(Elf *e, size_t *strndx)
{
void *eh;
int ec;
@@ -41,15 +41,27 @@ elf_getshstrndx(Elf *e, size_t *strndx)
if (e == NULL || e->e_kind != ELF_K_ELF ||
((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64)) {
LIBELF_SET_ERROR(ARGUMENT, 0);
- return (0);
+ return (-1);
}
if ((eh = _libelf_ehdr(e, ec, 0)) == NULL)
- return (0);
+ return (-1);
*strndx = e->e_u.e_elf.e_strndx;
- return (1);
+ return (0);
+}
+
+int
+elf_getshdrstrndx(Elf *e, size_t *strndx)
+{
+ return (_libelf_getshdrstrndx(e, strndx));
+}
+
+int
+elf_getshstrndx(Elf *e, size_t *strndx) /* Deprecated API. */
+{
+ return (_libelf_getshdrstrndx(e, strndx) >= 0);
}
int
OpenPOWER on IntegriCloud