mirror of https://github.com/acidanthera/audk.git
StdLib: Change the last argument of the ioctl helper functions to va_list* from void*.
Functions which call these helper functions always pass the last parameter as a va_list argument. Add a conditional block around a MSFT-only pragma so that stringlist.c will compile with GCC. Comment-out the Socket Library components within StdLib.dsc. These components are still in development. Signed-off-by: darylm503 Reviewed by: geekboy15A git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12369 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c614ca505d
commit
76beedc09c
|
@ -26,6 +26,7 @@
|
|||
#include <errno.h>
|
||||
#include <wctype.h>
|
||||
#include <wchar.h>
|
||||
#include <stdarg.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <kfile.h>
|
||||
#include <Device/Device.h>
|
||||
|
@ -377,7 +378,7 @@ EFIAPI
|
|||
da_ConIoctl(
|
||||
struct __filedes *filp,
|
||||
ULONGN cmd,
|
||||
void *argp
|
||||
va_list argp
|
||||
)
|
||||
{
|
||||
return -EPERM;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <wctype.h>
|
||||
#include <wchar.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
@ -319,7 +320,7 @@ EFIAPI
|
|||
da_ShellIoctl(
|
||||
struct __filedes *filp,
|
||||
ULONGN cmd,
|
||||
void *argp ///< May be a pointer or a value
|
||||
va_list argp
|
||||
)
|
||||
{
|
||||
return -EPERM;
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <LibConfig.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdarg.h>
|
||||
#include <sys/poll.h>
|
||||
#include <kfile.h>
|
||||
#include <Device/Device.h>
|
||||
|
@ -45,7 +46,7 @@ int EFIAPI fnullop_flush (struct __filedes *filp)
|
|||
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf)
|
||||
{ return -EPERM; }
|
||||
|
||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, void *argp)
|
||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, va_list argp)
|
||||
{ return -EPERM; }
|
||||
|
||||
int EFIAPI fbadop_delete (struct __filedes *filp)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $
|
||||
/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $
|
||||
|
||||
* Copyright (c) 1994, 1999 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
|
@ -27,8 +27,9 @@
|
|||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#pragma warning ( disable : 4018 )
|
||||
#if defined(_MSC_VER) /* Handle Microsoft VC++ compiler specifics. */
|
||||
#pragma warning ( disable : 4018 )
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
|
@ -49,7 +50,7 @@ __weak_alias(sl_init,_sl_init)
|
|||
__weak_alias(sl_delete,_sl_delete)
|
||||
#endif
|
||||
|
||||
#define _SL_CHUNKSIZE 20
|
||||
#define _SL_CHUNKSIZE 20
|
||||
|
||||
/*
|
||||
* sl_init(): Initialize a string list
|
||||
|
@ -57,20 +58,20 @@ __weak_alias(sl_delete,_sl_delete)
|
|||
StringList *
|
||||
sl_init(void)
|
||||
{
|
||||
StringList *sl;
|
||||
StringList *sl;
|
||||
|
||||
sl = malloc(sizeof(StringList));
|
||||
if (sl == NULL)
|
||||
return NULL;
|
||||
sl = malloc(sizeof(StringList));
|
||||
if (sl == NULL)
|
||||
return NULL;
|
||||
|
||||
sl->sl_cur = 0;
|
||||
sl->sl_max = _SL_CHUNKSIZE;
|
||||
sl->sl_str = malloc(sl->sl_max * sizeof(char *));
|
||||
if (sl->sl_str == NULL) {
|
||||
free(sl);
|
||||
sl = NULL;
|
||||
}
|
||||
return sl;
|
||||
sl->sl_cur = 0;
|
||||
sl->sl_max = _SL_CHUNKSIZE;
|
||||
sl->sl_str = malloc(sl->sl_max * sizeof(char *));
|
||||
if (sl->sl_str == NULL) {
|
||||
free(sl);
|
||||
sl = NULL;
|
||||
}
|
||||
return sl;
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,20 +82,20 @@ int
|
|||
sl_add(StringList *sl, char *name)
|
||||
{
|
||||
|
||||
_DIAGASSERT(sl != NULL);
|
||||
_DIAGASSERT(sl != NULL);
|
||||
|
||||
if (sl->sl_cur == sl->sl_max - 1) {
|
||||
char **new;
|
||||
if (sl->sl_cur == sl->sl_max - 1) {
|
||||
char **new;
|
||||
|
||||
new = realloc(sl->sl_str,
|
||||
(sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));
|
||||
if (new == NULL)
|
||||
return -1;
|
||||
sl->sl_max += _SL_CHUNKSIZE;
|
||||
sl->sl_str = new;
|
||||
}
|
||||
sl->sl_str[sl->sl_cur++] = name;
|
||||
return 0;
|
||||
new = realloc(sl->sl_str,
|
||||
(sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));
|
||||
if (new == NULL)
|
||||
return -1;
|
||||
sl->sl_max += _SL_CHUNKSIZE;
|
||||
sl->sl_str = new;
|
||||
}
|
||||
sl->sl_str[sl->sl_cur++] = name;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -104,17 +105,17 @@ sl_add(StringList *sl, char *name)
|
|||
void
|
||||
sl_free(StringList *sl, int all)
|
||||
{
|
||||
size_t i;
|
||||
size_t i;
|
||||
|
||||
if (sl == NULL)
|
||||
return;
|
||||
if (sl->sl_str) {
|
||||
if (all)
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
free(sl->sl_str[i]);
|
||||
free(sl->sl_str);
|
||||
}
|
||||
free(sl);
|
||||
if (sl == NULL)
|
||||
return;
|
||||
if (sl->sl_str) {
|
||||
if (all)
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
free(sl->sl_str[i]);
|
||||
free(sl->sl_str);
|
||||
}
|
||||
free(sl);
|
||||
}
|
||||
|
||||
|
||||
|
@ -124,31 +125,31 @@ sl_free(StringList *sl, int all)
|
|||
char *
|
||||
sl_find(StringList *sl, const char *name)
|
||||
{
|
||||
size_t i;
|
||||
size_t i;
|
||||
|
||||
_DIAGASSERT(sl != NULL);
|
||||
_DIAGASSERT(sl != NULL);
|
||||
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
if (strcmp(sl->sl_str[i], name) == 0)
|
||||
return sl->sl_str[i];
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
if (strcmp(sl->sl_str[i], name) == 0)
|
||||
return sl->sl_str[i];
|
||||
|
||||
return NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
sl_delete(StringList *sl, const char *name, int all)
|
||||
{
|
||||
size_t i, j;
|
||||
size_t i, j;
|
||||
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
if (strcmp(sl->sl_str[i], name) == 0) {
|
||||
if (all)
|
||||
free(sl->sl_str[i]);
|
||||
for (j = i + 1; j < sl->sl_cur; j++)
|
||||
sl->sl_str[j - 1] = sl->sl_str[j];
|
||||
sl->sl_str[--sl->sl_cur] = NULL;
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
for (i = 0; i < sl->sl_cur; i++)
|
||||
if (strcmp(sl->sl_str[i], name) == 0) {
|
||||
if (all)
|
||||
free(sl->sl_str[i]);
|
||||
for (j = i + 1; j < sl->sl_cur; j++)
|
||||
sl->sl_str[j - 1] = sl->sl_str[j];
|
||||
sl->sl_str[--sl->sl_cur] = NULL;
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -120,9 +120,9 @@
|
|||
StdLib/PosixLib/Stringlist/LibStringlist.inf
|
||||
|
||||
# Socket Libraries - LibC based
|
||||
StdLib/BsdSocketLib/BsdSocketLib.inf
|
||||
StdLib/EfiSocketLib/EfiSocketLib.inf
|
||||
StdLib/UseSocketDxe/UseSocketDxe.inf
|
||||
# StdLib/BsdSocketLib/BsdSocketLib.inf
|
||||
# StdLib/EfiSocketLib/EfiSocketLib.inf
|
||||
# StdLib/UseSocketDxe/UseSocketDxe.inf
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#include <Protocol/SimpleFileSystem.h>
|
||||
|
||||
#include <wchar.h>
|
||||
#include <stdarg.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/unistd.h>
|
||||
|
||||
|
@ -104,7 +105,7 @@ struct fileops {
|
|||
|
||||
/* Call the fbadop_* version of these functions if not implemented by the device. */
|
||||
int (EFIAPI *fo_stat) (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
||||
int (EFIAPI *fo_ioctl) (struct __filedes *filp, ULONGN Cmd, void *argp);
|
||||
int (EFIAPI *fo_ioctl) (struct __filedes *filp, ULONGN Cmd, va_list argp);
|
||||
int (EFIAPI *fo_delete) (struct __filedes *filp);
|
||||
int (EFIAPI *fo_rmdir) (struct __filedes *filp);
|
||||
int (EFIAPI *fo_mkdir) (const char *path, __mode_t perms);
|
||||
|
@ -159,7 +160,7 @@ short EFIAPI fnullop_poll (struct __filedes *filp, short Events);
|
|||
int EFIAPI fnullop_flush (struct __filedes *filp);
|
||||
|
||||
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, void *argp);
|
||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, va_list argp);
|
||||
int EFIAPI fbadop_delete (struct __filedes *filp);
|
||||
int EFIAPI fbadop_rmdir (struct __filedes *filp);
|
||||
int EFIAPI fbadop_mkdir (const char *path, __mode_t perms);
|
||||
|
|
Loading…
Reference in New Issue