Bugzilla – Attachment 420 Details for
Bug 670
SunOS 4.1.2 libs do not contain strtoul, used in moduli.c
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Add strtoul in openbsd-compat/
openssh-strtoul.patch (text/plain), 5.42 KB, created by
Darren Tucker
on 2003-09-18 13:56:28 AEST
(
hide
)
Description:
Add strtoul in openbsd-compat/
Filename:
MIME Type:
Creator:
Darren Tucker
Created:
2003-09-18 13:56:28 AEST
Size:
5.42 KB
patch
obsolete
>Index: configure.ac >=================================================================== >RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/configure.ac,v >retrieving revision 1.155 >diff -u -p -r1.155 configure.ac >--- configure.ac 16 Sep 2003 05:40:49 -0000 1.155 >+++ configure.ac 18 Sep 2003 03:49:47 -0000 >@@ -722,7 +722,7 @@ AC_CHECK_FUNCS(\ > setdtablesize setegid setenv seteuid setgroups setlogin setpcred \ > setproctitle setregid setresgid setresuid setreuid setrlimit \ > setsid setvbuf sigaction sigvec snprintf socketpair strerror \ >- strlcat strlcpy strmode strnvis sysconf tcgetpgrp \ >+ strlcat strlcpy strmode strnvis strtoul sysconf tcgetpgrp \ > truncate utimes vhangup vsnprintf waitpid \ > ) > >Index: openbsd-compat/Makefile.in >=================================================================== >RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/openbsd-compat/Makefile.in,v >retrieving revision 1.28 >diff -u -p -r1.28 Makefile.in >--- openbsd-compat/Makefile.in 24 Jul 2003 06:52:14 -0000 1.28 >+++ openbsd-compat/Makefile.in 18 Sep 2003 03:50:13 -0000 >@@ -16,7 +16,7 @@ RANLIB=@RANLIB@ > INSTALL=@INSTALL@ > LDFLAGS=-L. @LDFLAGS@ > >-OPENBSD=base64.o basename.o bindresvport.o daemon.o dirname.o getcwd.o getgrouplist.o getopt.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o readpassphrase.o realpath.o rresvport.o setenv.o setproctitle.o sigact.o strlcat.o strlcpy.o strmode.o strsep.o vis.o >+OPENBSD=base64.o basename.o bindresvport.o daemon.o dirname.o getcwd.o getgrouplist.o getopt.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o readpassphrase.o realpath.o rresvport.o setenv.o setproctitle.o sigact.o strlcat.o strlcpy.o strmode.o strsep.o strtoul.o vis.o > > COMPAT=bsd-arc4random.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o bsd-misc.o bsd-nextstep.o bsd-snprintf.o bsd-waitpid.o fake-rfc2553.o xmmap.o xcrypt.o > >Index: openbsd-compat/strtoul.c >=================================================================== >RCS file: openbsd-compat/strtoul.c >diff -N openbsd-compat/strtoul.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ openbsd-compat/strtoul.c 18 Sep 2003 03:48:58 -0000 >@@ -0,0 +1,112 @@ >+/* >+ * Copyright (c) 1990 Regents of the University of California. >+ * All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * 3. Neither the name of the University nor the names of its contributors >+ * may be used to endorse or promote products derived from this software >+ * without specific prior written permission. >+ * >+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND >+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE >+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE >+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS >+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) >+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT >+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >+ * SUCH DAMAGE. >+ */ >+ >+#include "includes.h" >+#ifndef HAVE_STRTOUL >+ >+#if defined(LIBC_SCCS) && !defined(lint) >+static char *rcsid = "$OpenBSD: strtoul.c,v 1.5 2003/06/02 20:18:38 millert Exp $"; >+#endif /* LIBC_SCCS and not lint */ >+ >+#include <ctype.h> >+#include <errno.h> >+#include <limits.h> >+#include <stdlib.h> >+ >+/* >+ * Convert a string to an unsigned long integer. >+ * >+ * Ignores `locale' stuff. Assumes that the upper and lower case >+ * alphabets and digits are each contiguous. >+ */ >+unsigned long >+strtoul(nptr, endptr, base) >+ const char *nptr; >+ char **endptr; >+ register int base; >+{ >+ register const char *s; >+ register unsigned long acc, cutoff; >+ register int c; >+ register int neg, any, cutlim; >+ >+ /* >+ * See strtol for comments as to the logic used. >+ */ >+ s = nptr; >+ do { >+ c = (unsigned char) *s++; >+ } while (isspace(c)); >+ if (c == '-') { >+ neg = 1; >+ c = *s++; >+ } else { >+ neg = 0; >+ if (c == '+') >+ c = *s++; >+ } >+ if ((base == 0 || base == 16) && >+ c == '0' && (*s == 'x' || *s == 'X')) { >+ c = s[1]; >+ s += 2; >+ base = 16; >+ } >+ if (base == 0) >+ base = c == '0' ? 8 : 10; >+ >+ cutoff = ULONG_MAX / (unsigned long)base; >+ cutlim = ULONG_MAX % (unsigned long)base; >+ for (acc = 0, any = 0;; c = (unsigned char) *s++) { >+ if (isdigit(c)) >+ c -= '0'; >+ else if (isalpha(c)) >+ c -= isupper(c) ? 'A' - 10 : 'a' - 10; >+ else >+ break; >+ if (c >= base) >+ break; >+ if (any < 0) >+ continue; >+ if (acc > cutoff || acc == cutoff && c > cutlim) { >+ any = -1; >+ acc = ULONG_MAX; >+ errno = ERANGE; >+ } else { >+ any = 1; >+ acc *= (unsigned long)base; >+ acc += c; >+ } >+ } >+ if (neg && any > 0) >+ acc = -acc; >+ if (endptr != 0) >+ *endptr = (char *) (any ? s - 1 : nptr); >+ return (acc); >+} >+#endif /* !HAVE_STRTOUL */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 670
: 420