Module Name:    src
Committed By:   dholland
Date:           Mon May 30 02:41:39 UTC 2016

Modified Files:
        src/sys/arch/amiga/stand/binpatch: binpatch.c

Log Message:
Reindent.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/amiga/stand/binpatch/binpatch.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amiga/stand/binpatch/binpatch.c
diff -u src/sys/arch/amiga/stand/binpatch/binpatch.c:1.12 src/sys/arch/amiga/stand/binpatch/binpatch.c:1.13
--- src/sys/arch/amiga/stand/binpatch/binpatch.c:1.12	Mon May 30 02:36:37 2016
+++ src/sys/arch/amiga/stand/binpatch/binpatch.c	Mon May 30 02:41:39 2016
@@ -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 m...@eunet.ch ???   */
 /* Modified: Rob Leland lel...@mitre.org */
@@ -30,6 +30,7 @@ static char synusage[] =
 "\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 @@ extern int optind;
 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 @@ char  viewb[10] = {0,0,1,0,1,1,0,1,1,1};
 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;
-
-
-  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 'w':
-	size = 2;
-        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;
+	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;
+
+		    case 'b':
+			size = 1;
+			size_opt = 1;
+			break;
+
+		    case 'w':
+			size = 2;
+			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 '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 '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);
+	if (argc > 1)
+	{
+		if (addr || symbol)
+		{
+			argv += optind;
+			argc -= optind;
+
+			if (argc < 1)
+				error ("No file to patch.");
+
+			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.");
+
+			/* 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 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 (type != N_TEXT && type != N_DATA)
+				error ("address/symbol is not in text or data section.");
+
+			if (type == N_TEXT)
+				off = addr - N_TXTADDR(e) + N_TXTOFF(e);
+			else
+				off = addr - N_DATADDR(e) + N_DATOFF(e);
+
+			if (lseek (fd, off, 0) == -1)
+				error ("lseek");
+
+			/* not beautiful, but works on big and little endian machines */
+			switch (size)
+			{
+			    case 1:
+				if (read (fd, &cval, 1) != 1)
+					error ("cread");
+				lval = cval;
+				break;
+
+			    case 2:
+				if (read (fd, &sval, 2) != 2)
+					error ("sread");
+				lval = sval;
+				break;
+
+			    case 4:
+				if (read (fd, &lval, 4) != 4)
+					error ("lread");
+				break;
+			}/* switch size */
+
+
+			if (symbol)
+				printf ("%s(0x%x): %d (0x%x)\n", symbol, addr, lval, lval);
+			else
+				printf ("0x%x: %d (0x%x)\n", addr, lval, lval);
+
+			if (do_replace)
+			{
+				if (lseek (fd, off, 0) == -1)
+					error ("write-lseek");
+				switch (size)
+				{
+				    case 1:
+					cval = replace;
+					if (cval != replace)
+						error ("byte-value overflow.");
+					if (write (fd, &cval, 1) != 1)
+						error ("cwrite");
+					break;
+
+				    case 2:
+					sval = replace;
+					if (sval != replace)
+						error ("word-value overflow.");
+					if (write (fd, &sval, 2) != 2)
+						error ("swrite");
+					break;
+
+				    case 4:
+					if (write (fd, &replace, 4) != 4)
+						error ("lwrite");
+					break;
+				}/* switch(size) */
+			}/* if (do_replace) */
+
+			close (fd);
+		}/* if(addr || symbol ) */
+		else
+		{
+			error("Must specify either address or symbol.");
+		}
+	}/* if argc < 1 */
 	else
-          offset = atoi (optarg);
-        break;
-      }/* while switch() */
-
-  if (argc > 1)
-  {
-    if (addr || symbol)
-    {
-      argv += optind;
-      argc -= optind;
-
-      if (argc < 1)
-        error ("No file to patch.");
-
-      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.");
-
-      /* 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;
+		Synopsis(pgname);
 	}
-        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 (type != N_TEXT && type != N_DATA)
-        error ("address/symbol is not in text or data section.");
-
-      if (type == N_TEXT)
-        off = addr - N_TXTADDR(e) + N_TXTOFF(e);
-      else
-        off = addr - N_DATADDR(e) + N_DATOFF(e);
-
-      if (lseek (fd, off, 0) == -1)
-        error ("lseek");
-
-      /* not beautiful, but works on big and little endian machines */
-      switch (size)
-        {
-        case 1:
-          if (read (fd, &cval, 1) != 1)
-	    error ("cread");
-          lval = cval;
-          break;
-
-        case 2:
-          if (read (fd, &sval, 2) != 2)
-	    error ("sread");
-          lval = sval;
-          break;
-
-        case 4:
-          if (read (fd, &lval, 4) != 4)
-	    error ("lread");
-          break;
-        }/* switch size */
-
-
-      if (symbol)
-        printf ("%s(0x%x): %d (0x%x)\n", symbol, addr, lval, lval);
-      else
-        printf ("0x%x: %d (0x%x)\n", addr, lval, lval);
-
-      if (do_replace)
-      {
-        if (lseek (fd, off, 0) == -1)
-	  error ("write-lseek");
-        switch (size)
-	  {
-	  case 1:
-	    cval = replace;
-	    if (cval != replace)
-	      error ("byte-value overflow.");
-	    if (write (fd, &cval, 1) != 1)
-	      error ("cwrite");
-	    break;
-
-	  case 2:
-	    sval = replace;
-	    if (sval != replace)
-	      error ("word-value overflow.");
-	    if (write (fd, &sval, 2) != 2)
-	      error ("swrite");
-	    break;
-
-	  case 4:
-	    if (write (fd, &replace, 4) != 4)
-	      error ("lwrite");
-	    break;
-	  }/* switch(size) */
-      }/* if (do_replace) */
-
-      close (fd);
-    }/* if(addr || symbol ) */
-    else
-    {
-      error("Must specify either address or symbol.");
-    }
-  }/* if argc < 1 */
-  else
-  {
-    Synopsis(pgname);
-  }
-  return(0);
+	return(0);
 }/* main () */
 
 
 
 void error (char *str)
 {
-  fprintf (stderr, "%s\n", str);
-  exit (1);
+	fprintf (stderr, "%s\n", str);
+	exit (1);
 }
 
 /* Give user very short help to avoid scrolling screen much */
 static void Synopsis(char *pgname)
 {
-  fprintf(stdout,synusage,pgname,pgname,pgname,pgname,pgname);
+	fprintf(stdout, synusage, pgname, pgname, pgname, pgname, pgname);
 }
 
 
 static void Usage(char *pgname)
 {
-  Synopsis(pgname);
-  fprintf(stdout,desusage);
-  exit(0);
+	Synopsis(pgname);
+	fprintf(stdout, desusage);
+	exit(0);
 }
 
 
