--- misc/glibc-2.1.3/posix/config.h Mon Mar 31 09:43:50 2008 +++ misc/build/glibc-2.1.3/posix/config.h Mon Mar 31 09:43:26 2008 @@ -1 +1,42 @@ -dummy +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifdef WNT +#include +#define getenv getenv +#endif + + +#if defined(MACOSX) +//Workaround for MACOS +#define getopt my_neues_getopt +#define opterr my_neues_opterr +#define optind my_neues_optind +#define optopt my_neues_optopt +#endif + + --- misc/glibc-2.1.3/posix/getopt.h Sun Aug 27 16:11:33 2000 +++ misc/build/glibc-2.1.3/posix/getopt.h Mon Mar 31 09:42:01 2008 @@ -131,7 +131,7 @@ /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ -extern int getopt (int __argc, char *const *__argv, const char *__shortopts); +extern int getopt (int argc, char *const *argv, const char *shortopts); # else /* not __GNU_LIBRARY__ */ extern int getopt (); # endif /* __GNU_LIBRARY__ */ @@ -137,14 +137,14 @@ # endif /* __GNU_LIBRARY__ */ # ifndef __need_getopt -extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts, +extern int getopt_long (int argc, char *const *argv, const char *shortopts, const struct option *__longopts, int *__longind); -extern int getopt_long_only (int __argc, char *const *__argv, +extern int getopt_long_only (int argc, char *const *argv, const char *__shortopts, const struct option *__longopts, int *__longind); /* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int __argc, char *const *__argv, +extern int _getopt_internal (int argc, char *const *argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only); --- misc/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:50 2008 +++ misc/build/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:38 2008 @@ -1 +1,70 @@ -dummy +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/..$/.. + +PRJNAME=external +TARGET=gnu_getopt +LIBTARGET=NO + +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +SOLARINC+=-I.. + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +CDEFS+=-DHAVE_STRING_H -DHAVE_CONFIG_H + +# --- Files -------------------------------------------------------- + +.IF "$(HAVE_GETOPT)" != "YES" +OBJFILES= $(OBJ)$/getopt.obj \ + $(OBJ)$/getopt1.obj + +LIB1TARGET=$(SLB)$/$(TARGET).lib +LIB1ARCHIV=$(LB)$/lib$(TARGET).a +LIB1OBJFILES=$(OBJFILES) +.ENDIF + +.IF "$(HAVE_READDIR_R)" != "YES" && "$(OS)" != "WNT" +TARGET2=gnu_readdir_r +OBJFILES+= $(OBJ)$/readdir_r.obj +LIB2TARGET=$(SLB)$/$(TARGET2).lib +LIB2ARCHIV=$(LB)$/lib$(TARGET2).a +LIB2OBJFILES= $(OBJ)$/readdir_r.obj +.ENDIF + +.IF "$(HAVE_READDIR_R)" == "YES" && "$(HAVE_GETOPT)" == "YES" +@all: + @echo "Nothing to do here. +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk --- misc/glibc-2.1.3/posix/readdir_r.c Mon Mar 31 09:43:50 2008 +++ misc/build/glibc-2.1.3/posix/readdir_r.c Mon Mar 31 09:42:01 2008 @@ -1 +1,56 @@ -dummy +/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __READDIR_R +# define __READDIR_R readdir_r +# define DIRENT_TYPE struct dirent +#endif + +/* Read a directory entry from DIRP. */ +int +__READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) +{ + DIRENT_TYPE *dp; + size_t reclen; + + errno = 0; + /* call our non-reentrant counterpart to get the information */ + dp = readdir(dirp); + + /* copy the result into entry */ + if (dp != NULL) { + reclen = dp->d_reclen; /* This might be NetBSD-specific + * Add #ifdef's if anything else needed */ + *result = memcpy(entry, dp, reclen); + } else { + *result = NULL; + } + + return dp != NULL ? 0 : errno ? errno : 0; +} + +