Skip to content

Commit

Permalink
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
Browse files Browse the repository at this point in the history
	* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
	macros if they are not available.
	(WEAKNAME): New macro to declare argument as weak.
	Define function with __ prefix and add normal name as weak alias.

	* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
	these macros if not already available based on R_OK, W_OK, and
	X_OK.

Tue May 21 18:48:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* misc/sys/syslog.h (__need___va_list): Define this instead of
	__need_va_list before including <stdarg.h>.

	* Makerules (o-iterator): Use $(object-suffixes-left) instead
	of $(object-suffixes) to produce repetitions; this is used for other
	lists than just that one.
	[versioned]: Use $(o-iterator) properly.

	* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
	* sysdeps/mach/hurd/Implies: Likewise.

Sat May 18 02:57:46 1996  Ulrich Drepper  <drepper@cygnus.com>

	* login/Makefile: New file.  This directory contains functions
	for user administration.
	* Makefile (subdirs): Add login.

	* misc/Makefile (headers): Remove utmp.h.  Now in login/utmp.h.
	(extra-libs, libutil-routines): Ditto.
	* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
	misc/utmp.h: Moved to misc/.
	* login/login.c, login/login_tty.c, login/logout.c,
        login/logwtmp.c, login/utmp.h: Moved to here from misc/.

	* login/utmp.h: Split file.  Definitions of data structures
	and constants are now in the system dependent utmpbits.h file.

	* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
	login/endutent.c, login/getutent_r.c, login/getutent.c,
	login/getutid_r.c, login/getutid.c, login/getutline_r.c,
	login/getutline.c, login/pututline_r.c, login/pututline.c:
	New files.  Routines to handle utmp-style files.

	* sysdeps/gnu/utmpbits.h: New file.  Contains GNU/Linux
	specific definitions of utmp data structures and constants.

	* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.

	* sysdeps/generic/utmpbits.h: New file.  Generic (BSDish) version of
	definitions of utmp data structures and constants.

Fri May 17 00:01:31 1996  Ulrich Drepper  <drepper@cygnus.com>

	* locale/C-monetary.c: Default value for mon_decimal_point should be
        '.'.

	* stdio-common/printf.h: Remove Linux libc compatibility stuff.
	Add `extra' flag.  Currently used in __printf_fp.

	* stdio-common/printf_fp.c (__guess_grouping): Renamed from
        `guess_grouping' and extend visibility to extern.  This function
        is now used in `strfmon'.
	(__printf_fp): Recognize new bit flag in info struct.  This
	triggers to use the grouping information and decimal point from
	the LC_MONETARY category instead of the LC_NUMERIC category.

	* stdio-common/vfprintf.c (process_arg): Correct major bug.  In
	`complicated' loop we must not use the varargs because the args
	are already available in the ARGS_VALUE array.

	* stdlib/Makefile (headers): Add monetary.h.
	(routines): Add strfmon.
	* stdlib/monetary.h: New file.  Header for strfmon function.
	* stdlib/strfmon.c: New file.  Implement strfmon function to print
	monetary amounts according to current locale's rules.

	* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
	now (>= Linux-1.3.100) called <asm/vm86.h>.
  • Loading branch information
Roland McGrath committed May 22, 1996
1 parent 1b82a4a commit b8fe19f
Show file tree
Hide file tree
Showing 43 changed files with 1,751 additions and 242 deletions.
82 changes: 82 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,85 @@
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>

* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.

* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.

Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.

* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.

* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.

Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>

* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.

* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.

* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.

* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.

* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.

* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.

* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.

Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>

* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.

* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.

* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.

* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.

* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.

* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.

Thu May 16 00:31:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* Makerules [versioned]: Make symlinks in the build directory, because
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ endif
# These are the subdirectories containing the library source.
subdirs = csu assert ctype db locale intl catgets math setjmp signal stdlib \
stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd\
posix io termios resource misc socket sysvipc gmon gnulib \
posix io termios resource misc login socket sysvipc gmon gnulib \
wctype $(wildcard crypt) manual $(sysdep-subdirs) elf po
export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63.

Expand Down
1 change: 1 addition & 0 deletions config.sub
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ case $basic_machine in
basic_machine=m68k-hp
os=-hpux
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
Expand Down
2 changes: 1 addition & 1 deletion locale/C-monetary.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const struct locale_data _nl_C_LC_MONETARY =
{
{ string: "" },
{ string: "" },
{ string: "" },
{ string: "." },
{ string: "" },
{ string: "\177" },
{ string: "" },
Expand Down
38 changes: 38 additions & 0 deletions login/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright (C) 1996 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.

#
# Sub-makefile for login portion of the library.
#

subdir := login

headers := utmp.h utmpbits.h

routines := setutent endutent getutent getutid getutline pututline \
setutent_r endutent_r getutent_r getutid_r getutline_r \
pututline_r

# Build the -lutil library with these extra functions.
extra-libs := libutil
libutil-routines:= login login_tty logout logwtmp pty


include ../Rules

override CFLAGS += -D_THREAD_SAFE
31 changes: 31 additions & 0 deletions login/endutent.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 <utmp.h>


/* The global data defined in setutent.c. */
extern struct utmp_data __utmp_data;


void
endutent (void)
{
endutent_r (&__utmp_data);
}
32 changes: 32 additions & 0 deletions login/endutent_r.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 <unistd.h>
#include <utmp.h>


void
endutent_r (struct utmp_data *utmp_data)
{
if (utmp_data->ut_fd != -1)
{
close (utmp_data->ut_fd);
utmp_data->ut_fd = -1;
}
}
36 changes: 36 additions & 0 deletions login/getutent.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 <utmp.h>


/* The global data defined in setutent.c. */
extern struct utmp_data __utmp_data;


struct utmp *
getutent (void)
{
struct utmp *result;

if (getutent_r (&result, &__utmp_data) < 0)
return NULL;

return result;
}
50 changes: 50 additions & 0 deletions login/getutent_r.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 <unistd.h>
#include <utmp.h>


int
getutent_r (struct utmp **utmp, struct utmp_data *utmp_data)
{
/* Open utmp file if not already done. */
if (utmp_data->ut_fd == -1)
{
setutent_r (utmp_data);
if (utmp_data->ut_fd == -1)
return -1;
}

/* Position file correctly. */
if (lseek (utmp_data->ut_fd, utmp_data->loc_utmp, SEEK_SET) == -1)
return -1;

/* Read the next entry. */
if (read (utmp_data->ut_fd, &utmp_data->ubuf, sizeof (struct utmp))
!= sizeof (struct utmp))
return -1;

/* Update position pointer. */
utmp_data->loc_utmp += sizeof (struct utmp);

*utmp = &utmp_data->ubuf;

return 0;
}
36 changes: 36 additions & 0 deletions login/getutid.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 <utmp.h>


/* The global data defined in setutent.c. */
extern struct utmp_data __utmp_data;


struct utmp *
getutid (const struct utmp *id)
{
struct utmp *result;

if (getutid_r (id, &result, &__utmp_data) < 0)
return NULL;

return (struct utmp *) result;
}
Loading

0 comments on commit b8fe19f

Please sign in to comment.