Revision: 16467
          http://sourceforge.net/p/edk2/code/16467
Author:   darylm503
Date:     2014-12-02 21:30:41 +0000 (Tue, 02 Dec 2014)
Log Message:
-----------
StdLib/BsdSocketLib: Fix function declaration mismatch with definition.

Replace the existing old-style function declarations for Field, cvtbase and 
spectHex in BsdSocketLib with real prototypes.  This allows StdLib to build 
using the GCC48 toolchain.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <[email protected]>
Reviewed-by: Daryl McDaniel <[email protected]>

Modified Paths:
--------------
    trunk/edk2/StdLib/BsdSocketLib/ns_addr.c
    trunk/edk2/StdLib/BsdSocketLib/ns_ntoa.c

Modified: trunk/edk2/StdLib/BsdSocketLib/ns_addr.c
===================================================================
--- trunk/edk2/StdLib/BsdSocketLib/ns_addr.c    2014-12-02 05:29:59 UTC (rev 
16466)
+++ trunk/edk2/StdLib/BsdSocketLib/ns_addr.c    2014-12-02 21:30:41 UTC (rev 
16467)
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
+ *  The Regents of the University of California.  All rights reserved.
  *
  * This code is derived from software contributed to Berkeley by
  * J.Q. Johnson.
@@ -8,28 +8,28 @@
  * Portions copyright (c) 1999, 2000
  * Intel Corporation.
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
- * 
+ *
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer.
- * 
+ *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 
+ *
  * 3. All advertising materials mentioning features or use of this software
  *    must display the following acknowledgement:
- * 
+ *
  *    This product includes software developed by the University of
  *    California, Berkeley, Intel Corporation, and its contributors.
- * 
+ *
  * 4. Neither the name of University, Intel Corporation, or their respective
  *    contributors may be used to endorse or promote products derived from
  *    this software without specific prior written permission.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE REGENTS, INTEL CORPORATION AND
  * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
@@ -45,7 +45,7 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)ns_addr.c  8.1 (Berkeley) 6/7/93";
+static char sccsid[] = "@(#)ns_addr.c 8.1 (Berkeley) 6/7/93";
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/param.h>
@@ -55,186 +55,187 @@
 
 static struct ns_addr addr, zero_addr;
 
