scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit 0743502801e60e87b15b2af32a314684f66fb472
parent b6459c65a740c350d9088c2e383909b035790b00
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Thu, 15 Feb 2024 15:18:49 +0100

libmach: Rename objtype() to objprobe()

This function was actually probing and the name is better for a
functions that translate a string representation of the type to the
integer value used.

Diffstat:
Minclude/scc/scc/mach.h | 2+-
Msrc/cmd/addr2line.c | 2+-
Msrc/cmd/ld/pass1.c | 4++--
Msrc/cmd/nm.c | 4++--
Msrc/cmd/ranlib.c | 4++--
Msrc/cmd/size.c | 4++--
Msrc/cmd/strip.c | 2+-
Msrc/libmach/Makefile | 2+-
Msrc/libmach/deps.mk | 4++--
Asrc/libmach/objprobe.c | 29+++++++++++++++++++++++++++++
Dsrc/libmach/objtype.c | 29-----------------------------
11 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/include/scc/scc/mach.h b/include/scc/scc/mach.h @@ -89,7 +89,7 @@ struct symbol { extern int archive(FILE *); extern long armember(FILE *, char *); -extern int objtype(FILE *, char **); +extern int objprobe(FILE *, char **); extern int readobj(Obj *, FILE *); extern int writeobj(Obj *, Map *, FILE *); diff --git a/src/cmd/addr2line.c b/src/cmd/addr2line.c @@ -83,7 +83,7 @@ loadexe(char *fname) return NULL; } - if ((t = objtype(fp, NULL)) < 0) { + if ((t = objprobe(fp, NULL)) < 0) { error("file format not recognized"); return NULL; } diff --git a/src/cmd/ld/pass1.c b/src/cmd/ld/pass1.c @@ -88,7 +88,7 @@ load(FILE *fp, int inlib) Symbol sym; static Obj *last; - if ((t = objtype(fp, NULL)) < 0) { + if ((t = objprobe(fp, NULL)) < 0) { error("bad format"); return; } @@ -198,7 +198,7 @@ scanlib(FILE *fp) return; default: membname = memb; - if (objtype(fp, NULL) != -1) + if (objprobe(fp, NULL) != -1) load(fp, INLIB); membname = NULL; fseek(fp, cur, SEEK_SET); diff --git a/src/cmd/nm.c b/src/cmd/nm.c @@ -204,7 +204,7 @@ nmlib(FILE *fp) return; default: membname = memb; - if ((t = objtype(fp, NULL)) != -1) + if ((t = objprobe(fp, NULL)) != -1) nmobj(fp, t); membname = NULL; fseek(fp, cur, SEEK_SET); @@ -228,7 +228,7 @@ nm(char *fname) return; } - if ((t = objtype(fp, NULL)) != -1) + if ((t = objprobe(fp, NULL)) != -1) nmobj(fp, t); else if (archive(fp)) nmlib(fp); diff --git a/src/cmd/ranlib.c b/src/cmd/ranlib.c @@ -148,7 +148,7 @@ newmember(FILE *fp) return 0; } - t = objtype(fp, NULL); + t = objprobe(fp, NULL); if (t == -1 || artype != -1 && artype != t) { nolib = 1; return 0; @@ -211,7 +211,7 @@ readsyms(FILE *fp) return (nolib || nsymbols == 0) ? -1 : 0; default: membname = memb; - if (objtype(fp, NULL) != -1) + if (objprobe(fp, NULL) != -1) newmember(fp); membname = NULL; fseek(fp, cur, SEEK_SET); diff --git a/src/cmd/size.c b/src/cmd/size.c @@ -116,7 +116,7 @@ sizelib(FILE *fp) return; default: membname = memb; - if ((t = objtype(fp, NULL)) != -1) + if ((t = objprobe(fp, NULL)) != -1) sizeobj(fp, t); membname = NULL; fseek(fp, cur, SEEK_SET); @@ -138,7 +138,7 @@ size(char *fname) return; } - if ((t = objtype(fp, NULL)) != -1) + if ((t = objprobe(fp, NULL)) != -1) sizeobj(fp, t); else if (archive(fp)) sizelib(fp); diff --git a/src/cmd/strip.c b/src/cmd/strip.c @@ -46,7 +46,7 @@ doit(char *fname) error("opening src file"); return; } - if ((type = objtype(src, NULL)) < 0) { + if ((type = objprobe(src, NULL)) < 0) { error("getting object type"); goto err1; } diff --git a/src/libmach/Makefile b/src/libmach/Makefile @@ -23,7 +23,7 @@ OBJS =\ newobj.o \ newobj.o\ objpos.o\ - objtype.o\ + objprobe.o\ pack.o\ pc2line.o\ readobj.o\ diff --git a/src/libmach/deps.mk b/src/libmach/deps.mk @@ -89,8 +89,8 @@ newobj.o: $(INCDIR)/scc/scc/mach.h newobj.o: libmach.h objpos.o: $(INCDIR)/scc/scc/mach.h objpos.o: libmach.h -objtype.o: $(INCDIR)/scc/scc/mach.h -objtype.o: libmach.h +objprobe.o: $(INCDIR)/scc/scc/mach.h +objprobe.o: libmach.h pack.o: $(INCDIR)/scc/scc/mach.h pack.o: libmach.h pc2line.o: $(INCDIR)/scc/scc/mach.h diff --git a/src/libmach/objprobe.c b/src/libmach/objprobe.c @@ -0,0 +1,29 @@ +#include <stdio.h> + +#include <scc/mach.h> + +#include "libmach.h" + +int +objprobe(FILE *fp, char **name) +{ + int n, i; + fpos_t pos; + Objops **opsp, *ops; + unsigned char buf[NBYTES]; + + fgetpos(fp, &pos); + n = fread(buf, NBYTES, 1, fp); + fsetpos(fp, &pos); + + if (n != 1 || ferror(fp)) + return -1; + + for (opsp = objops; ops = *opsp; ++opsp) { + if ((*ops->probe)(buf, name) < 0) + continue; + return opsp - objops; + } + + return -1; +} diff --git a/src/libmach/objtype.c b/src/libmach/objtype.c @@ -1,29 +0,0 @@ -#include <stdio.h> - -#include <scc/mach.h> - -#include "libmach.h" - -int -objtype(FILE *fp, char **name) -{ - int n, i; - fpos_t pos; - Objops **opsp, *ops; - unsigned char buf[NBYTES]; - - fgetpos(fp, &pos); - n = fread(buf, NBYTES, 1, fp); - fsetpos(fp, &pos); - - if (n != 1 || ferror(fp)) - return -1; - - for (opsp = objops; ops = *opsp; ++opsp) { - if ((*ops->probe)(buf, name) < 0) - continue; - return opsp - objops; - } - - return -1; -}