about summary refs log tree commit diff
path: root/stdlib/l64a.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-10-29 20:33:40 +0000
committerUlrich Drepper <drepper@redhat.com>1997-10-29 20:33:40 +0000
commitdd7d45e838a42b0ed470c44b55901ea98d0c2bab (patch)
tree446414c64662a5c665483243759abf74060027df /stdlib/l64a.c
parentaf6f39063b4433ee73647159200d105994d75b49 (diff)
downloadglibc-dd7d45e838a42b0ed470c44b55901ea98d0c2bab.tar.gz
glibc-dd7d45e838a42b0ed470c44b55901ea98d0c2bab.tar.xz
glibc-dd7d45e838a42b0ed470c44b55901ea98d0c2bab.zip
Update.
1997-10-29 21:20  Ulrich Drepper  <drepper@cygnus.com>

	* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
	pointers are tied set mode according to current stream mode.

	* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
	199506L.
	Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
	* manual/creature.texi: Describe this.

	* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
	recv, recvfrom, and recvmsg as cancelation points.
	* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
	functions.

1997-10-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Make-dist (try-sysdeps): Don't look for stub files anymore.

	* manual/maint.texi (Porting): Remove another reference to stub
	directory.

	* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
	generic subdir.
	* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
	* sysdeps/unix/sysv/irix4/swapon.c: Likewise

1997-10-29 03:54  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
	in all error cases (PR 244).

1997-10-29 00:56  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
	Optimize by using mempcpy.

1997-10-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* po/Makefile ($(mo-installed)): Don't fail during installation if
	files don't exist (might happen if msgfmt doesn't exist) (PR 328).
	Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

1997-10-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
	Pointed out by Klaus Espenlaub
	<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).

1997-10-28 17:40  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
	zero isn't enough to determine illegal arguments.
	* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
	* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.

1997-10-28 17:14  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi (S_ISVTX): Describe that it is available with
	_BSD_SOURCE only.
	Reported by Jochen Hein <jochen.hein@delphi.central.de>.

1997-10-28 04:26  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzfile.c (__tzfile_compute): Use negated value of offset for
	timezone variable.
	* time/tzset.c (tz_compute): Likewise.
	Reported by Erik Troan <ewt@redhat.com>.

1997-10-28 02:51  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi: Correct prototype in readdir_r description.
	Reported by Jim Meyering <meyering@eng.ascend.com>.

1997-10-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).

1997-10-26 19:39  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* stdlib/l64a.c: Produce a useful result for n < 0.
	* stdlib/a64l.c: Use unsigned type for working variable.
	* manual/string.texi (general): Grammar, typo, overfull fixes.
	(strlen): Insert warning about sizeof(char *).
	(a64l, l64a): Make documentation agree with implementation.

	* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
	* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
Diffstat (limited to 'stdlib/l64a.c')
-rw-r--r--stdlib/l64a.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/stdlib/l64a.c b/stdlib/l64a.c
index ba7a910c96..9fbde5d139 100644
--- a/stdlib/l64a.c
+++ b/stdlib/l64a.c
@@ -36,21 +36,20 @@ char *
 l64a (n)
      long int n;
 {
+  unsigned long int m = (unsigned long int) n;
   static char result[7];
   int cnt;
 
-  if (n <= 0l)
-    /* The value for N == 0 is defined to be the empty string.  When a
-       negative value is given the result is undefined.  We will
-       return the empty string.  */
+  if (m == 0l)
+    /* The value for N == 0 is defined to be the empty string. */
     return (char *) "";
 
   result[6] = '\0';
 
-  for (cnt = 5; n > 0; --cnt)
+  for (cnt = 5; m > 0; --cnt)
     {
-      result[cnt] = conv_table[n & 0x3f];
-      n >>= 6;
+      result[cnt] = conv_table[m & 0x3f];
+      m >>= 6;
     }
 
   return &result[cnt + 1];