mirror of https://github.com/acidanthera/audk.git
Get rid of some rcsid blocks. The EDK II build options cause a build break on the rcsid definitions. It is easier to delete them than other workarounds.
Fix case mismatch for an included file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12092 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
eec7d42017
commit
39f4382a97
|
@ -25,7 +25,7 @@
|
||||||
#include <kfile.h>
|
#include <kfile.h>
|
||||||
#include <MainData.h>
|
#include <MainData.h>
|
||||||
|
|
||||||
#include <efi/SysEfi.h>
|
#include <Efi/SysEfi.h>
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of private files
|
// End of private files
|
||||||
|
@ -118,7 +118,7 @@ BslSocketPoll (
|
||||||
Build a file descriptor for a socket.
|
Build a file descriptor for a socket.
|
||||||
|
|
||||||
@param [in] pSocketProtocol Socket protocol structure address
|
@param [in] pSocketProtocol Socket protocol structure address
|
||||||
|
|
||||||
@param [in] pErrno Address of the errno variable
|
@param [in] pErrno Address of the errno variable
|
||||||
|
|
||||||
@returns The file descriptor for the socket or -1 if an error occurs.
|
@returns The file descriptor for the socket or -1 if an error occurs.
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#include <SocketInternals.h>
|
#include "SocketInternals.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -60,7 +60,7 @@ AcceptWork (
|
||||||
//
|
//
|
||||||
// TODO: Update bBlocking by anding with check for NON_BLOCKING
|
// TODO: Update bBlocking by anding with check for NON_BLOCKING
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
// Attempt to accept a new network connection
|
// Attempt to accept a new network connection
|
||||||
//
|
//
|
||||||
|
|
|
@ -44,28 +44,28 @@
|
||||||
* Portions copyright (c) 1999, 2000
|
* Portions copyright (c) 1999, 2000
|
||||||
* Intel Corporation.
|
* Intel Corporation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. All advertising materials mentioning features or use of this software
|
* 3. All advertising materials mentioning features or use of this software
|
||||||
* must display the following acknowledgement:
|
* must display the following acknowledgement:
|
||||||
*
|
*
|
||||||
* This product includes software developed by Intel Corporation and
|
* This product includes software developed by Intel Corporation and
|
||||||
* its contributors.
|
* its contributors.
|
||||||
*
|
*
|
||||||
* 4. Neither the name of Intel Corporation or its contributors may be
|
* 4. Neither the name of Intel Corporation or its contributors may be
|
||||||
* used to endorse or promote products derived from this software
|
* used to endorse or promote products derived from this software
|
||||||
* without specific prior written permission.
|
* without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS''
|
* THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS''
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
@ -77,13 +77,10 @@
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
|
base64.c,v 1.1.1.1 2003/11/19 01:51:25 kyu3 Exp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(LINT) && !defined(CODECENTER)
|
|
||||||
static char rcsid[] = "$Id: base64.c,v 1.1.1.1 2003/11/19 01:51:25 kyu3 Exp $";
|
|
||||||
#endif /* not lint */
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
@ -101,7 +98,7 @@ static char rcsid[] = "$Id: base64.c,v 1.1.1.1 2003/11/19 01:51:25 kyu3 Exp $";
|
||||||
#define Assert(Cond) if (!(Cond)) abort()
|
#define Assert(Cond) if (!(Cond)) abort()
|
||||||
|
|
||||||
static const char Base64[] =
|
static const char Base64[] =
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||||
static const char Pad64 = '=';
|
static const char Pad64 = '=';
|
||||||
|
|
||||||
/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt)
|
/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt)
|
||||||
|
@ -152,79 +149,79 @@ static const char Pad64 = '=';
|
||||||
end of the data is performed using the '=' character.
|
end of the data is performed using the '=' character.
|
||||||
|
|
||||||
Since all base64 input is an integral number of octets, only the
|
Since all base64 input is an integral number of octets, only the
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
following cases can arise:
|
following cases can arise:
|
||||||
|
|
||||||
(1) the final quantum of encoding input is an integral
|
(1) the final quantum of encoding input is an integral
|
||||||
multiple of 24 bits; here, the final unit of encoded
|
multiple of 24 bits; here, the final unit of encoded
|
||||||
output will be an integral multiple of 4 characters
|
output will be an integral multiple of 4 characters
|
||||||
with no "=" padding,
|
with no "=" padding,
|
||||||
(2) the final quantum of encoding input is exactly 8 bits;
|
(2) the final quantum of encoding input is exactly 8 bits;
|
||||||
here, the final unit of encoded output will be two
|
here, the final unit of encoded output will be two
|
||||||
characters followed by two "=" padding characters, or
|
characters followed by two "=" padding characters, or
|
||||||
(3) the final quantum of encoding input is exactly 16 bits;
|
(3) the final quantum of encoding input is exactly 16 bits;
|
||||||
here, the final unit of encoded output will be three
|
here, the final unit of encoded output will be three
|
||||||
characters followed by one "=" padding character.
|
characters followed by one "=" padding character.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) {
|
b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) {
|
||||||
size_t datalength = 0;
|
size_t datalength = 0;
|
||||||
u_char input[3];
|
u_char input[3];
|
||||||
u_char output[4];
|
u_char output[4];
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
while (2 < srclength) {
|
while (2 < srclength) {
|
||||||
input[0] = *src++;
|
input[0] = *src++;
|
||||||
input[1] = *src++;
|
input[1] = *src++;
|
||||||
input[2] = *src++;
|
input[2] = *src++;
|
||||||
srclength -= 3;
|
srclength -= 3;
|
||||||
|
|
||||||
output[0] = input[0] >> 2;
|
output[0] = input[0] >> 2;
|
||||||
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
|
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
|
||||||
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
|
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
|
||||||
output[3] = input[2] & 0x3f;
|
output[3] = input[2] & 0x3f;
|
||||||
Assert(output[0] < 64);
|
Assert(output[0] < 64);
|
||||||
Assert(output[1] < 64);
|
Assert(output[1] < 64);
|
||||||
Assert(output[2] < 64);
|
Assert(output[2] < 64);
|
||||||
Assert(output[3] < 64);
|
Assert(output[3] < 64);
|
||||||
|
|
||||||
if (datalength + 4 > targsize)
|
if (datalength + 4 > targsize)
|
||||||
return (-1);
|
return (-1);
|
||||||
target[datalength++] = Base64[output[0]];
|
target[datalength++] = Base64[output[0]];
|
||||||
target[datalength++] = Base64[output[1]];
|
target[datalength++] = Base64[output[1]];
|
||||||
target[datalength++] = Base64[output[2]];
|
target[datalength++] = Base64[output[2]];
|
||||||
target[datalength++] = Base64[output[3]];
|
target[datalength++] = Base64[output[3]];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now we worry about padding. */
|
|
||||||
if (0 != srclength) {
|
|
||||||
/* Get what's left. */
|
|
||||||
input[0] = input[1] = input[2] = '\0';
|
|
||||||
for (i = 0; i < srclength; i++)
|
|
||||||
input[i] = *src++;
|
|
||||||
|
|
||||||
output[0] = input[0] >> 2;
|
|
||||||
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
|
|
||||||
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
|
|
||||||
Assert(output[0] < 64);
|
|
||||||
Assert(output[1] < 64);
|
|
||||||
Assert(output[2] < 64);
|
|
||||||
|
|
||||||
if (datalength + 4 > targsize)
|
/* Now we worry about padding. */
|
||||||
return (-1);
|
if (0 != srclength) {
|
||||||
target[datalength++] = Base64[output[0]];
|
/* Get what's left. */
|
||||||
target[datalength++] = Base64[output[1]];
|
input[0] = input[1] = input[2] = '\0';
|
||||||
if (srclength == 1)
|
for (i = 0; i < srclength; i++)
|
||||||
target[datalength++] = Pad64;
|
input[i] = *src++;
|
||||||
else
|
|
||||||
target[datalength++] = Base64[output[2]];
|
output[0] = input[0] >> 2;
|
||||||
target[datalength++] = Pad64;
|
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
|
||||||
}
|
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
|
||||||
if (datalength >= targsize)
|
Assert(output[0] < 64);
|
||||||
return (-1);
|
Assert(output[1] < 64);
|
||||||
target[datalength] = '\0'; /* Returned value doesn't count \0. */
|
Assert(output[2] < 64);
|
||||||
return ((int)datalength);
|
|
||||||
|
if (datalength + 4 > targsize)
|
||||||
|
return (-1);
|
||||||
|
target[datalength++] = Base64[output[0]];
|
||||||
|
target[datalength++] = Base64[output[1]];
|
||||||
|
if (srclength == 1)
|
||||||
|
target[datalength++] = Pad64;
|
||||||
|
else
|
||||||
|
target[datalength++] = Base64[output[2]];
|
||||||
|
target[datalength++] = Pad64;
|
||||||
|
}
|
||||||
|
if (datalength >= targsize)
|
||||||
|
return (-1);
|
||||||
|
target[datalength] = '\0'; /* Returned value doesn't count \0. */
|
||||||
|
return ((int)datalength);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* skips all whitespace anywhere.
|
/* skips all whitespace anywhere.
|
||||||
|
@ -235,123 +232,123 @@ b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) {
|
||||||
|
|
||||||
int
|
int
|
||||||
b64_pton(
|
b64_pton(
|
||||||
char const *src,
|
char const *src,
|
||||||
u_char *target,
|
u_char *target,
|
||||||
size_t targsize
|
size_t targsize
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int tarindex, state, ch;
|
int tarindex, state, ch;
|
||||||
char *pos;
|
char *pos;
|
||||||
|
|
||||||
state = 0;
|
state = 0;
|
||||||
tarindex = 0;
|
tarindex = 0;
|
||||||
|
|
||||||
while ((ch = *src++) != '\0') {
|
while ((ch = *src++) != '\0') {
|
||||||
if (isspace(ch)) /* Skip whitespace anywhere. */
|
if (isspace(ch)) /* Skip whitespace anywhere. */
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (ch == Pad64)
|
if (ch == Pad64)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
pos = strchr(Base64, ch);
|
pos = strchr(Base64, ch);
|
||||||
if (pos == 0) /* A non-base64 character. */
|
if (pos == 0) /* A non-base64 character. */
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 0:
|
case 0:
|
||||||
if (target) {
|
if (target) {
|
||||||
if ((size_t)tarindex >= targsize)
|
if ((size_t)tarindex >= targsize)
|
||||||
return (-1);
|
return (-1);
|
||||||
target[tarindex] = (u_char)((pos - Base64) << 2);
|
target[tarindex] = (u_char)((pos - Base64) << 2);
|
||||||
}
|
}
|
||||||
state = 1;
|
state = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (target) {
|
if (target) {
|
||||||
if ((size_t)tarindex + 1 >= targsize)
|
if ((size_t)tarindex + 1 >= targsize)
|
||||||
return (-1);
|
return (-1);
|
||||||
target[tarindex] |= (u_char)((pos - Base64) >> 4);
|
target[tarindex] |= (u_char)((pos - Base64) >> 4);
|
||||||
target[tarindex+1] = (u_char)(((pos - Base64) & 0x0f)
|
target[tarindex+1] = (u_char)(((pos - Base64) & 0x0f)
|
||||||
<< 4) ;
|
<< 4) ;
|
||||||
}
|
}
|
||||||
tarindex++;
|
tarindex++;
|
||||||
state = 2;
|
state = 2;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (target) {
|
if (target) {
|
||||||
if ((size_t)tarindex + 1 >= targsize)
|
if ((size_t)tarindex + 1 >= targsize)
|
||||||
return (-1);
|
return (-1);
|
||||||
target[tarindex] |= (u_char)((pos - Base64) >> 2);
|
target[tarindex] |= (u_char)((pos - Base64) >> 2);
|
||||||
target[tarindex+1] = (u_char)(((pos - Base64) & 0x03)
|
target[tarindex+1] = (u_char)(((pos - Base64) & 0x03)
|
||||||
<< 6);
|
<< 6);
|
||||||
}
|
}
|
||||||
tarindex++;
|
tarindex++;
|
||||||
state = 3;
|
state = 3;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (target) {
|
if (target) {
|
||||||
if ((size_t)tarindex >= targsize)
|
if ((size_t)tarindex >= targsize)
|
||||||
return (-1);
|
return (-1);
|
||||||
target[tarindex] |= (u_char)(pos - Base64);
|
target[tarindex] |= (u_char)(pos - Base64);
|
||||||
}
|
}
|
||||||
tarindex++;
|
tarindex++;
|
||||||
state = 0;
|
state = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We are done decoding Base-64 chars. Let's see if we ended
|
* We are done decoding Base-64 chars. Let's see if we ended
|
||||||
* on a byte boundary, and/or with erroneous trailing characters.
|
* on a byte boundary, and/or with erroneous trailing characters.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (ch == Pad64) { /* We got a pad char. */
|
if (ch == Pad64) { /* We got a pad char. */
|
||||||
ch = *src++; /* Skip it, get next. */
|
ch = *src++; /* Skip it, get next. */
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 0: /* Invalid = in first position */
|
case 0: /* Invalid = in first position */
|
||||||
case 1: /* Invalid = in second position */
|
case 1: /* Invalid = in second position */
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
case 2: /* Valid, means one byte of info */
|
case 2: /* Valid, means one byte of info */
|
||||||
/* Skip any number of spaces. */
|
/* Skip any number of spaces. */
|
||||||
for ((void)NULL; ch != '\0'; ch = *src++)
|
for ((void)NULL; ch != '\0'; ch = *src++)
|
||||||
if (!isspace(ch))
|
if (!isspace(ch))
|
||||||
break;
|
break;
|
||||||
/* Make sure there is another trailing = sign. */
|
/* Make sure there is another trailing = sign. */
|
||||||
if (ch != Pad64)
|
if (ch != Pad64)
|
||||||
return (-1);
|
return (-1);
|
||||||
ch = *src++; /* Skip the = */
|
ch = *src++; /* Skip the = */
|
||||||
/* Fall through to "single trailing =" case. */
|
/* Fall through to "single trailing =" case. */
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
|
|
||||||
case 3: /* Valid, means two bytes of info */
|
case 3: /* Valid, means two bytes of info */
|
||||||
/*
|
/*
|
||||||
* We know this char is an =. Is there anything but
|
* We know this char is an =. Is there anything but
|
||||||
* whitespace after it?
|
* whitespace after it?
|
||||||
*/
|
*/
|
||||||
for ((void)NULL; ch != '\0'; ch = *src++)
|
for ((void)NULL; ch != '\0'; ch = *src++)
|
||||||
if (!isspace(ch))
|
if (!isspace(ch))
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now make sure for cases 2 and 3 that the "extra"
|
* Now make sure for cases 2 and 3 that the "extra"
|
||||||
* bits that slopped past the last full byte were
|
* bits that slopped past the last full byte were
|
||||||
* zeros. If we don't check them, they become a
|
* zeros. If we don't check them, they become a
|
||||||
* subliminal channel.
|
* subliminal channel.
|
||||||
*/
|
*/
|
||||||
if (target && target[tarindex] != 0)
|
if (target && target[tarindex] != 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* We ended by seeing the end of the string. Make sure we
|
* We ended by seeing the end of the string. Make sure we
|
||||||
* have no partial bytes lying around.
|
* have no partial bytes lying around.
|
||||||
*/
|
*/
|
||||||
if (state != 0)
|
if (state != 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (tarindex);
|
return (tarindex);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1987, 1993
|
* Copyright (c) 1987, 1993
|
||||||
* The Regents of the University of California. All rights reserved.
|
* The Regents of the University of California. All rights reserved.
|
||||||
*
|
*
|
||||||
* Portions copyright (c) 1999, 2000
|
* Portions copyright (c) 1999, 2000
|
||||||
* Intel Corporation.
|
* Intel Corporation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. All advertising materials mentioning features or use of this software
|
* 3. All advertising materials mentioning features or use of this software
|
||||||
* must display the following acknowledgement:
|
* must display the following acknowledgement:
|
||||||
*
|
*
|
||||||
* This product includes software developed by the University of
|
* This product includes software developed by the University of
|
||||||
* California, Berkeley, Intel Corporation, and its contributors.
|
* California, Berkeley, Intel Corporation, and its contributors.
|
||||||
*
|
*
|
||||||
* 4. Neither the name of University, Intel Corporation, or their respective
|
* 4. Neither the name of University, Intel Corporation, or their respective
|
||||||
* contributors may be used to endorse or promote products derived from
|
* contributors may be used to endorse or promote products derived from
|
||||||
* this software without specific prior written permission.
|
* this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS, INTEL CORPORATION AND
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS, INTEL CORPORATION AND
|
||||||
* CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
* CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||||
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
@ -56,12 +56,10 @@
|
||||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||||
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(LIBC_SCCS) && !defined(lint)
|
herror.c 8.1 (Berkeley) 6/4/93
|
||||||
static char sccsid[] = "@(#)herror.c 8.1 (Berkeley) 6/4/93";
|
herror.c,v 1.1.1.1 2003/11/19 01:51:28 kyu3 Exp
|
||||||
static char rcsid[] = "$Id: herror.c,v 1.1.1.1 2003/11/19 01:51:28 kyu3 Exp $";
|
*/
|
||||||
#endif /* LIBC_SCCS and not lint */
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
@ -71,15 +69,15 @@ static char rcsid[] = "$Id: herror.c,v 1.1.1.1 2003/11/19 01:51:28 kyu3 Exp $";
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
const char *h_errlist[] = {
|
const char *h_errlist[] = {
|
||||||
"Resolver Error 0 (no error)",
|
"Resolver Error 0 (no error)",
|
||||||
"Unknown host", /* 1 HOST_NOT_FOUND */
|
"Unknown host", /* 1 HOST_NOT_FOUND */
|
||||||
"Host name lookup failure", /* 2 TRY_AGAIN */
|
"Host name lookup failure", /* 2 TRY_AGAIN */
|
||||||
"Unknown server error", /* 3 NO_RECOVERY */
|
"Unknown server error", /* 3 NO_RECOVERY */
|
||||||
"No address associated with name", /* 4 NO_ADDRESS */
|
"No address associated with name", /* 4 NO_ADDRESS */
|
||||||
};
|
};
|
||||||
int h_nerr = { sizeof h_errlist / sizeof h_errlist[0] };
|
int h_nerr = { sizeof h_errlist / sizeof h_errlist[0] };
|
||||||
|
|
||||||
int h_errno;
|
int h_errno;
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
hstrerror(
|
hstrerror(
|
||||||
|
@ -88,47 +86,47 @@ hstrerror(
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* herror --
|
* herror --
|
||||||
* print the error indicated by the h_errno value.
|
* print the error indicated by the h_errno value.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
herror(
|
herror(
|
||||||
const char *s
|
const char *s
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct iovec iov[4];
|
struct iovec iov[4];
|
||||||
register struct iovec *v = iov;
|
register struct iovec *v = iov;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (s && *s) {
|
if (s && *s) {
|
||||||
v->iov_base = (char *)s;
|
v->iov_base = (char *)s;
|
||||||
v->iov_len = strlen(s);
|
v->iov_len = strlen(s);
|
||||||
v++;
|
v++;
|
||||||
v->iov_base = ": ";
|
v->iov_base = ": ";
|
||||||
v->iov_len = 2;
|
v->iov_len = 2;
|
||||||
v++;
|
v++;
|
||||||
}
|
}
|
||||||
v->iov_base = (char *)hstrerror(h_errno);
|
v->iov_base = (char *)hstrerror(h_errno);
|
||||||
v->iov_len = strlen(v->iov_base);
|
v->iov_len = strlen(v->iov_base);
|
||||||
v++;
|
v++;
|
||||||
v->iov_base = "\n";
|
v->iov_base = "\n";
|
||||||
v->iov_len = 1;
|
v->iov_len = 1;
|
||||||
#ifdef _ORG_FREEBSD_
|
#ifdef _ORG_FREEBSD_
|
||||||
writev(STDERR_FILENO, iov, (v - iov) + 1);
|
writev(STDERR_FILENO, iov, (v - iov) + 1);
|
||||||
#else
|
#else
|
||||||
for (i = 0; i < (v - iov) + 1; i++)
|
for (i = 0; i < (v - iov) + 1; i++)
|
||||||
fprintf( stderr, iov[i].iov_base);
|
fprintf( stderr, iov[i].iov_base);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
hstrerror(
|
hstrerror(
|
||||||
int err
|
int err
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return ("Resolver internal error");
|
return ("Resolver internal error");
|
||||||
else if (err < h_nerr)
|
else if (err < h_nerr)
|
||||||
return (h_errlist[err]);
|
return (h_errlist[err]);
|
||||||
return ("Unknown resolver error");
|
return ("Unknown resolver error");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue