=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/pmdb/Attic/elf_syms.c,v retrieving revision 1.3 retrieving revision 1.4 diff -c -r1.3 -r1.4 *** src/usr.bin/pmdb/Attic/elf_syms.c 2002/03/15 17:49:51 1.3 --- src/usr.bin/pmdb/Attic/elf_syms.c 2002/03/19 21:17:52 1.4 *************** *** 1,4 **** ! /* $OpenBSD: elf_syms.c,v 1.3 2002/03/15 17:49:51 art Exp $ */ /* * Copyright (c) 2002 Artur Grabowski * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: elf_syms.c,v 1.4 2002/03/19 21:17:52 fgsch Exp $ */ /* * Copyright (c) 2002 Artur Grabowski * All rights reserved. *************** *** 79,107 **** sym_check_elf(const char *name, struct pstate *ps) { Elf_Ehdr ehdr; int fd; if ((fd = open(name, O_RDONLY)) < 0) ! return (-1); if (pread(fd, &ehdr, sizeof(Elf_Ehdr), 0) != sizeof(Elf_Ehdr)) ! return (-1); #ifndef __NetBSD__ ! if (!IS_ELF(ehdr) || ehdr.e_ident[EI_CLASS] != ELF_TARG_CLASS || ehdr.e_ident[EI_DATA] != ELF_TARG_DATA || ehdr.e_ident[EI_VERSION] != ELF_TARG_VER || ehdr.e_machine != ELF_TARG_MACH || ehdr.e_version != ELF_TARG_VER) ! return (-1); #endif close(fd); ! ps->ps_sops = &elf_sops; ! return (0); } struct sym_table * --- 79,109 ---- sym_check_elf(const char *name, struct pstate *ps) { Elf_Ehdr ehdr; + int error = 0; int fd; if ((fd = open(name, O_RDONLY)) < 0) ! return (1); if (pread(fd, &ehdr, sizeof(Elf_Ehdr), 0) != sizeof(Elf_Ehdr)) ! error = 1; #ifndef __NetBSD__ ! if (!error && !IS_ELF(ehdr) || ehdr.e_ident[EI_CLASS] != ELF_TARG_CLASS || ehdr.e_ident[EI_DATA] != ELF_TARG_DATA || ehdr.e_ident[EI_VERSION] != ELF_TARG_VER || ehdr.e_machine != ELF_TARG_MACH || ehdr.e_version != ELF_TARG_VER) ! error = 1; #endif close(fd); ! if (!error) ! ps->ps_sops = &elf_sops; ! return (error); } struct sym_table *