@@ -351,44 +354,44 @@ static void Usage(char *pgname)
 */
 static void FindOffset(char *symbol,u_long *index)
 {
-  char *sb=strchr(symbol,'['); /* Start of '[', now line must
-                                 contain matching']' */
-  char *eb=strchr(symbol,']'); /* End of ']' */
-  short sz=strlen(symbol);    /* symbol size */
-  if (sb)
-  {
-    if (eb && (eb > sb))
-    {
-      if ((eb - symbol) == (sz - 1))
-      {
-        char *sindex; /* Start of index */
-        u_long newindex = 0;
-        /* In the future we could get fancy and parse the
-           sindex string for mathmatical expressions like:
-           (3 - 1)*2 = 4 from above example,
-           ugh forget I mentioned ot :-) !
-        */
-        sindex = sb + 1;
-        *eb = '\0';
-        newindex = (u_long)atoi(sindex);
-        if (*index == 0)
-        {
-          *index = newindex;
-          *sb = '\0'; /* Make _view[3] look like _view */
-        }
-        else
-          fprintf(stderr,"Error index can only be specified once!\n");
-      }
-      else
-      {
-        fprintf(stderr,"Error: Garbage trailing ']'\n");
-      }
-    }
-    else
-    {
-       fprintf(stderr,"Error ']' in symbol before '[' !\n");
-    }
-  }/* if sb != 0 */
+	char *sb=strchr(symbol,'['); /* Start of '[', now line must
+					contain matching']' */
+	char *eb=strchr(symbol,']'); /* End of ']' */
+	short sz=strlen(symbol);    /* symbol size */
+	if (sb)
+	{
+		if (eb && (eb > sb))
+		{
+			if ((eb - symbol) == (sz - 1))
+			{
+				char *sindex; /* Start of index */
+				u_long newindex = 0;
+				/* In the future we could get fancy and parse the
+				   sindex string for mathmatical expressions like:
+				   (3 - 1)*2 = 4 from above example,
+				   ugh forget I mentioned ot :-) !
+				*/
+				sindex = sb + 1;
+				*eb = '\0';
+				newindex = (u_long)atoi(sindex);
+				if (*index == 0)
+				{
+					*index = newindex;
+					*sb = '\0'; /* Make _view[3] look like _view */
+				}
+				else
+					fprintf(stderr,"Error index can only be specified once!\n");
+			}
+			else
+			{
+				fprintf(stderr,"Error: Garbage trailing ']'\n");
+			}
+		}
+		else
+		{
+			fprintf(stderr,"Error ']' in symbol before '[' !\n");
+		}
+	}/* if sb != 0 */
 }/* FindOffset */
 
 /* FindAssign : Scans symbol name for an '=number' strips it off
@@ -396,23 +399,24 @@ static void FindOffset(char *symbol,u_lo
 */
 static u_long FindAssign(char *symbol,u_long *rvalue)
 {
-  char *ce = rindex(symbol,'='); /* Assign symbol some number */
-  char *cn = ce + 1; /* This should point at some number, no spaces allowed */
-  u_long dr = 0; /* flag for do_replace */
-  if (ce)
-  {
-    int nscan; /* number of variaables scanned in */
-    /* get the number to assign to symbol and strip off = */
-    for (cn=ce + 1; *cn==' '; cn++)
-    ;
-    if (! strncmp (cn, "0x", 2))
-	nscan = sscanf (cn, "%x",rvalue);
-    else
-        nscan = sscanf(cn,"%d",rvalue);
-    if (nscan != 1)
-      error("Invalid value following '='");
-    dr = 1;
-    *ce = '\0';/* Now were left with just symbol */
-  }/* if (ce) */
-  return(dr);
+	char *ce = rindex(symbol,'='); /* Assign symbol some number */
+	char *cn = ce + 1; /* This should point at some number, no spaces allowed */
+	u_long dr = 0; /* flag for do_replace */
+
+	if (ce)
+	{
+		int nscan; /* number of variaables scanned in */
+		/* get the number to assign to symbol and strip off = */
+		for (cn=ce + 1; *cn==' '; cn++)
+			;
+		if (! strncmp (cn, "0x", 2))
+			nscan = sscanf (cn, "%x",rvalue);
+		else
+			nscan = sscanf(cn,"%d",rvalue);
+		if (nscan != 1)
+			error("Invalid value following '='");
+		dr = 1;
+		*ce = '\0';/* Now were left with just symbol */
+	}/* if (ce) */
+	return(dr);
 }/* FindAssign */

Reply via email to