-static void Field(), cvtbase();
+static void Field   (char *buf, u_char *out, int len);
+static void cvtbase (long oldbase, int newbase, int input[], int inlen, 
unsigned char result[], int reslen);
 
 struct ns_addr
 ns_addr(
-       const char *name
-       )
+  const char *name
+  )
 {
-       char separator;
-       char *hostname, *socketname, *cp;
-       char buf[50];
+  char separator;
+  char *hostname, *socketname, *cp;
+  char buf[50];
 
-       (void)strncpy(buf, name, sizeof(buf) - 1);
-       buf[sizeof(buf) - 1] = '\0';
+  (void)strncpy(buf, name, sizeof(buf) - 1);
+  buf[sizeof(buf) - 1] = '\0';
 
-       /*
-        * First, figure out what he intends as a field separtor.
-        * Despite the way this routine is written, the prefered
-        * form  2-272.AA001234H.01777, i.e. XDE standard.
-        * Great efforts are made to insure backward compatability.
-        */
-       if ((hostname = strchr(buf, '#')) != NULL)
-               separator = '#';
-       else {
-               hostname = strchr(buf, '.');
-               if ((cp = strchr(buf, ':')) &&
-                   ((hostname && cp < hostname) || (hostname == 0))) {
-                       hostname = cp;
-                       separator = ':';
-               } else
-                       separator = '.';
-       }
-       if (hostname)
-               *hostname++ = 0;
+  /*
+   * First, figure out what he intends as a field separtor.
+   * Despite the way this routine is written, the prefered
+   * form  2-272.AA001234H.01777, i.e. XDE standard.
+   * Great efforts are made to insure backward compatability.
+   */
+  if ((hostname = strchr(buf, '#')) != NULL)
+    separator = '#';
+  else {
+    hostname = strchr(buf, '.');
+    if ((cp = strchr(buf, ':')) &&
+        ((hostname && cp < hostname) || (hostname == 0))) {
+      hostname = cp;
+      separator = ':';
+    } else
+      separator = '.';
+  }
+  if (hostname)
+    *hostname++ = 0;
 
-       addr = zero_addr;
-       Field(buf, addr.x_net.c_net, 4);
-       if (hostname == 0)
-               return (addr);  /* No separator means net only */
+  addr = zero_addr;
+  Field(buf, addr.x_net.c_net, 4);
+  if (hostname == 0)
+    return (addr);  /* No separator means net only */
 
-       socketname = strchr(hostname, separator);
-       if (socketname) {
-               *socketname++ = 0;
-               Field(socketname, (u_char *)&addr.x_port, 2);
-       }
+  socketname = strchr(hostname, separator);
+  if (socketname) {
+    *socketname++ = 0;
+    Field(socketname, (u_char *)&addr.x_port, 2);
+  }
 
-       Field(hostname, addr.x_host.c_host, 6);
+  Field(hostname, addr.x_host.c_host, 6);
 
-       return (addr);
+  return (addr);
 }
 
 static void
 Field(
-       char *buf,
-       u_char *out,
-       int len
-       )
+  char *buf,
+  u_char *out,
+  int len
+  )
 {
-       register char *bp = buf;
-       int i, ibase, base16 = 0, base10 = 0, clen = 0;
-       int hb[6], *hp;
-       char *fmt;
+  register char *bp = buf;
+  int i, ibase, base16 = 0, base10 = 0, clen = 0;
+  int hb[6], *hp;
+  char *fmt;
 
-       /*
-        * first try 2-273#2-852-151-014#socket
-        */
-       if ((*buf != '-') &&
-           (1 < (i = sscanf(buf, "%d-%d-%d-%d-%d",
-                       &hb[0], &hb[1], &hb[2], &hb[3], &hb[4])))) {
-               cvtbase(1000L, 256, hb, i, out, len);
-               return;
-       }
-       /*
-        * try form 8E1#0.0.AA.0.5E.E6#socket
-        */
-       if (1 < (i = sscanf(buf,"%x.%x.%x.%x.%x.%x",
-                       &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) {
-               cvtbase(256L, 256, hb, i, out, len);
-               return;
-       }
-       /*
-        * try form 8E1#0:0:AA:0:5E:E6#socket
-        */
-       if (1 < (i = sscanf(buf,"%x:%x:%x:%x:%x:%x",
-                       &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) {
-               cvtbase(256L, 256, hb, i, out, len);
-               return;
-       }
-       /*
-        * This is REALLY stretching it but there was a
-        * comma notation separting shorts -- definitely non standard
-        */
-       if (1 < (i = sscanf(buf,"%x,%x,%x",
-                       &hb[0], &hb[1], &hb[2]))) {
-               hb[0] = htons(hb[0]); hb[1] = htons(hb[1]);
-               hb[2] = htons(hb[2]);
-               cvtbase(65536L, 256, hb, i, out, len);
-               return;
-       }
+  /*
+   * first try 2-273#2-852-151-014#socket
+   */
+  if ((*buf != '-') &&
+      (1 < (i = sscanf(buf, "%d-%d-%d-%d-%d",
+      &hb[0], &hb[1], &hb[2], &hb[3], &hb[4])))) {
+    cvtbase(1000L, 256, hb, i, out, len);
+    return;
+  }
+  /*
+   * try form 8E1#0.0.AA.0.5E.E6#socket
+   */
+  if (1 < (i = sscanf(buf,"%x.%x.%x.%x.%x.%x",
+      &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) {
+    cvtbase(256L, 256, hb, i, out, len);
+    return;
+  }
+  /*
+   * try form 8E1#0:0:AA:0:5E:E6#socket
+   */
+  if (1 < (i = sscanf(buf,"%x:%x:%x:%x:%x:%x",
+      &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) {
+    cvtbase(256L, 256, hb, i, out, len);
+    return;
+  }
+  /*
+   * This is REALLY stretching it but there was a
+   * comma notation separting shorts -- definitely non standard
+   */
+  if (1 < (i = sscanf(buf,"%x,%x,%x",
+      &hb[0], &hb[1], &hb[2]))) {
+    hb[0] = htons(hb[0]); hb[1] = htons(hb[1]);
+    hb[2] = htons(hb[2]);
+    cvtbase(65536L, 256, hb, i, out, len);
+    return;
+  }
 
-       /* Need to decide if base 10, 16 or 8 */
-       while (*bp) switch (*bp++) {
+  /* Need to decide if base 10, 16 or 8 */
+  while (*bp) switch (*bp++) {
 
-       case '0': case '1': case '2': case '3': case '4': case '5':
-       case '6': case '7': case '-':
-               break;
+  case '0': case '1': case '2': case '3': case '4': case '5':
+  case '6': case '7': case '-':
+    break;
 
-       case '8': case '9':
-               base10 = 1;
-               break;
+  case '8': case '9':
+    base10 = 1;
+    break;
 
-       case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-       case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-               base16 = 1;
-               break;
+  case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+  case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    base16 = 1;
+    break;
 
-       case 'x': case 'X':
-               *--bp = '0';
-               base16 = 1;
-               break;
+  case 'x': case 'X':
+    *--bp = '0';
+    base16 = 1;
+    break;
 
-       case 'h': case 'H':
-               base16 = 1;
-               /* fall into */
+  case 'h': case 'H':
+    base16 = 1;
+    /* fall into */
 
-       default:
-               *--bp = 0; /* Ends Loop */
-       }
-       if (base16) {
-               fmt = "%3x";
-               ibase = 4096;
-       } else if (base10 == 0 && *buf == '0') {
-               fmt = "%3o";
-               ibase = 512;
-       } else {
-               fmt = "%3d";
-               ibase = 1000;
-       }
+  default:
+    *--bp = 0; /* Ends Loop */
+  }
+  if (base16) {
+    fmt = "%3x";
+    ibase = 4096;
+  } else if (base10 == 0 && *buf == '0') {
+    fmt = "%3o";
+    ibase = 512;
+  } else {
+    fmt = "%3d";
+    ibase = 1000;
+  }
 
-       for (bp = buf; *bp++; ) clen++;
-       if (clen == 0) clen++;
-       if (clen > 18) clen = 18;
-       i = ((clen - 1) / 3) + 1;
-       bp = clen + buf - 3;
-       hp = hb + i - 1;
+  for (bp = buf; *bp++; ) clen++;
+  if (clen == 0) clen++;
+  if (clen > 18) clen = 18;
+  i = ((clen - 1) / 3) + 1;
+  bp = clen + buf - 3;
+  hp = hb + i - 1;
 
-       while (hp > hb) {
-               (void)sscanf(bp, fmt, hp);
-               bp[0] = 0;
-               hp--;
-               bp -= 3;
-       }
-       (void)sscanf(buf, fmt, hp);
-       cvtbase((long)ibase, 256, hb, i, out, len);
+  while (hp > hb) {
+    (void)sscanf(bp, fmt, hp);
+    bp[0] = 0;
+    hp--;
+    bp -= 3;
+  }
+  (void)sscanf(buf, fmt, hp);
+  cvtbase((long)ibase, 256, hb, i, out, len);
 }
 
 static void
 cvtbase(
-       long oldbase,
-       int newbase,
-       int input[],
-       int inlen,
-       unsigned char result[],
-       int reslen
-       )
+  long oldbase,
+  int newbase,
+  int input[],
+  int inlen,
+  unsigned char result[],
+  int reslen
+  )
 {
-       int d, e;
-       long sum;
+  int d, e;
+  long sum;
 
-       e = 1;
-       while (e > 0 && reslen > 0) {
-               d = 0; e = 0; sum = 0;
-               /* long division: input=input/newbase */
-               while (d < inlen) {
-                       sum = sum*oldbase + (long) input[d];
-                       e += (sum > 0);
-                       input[d++] = sum / newbase;
-                       sum %= newbase;
-               }
-               result[--reslen] = (u_char)sum; /* accumulate remainder */
-       }
-       for (d=0; d < reslen; d++)
-               result[d] = 0;
+  e = 1;
+  while (e > 0 && reslen > 0) {
+    d = 0; e = 0; sum = 0;
+    /* long division: input=input/newbase */
+    while (d < inlen) {
+      sum = sum*oldbase + (long) input[d];
+      e += (sum > 0);
+      input[d++] = sum / newbase;
+      sum %= newbase;
+    }
+    result[--reslen] = (u_char)sum; /* accumulate remainder */
+  }
+  for (d=0; d < reslen; d++)
+    result[d] = 0;
 }

Modified: trunk/edk2/StdLib/BsdSocketLib/ns_ntoa.c
===================================================================
--- trunk/edk2/StdLib/BsdSocketLib/ns_ntoa.c    2014-12-02 05:29:59 UTC (rev 
16466)
+++ trunk/edk2/StdLib/BsdSocketLib/ns_ntoa.c    2014-12-02 21:30:41 UTC (rev 
16467)
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
+ *  The Regents of the University of California.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -12,8 +12,8 @@
  *    documentation and/or other materials provided with the distribution.
  * 3. All advertising materials mentioning features or use of this software
  *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
+ *  This product includes software developed by the University of
+ *  California, Berkeley and its contributors.
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
@@ -32,72 +32,72 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)ns_ntoa.c  8.1 (Berkeley) 6/4/93";
+static char sccsid[] = "@(#)ns_ntoa.c 8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/param.h>
 #include <netns/ns.h>
 #include <stdio.h>
 
-static char *spectHex();
+static char *spectHex(char *p0);
 
 char *
 ns_ntoa(
-       struct ns_addr addr
-       )
+  struct ns_addr addr
+  )
 {
-       static char obuf[40];
-       union { union ns_net net_e; u_long long_e; } net;
-       u_short port = htons(addr.x_port);
-       register char *cp;
-       char *cp2;
-       register u_char *up = addr.x_host.c_host;
-       u_char *uplim = up + 6;
+  static char obuf[40];
+  union { union ns_net net_e; u_long long_e; } net;
+  u_short port = htons(addr.x_port);
+  register char *cp;
+  char *cp2;
+  register u_char *up = addr.x_host.c_host;
+  u_char *uplim = up + 6;
 
-       net.net_e = addr.x_net;
-       sprintf(obuf, "%x", (UINT32)ntohl(net.long_e));
-       cp = spectHex(obuf);
-       cp2 = cp + 1;
-       while (*up==0 && up < uplim) up++;
-       if (up == uplim) {
-               if (port) {
-                       sprintf(cp, ".0");
-                       cp += 2;
-               }
-       } else {
-               sprintf(cp, ".%x", *up++);
-               while (up < uplim) {
-                       while (*cp) cp++;
-                       sprintf(cp, "%02x", *up++);
-               }
-               cp = spectHex(cp2);
-       }
-       if (port) {
-               sprintf(cp, ".%x", port);
-               spectHex(cp + 1);
-       }
-       return (obuf);
+  net.net_e = addr.x_net;
+  sprintf(obuf, "%x", (UINT32)ntohl(net.long_e));
+  cp = spectHex(obuf);
+  cp2 = cp + 1;
+  while (*up==0 && up < uplim) up++;
+  if (up == uplim) {
+    if (port) {
+      sprintf(cp, ".0");
+      cp += 2;
+    }
+  } else {
+    sprintf(cp, ".%x", *up++);
+    while (up < uplim) {
+      while (*cp) cp++;
+      sprintf(cp, "%02x", *up++);
+    }
+    cp = spectHex(cp2);
+  }
+  if (port) {
+    sprintf(cp, ".%x", port);
+    spectHex(cp + 1);
+  }
+  return (obuf);
 }
 
 static char *
 spectHex(
-       char *p0
-       )
+  char *p0
+  )
 {
-       int ok = 0;
-       int nonzero = 0;
-       register char *p = p0;
-       for (; *p; p++) switch (*p) {
+  int ok = 0;
+  int nonzero = 0;
+  register char *p = p0;
+  for (; *p; p++) switch (*p) {
 
-       case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-               *p += ('A' - 'a');
-               /* fall into . . . */
-       case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-               ok = 1;
-       case '1': case '2': case '3': case '4': case '5':
-       case '6': case '7': case '8': case '9':
-               nonzero = 1;
-       }
-       if (nonzero && !ok) { *p++ = 'H'; *p = 0; }
-       return (p);
+  case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    *p += ('A' - 'a');
+    /* fall into . . . */
+  case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    ok = 1;
+  case '1': case '2': case '3': case '4': case '5':
+  case '6': case '7': case '8': case '9':
+    nonzero = 1;
+  }
+  if (nonzero && !ok) { *p++ = 'H'; *p = 0; }
+  return (p);
 }


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to