Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/amiga/stand/binpatch Reindent.
details: https://anonhg.NetBSD.org/src/rev/45ce414b941b
branches: trunk
changeset: 345472:45ce414b941b
user: dholland <dholland%NetBSD.org@localhost>
date: Mon May 30 02:41:39 2016 +0000
description:
Reindent.
diffstat:
sys/arch/amiga/stand/binpatch/binpatch.c | 522 +++++++++++++++---------------
1 files changed, 263 insertions(+), 259 deletions(-)
diffs (truncated from 608 to 300 lines):
diff -r 8bb1fb63b445 -r 45ce414b941b sys/arch/amiga/stand/binpatch/binpatch.c
--- a/sys/arch/amiga/stand/binpatch/binpatch.c Mon May 30 02:36:37 2016 +0000
+++ b/sys/arch/amiga/stand/binpatch/binpatch.c Mon May 30 02:41:39 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: binpatch.c,v 1.12 2016/05/30 02:36:37 dholland Exp $ */
+/* $NetBSD: binpatch.c,v 1.13 2016/05/30 02:41:39 dholland Exp $ */
/* Author: Markus Wild mw%eunet.ch@localhost ??? */
/* Modified: Rob Leland leland%mitre.org@localhost */
@@ -30,6 +30,7 @@
"\t%s [-b|-w|-l] -s symbol[[[index]][=value]] binary\n"
"\t%s [-b|-w|-l] [-o offset] -s symbol [-r value] binary\n"
"\t%s [-b|-w|-l] [-o offset] -a address [-r value] binary\n";
+
static char desusage[] =
"DESCRIPTION\n"
"\tAllows the patching of BSD binaries, for example,a distributed\n"
@@ -77,8 +78,8 @@
void error (char *) __attribute__((__noreturn__));
static void Synopsis(char *program_name);
static void Usage(char *program_name);
-static u_long FindAssign(char *symbol,u_long *rvalue);
-static void FindOffset(char *symbol,u_long *index);
+static u_long FindAssign(char *symbol, u_long *rvalue);
+static void FindOffset(char *symbol, u_long *index);
/* The following variables are so binpatch can be tested on itself */
int test = 1;
@@ -88,251 +89,253 @@
short vieww[10] = {0,0,1,0,1,1,0,1,1,1};
long viewl[10] = {0,0,1,0,1,1,0,1,1,1};
/* End of test binpatch variables */
+
int
main(int argc, char *argv[])
{
- struct exec e;
- int c;
- u_long addr = 0, offset = 0;
- u_long index = 0;/* Related to offset */
- u_long replace = 0, do_replace = 0;
- char *symbol = 0;
- char size = 4; /* default to long */
- char size_opt = 0; /* Flag to say size option was set, used with index */
- char *fname;
- char *pgname = argv[0]; /* Program name */
- int fd;
- int type, off;
- u_long lval;
- u_short sval;
- u_char cval;
+ struct exec e;
+ int c;
+ u_long addr = 0, offset = 0;
+ u_long index = 0;/* Related to offset */
+ u_long replace = 0, do_replace = 0;
+ char *symbol = 0;
+ char size = 4; /* default to long */
+ char size_opt = 0; /* Flag to say size option was set, used with index */
+ char *fname;
+ char *pgname = argv[0]; /* Program name */
+ int fd;
+ int type, off;
+ u_long lval;
+ u_short sval;
+ u_char cval;
- while ((c = getopt (argc, argv, "H:a:bwlr:s:o:")) != -1)
- switch (c)
- {
- case 'H':
- Usage(argv[0]);
- break;
- case 'a':
- if (addr || symbol)
- error ("only one address/symbol allowed");
- if (! strncmp (optarg, "0x", 2))
- sscanf (optarg, "%x", &addr);
- else
- addr = atoi (optarg);
- if (! addr)
- error ("invalid address");
- break;
+ while ((c = getopt (argc, argv, "H:a:bwlr:s:o:")) != -1)
+ switch (c)
+ {
+ case 'H':
+ Usage(argv[0]);
+ break;
+ case 'a':
+ if (addr || symbol)
+ error ("only one address/symbol allowed");
+ if (! strncmp (optarg, "0x", 2))
+ sscanf (optarg, "%x", &addr);
+ else
+ addr = atoi (optarg);
+ if (! addr)
+ error ("invalid address");
+ break;
- case 'b':
- size = 1;
- size_opt = 1;
- break;
+ case 'b':
+ size = 1;
+ size_opt = 1;
+ break;
- case 'w':
- size = 2;
- size_opt = 1;
- break;
+ case 'w':
+ size = 2;
+ size_opt = 1;
+ break;
- case 'l':
- size = 4;
- size_opt = 1;
- break;
+ case 'l':
+ size = 4;
+ size_opt = 1;
+ break;
- case 'r':
- do_replace = 1;
- if (! strncmp (optarg, "0x", 2))
- sscanf (optarg, "%x", &replace);
- else
- replace = atoi (optarg);
- break;
+ case 'r':
+ do_replace = 1;
+ if (! strncmp (optarg, "0x", 2))
+ sscanf (optarg, "%x", &replace);
+ else
+ replace = atoi (optarg);
+ break;
- case 's':
- if (addr || symbol)
- error ("only one address/symbol allowed");
- symbol = optarg;
- break;
+ case 's':
+ if (addr || symbol)
+ error ("only one address/symbol allowed");
+ symbol = optarg;
+ break;
- case 'o':
- if (offset)
- error ("only one offset allowed");
- if (! strncmp (optarg, "0x", 2))
- sscanf (optarg, "%x", &offset);
- else
- offset = atoi (optarg);
- break;
- }/* while switch() */
+ case 'o':
+ if (offset)
+ error ("only one offset allowed");
+ if (! strncmp (optarg, "0x", 2))
+ sscanf (optarg, "%x", &offset);
+ else
+ offset = atoi (optarg);
+ break;
+ }/* while switch() */
- if (argc > 1)
- {
- if (addr || symbol)
- {
- argv += optind;
- argc -= optind;
+ if (argc > 1)
+ {
+ if (addr || symbol)
+ {
+ argv += optind;
+ argc -= optind;
- if (argc < 1)
- error ("No file to patch.");
+ if (argc < 1)
+ error ("No file to patch.");
- fname = argv[0];
- if ((fd = open (fname, 0)) < 0)
- error ("Can't open file");
+ fname = argv[0];
+ if ((fd = open (fname, 0)) < 0)
+ error ("Can't open file");
- if (read (fd, &e, sizeof (e)) != sizeof (e)
- || N_BADMAG (e))
- error ("Not a valid executable.");
+ if (read (fd, &e, sizeof (e)) != sizeof (e)
+ || N_BADMAG (e))
+ error ("Not a valid executable.");
- /* fake mid, so the N_ macros work on the amiga.. */
- e.a_midmag |= 127 << 16;
+ /* fake mid, so the N_ macros work on the amiga.. */
+ e.a_midmag |= 127 << 16;
- if (symbol)
- {
- struct nlist nl[2];
- if (offset == 0)
- {
- u_long new_do_replace = 0;
- new_do_replace = FindAssign(symbol,&replace);
- if (new_do_replace && do_replace)
- error("Cannot use both '=' and '-r' option!");
- FindOffset(symbol,&index);
- if (size_opt)
- offset = index*size; /* Treat like an index */
- else
- offset = index; /* Treat index like an offset */
- if (new_do_replace)
- do_replace = new_do_replace;
- }
- nl[0].n_un.n_name = symbol;
- nl[1].n_un.n_name = 0;
- if (nlist (fname, nl) != 0)
- {
- fprintf(stderr,"Symbol is %s ",symbol);
- error ("Symbol not found.");
- }
- addr = nl[0].n_value;
- type = nl[0].n_type & N_TYPE;
- }
- else
- {
- type = N_UNDF;
- if (addr >= N_TXTADDR(e) && addr < N_DATADDR(e))
- type = N_TEXT;
- else if (addr >= N_DATADDR(e) && addr < N_DATADDR(e) + e.a_data)
- type = N_DATA;
- }
- addr += offset;
+ if (symbol)
+ {
+ struct nlist nl[2];
+ if (offset == 0)
+ {
+ u_long new_do_replace = 0;
+
+ new_do_replace = FindAssign(symbol,&replace);
+ if (new_do_replace && do_replace)
+ error("Cannot use both '=' and '-r' option!");
+ FindOffset(symbol,&index);
+ if (size_opt)
+ offset = index*size; /* Treat like an index */
+ else
+ offset = index; /* Treat index like an offset */
+ if (new_do_replace)
+ do_replace = new_do_replace;
+ }
+ nl[0].n_un.n_name = symbol;
+ nl[1].n_un.n_name = 0;
+ if (nlist (fname, nl) != 0)
+ {
+ fprintf(stderr,"Symbol is %s ",symbol);
+ error ("Symbol not found.");
+ }
+ addr = nl[0].n_value;
+ type = nl[0].n_type & N_TYPE;
+ }
+ else
+ {
+ type = N_UNDF;
+ if (addr >= N_TXTADDR(e) && addr < N_DATADDR(e))
+ type = N_TEXT;
+ else if (addr >= N_DATADDR(e) && addr < N_DATADDR(e) + e.a_data)
+ type = N_DATA;
+ }
+ addr += offset;
- /* if replace-mode, have to reopen the file for writing.
- Can't do that from the beginning, or nlist() will not
- work (at least not under AmigaDOS) */
- if (do_replace)
- {
- close (fd);
- if ((fd = open (fname, 2)) == -1)
- error ("Can't reopen file for writing.");
- }
+ /* if replace-mode, have to reopen the file for writing.
+ Can't do that from the beginning, or nlist() will not
+ work (at least not under AmigaDOS) */
+ if (do_replace)
+ {
+ close (fd);
+ if ((fd = open (fname, 2)) == -1)
Home |
Main Index |
Thread Index |
Old Index