summaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
Diffstat (limited to 'compat')
-rw-r--r--compat/memcmp.c61
-rw-r--r--compat/stdlib.h4
-rw-r--r--compat/strftime.c8
-rw-r--r--compat/string.h6
4 files changed, 72 insertions, 7 deletions
diff --git a/compat/memcmp.c b/compat/memcmp.c
new file mode 100644
index 0000000..09a5724
--- /dev/null
+++ b/compat/memcmp.c
@@ -0,0 +1,61 @@
+/*
+ * memcmp.c --
+ *
+ * Source code for the "memcmp" library routine.
+ *
+ * Copyright (c) 1998 Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * SCCS: @(#) memcmp.c 1.2 98/01/19 10:48:58
+ */
+
+#include "tcl.h"
+#include "tclPort.h"
+
+/*
+ * Here is the prototype just in case it is not included
+ * in tclPort.h.
+ */
+
+int memcmp _ANSI_ARGS_((CONST VOID *s1,
+ CONST VOID *s2, size_t n));
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * memcmp --
+ *
+ * Compares two bytes sequences.
+ *
+ * Results:
+ * compares its arguments, looking at the first n
+ * bytes (each interpreted as an unsigned char), and returns
+ * an integer less than, equal to, or greater than 0, accord-
+ * ing as s1 is less than, equal to, or
+ * greater than s2 when taken to be unsigned 8 bit numbers.
+ *
+ * Side effects:
+ * None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+memcmp(s1, s2, n)
+ CONST VOID *s1; /* First string. */
+ CONST VOID *s2; /* Second string. */
+ size_t n; /* Length to compare. */
+{
+ unsigned char u1, u2;
+
+ for ( ; n-- ; s1++, s2++) {
+ u1 = * (unsigned char *) s1;
+ u2 = * (unsigned char *) s2;
+ if ( u1 != u2) {
+ return (u1-u2);
+ }
+ }
+ return 0;
+}
diff --git a/compat/stdlib.h b/compat/stdlib.h
index a9f30bc..6edeeae 100644
--- a/compat/stdlib.h
+++ b/compat/stdlib.h
@@ -9,12 +9,12 @@
* declare all the procedures needed here (such as strtod).
*
* Copyright (c) 1991 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
+ * Copyright (c) 1994-1998 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: stdlib.h,v 1.2 1998/09/14 18:39:45 stanton Exp $
+ * RCS: @(#) $Id: stdlib.h,v 1.3 1999/04/16 00:46:30 stanton Exp $
*/
#ifndef _STDLIB
diff --git a/compat/strftime.c b/compat/strftime.c
index e99a046..d588433 100644
--- a/compat/strftime.c
+++ b/compat/strftime.c
@@ -8,7 +8,7 @@
* source. See the copyright notice below for details on redistribution
* restrictions. The "license.terms" file does not apply to this file.
*
- * RCS: @(#) $Id: strftime.c,v 1.2 1998/09/14 18:39:45 stanton Exp $
+ * RCS: @(#) $Id: strftime.c,v 1.3 1999/04/16 00:46:30 stanton Exp $
*/
/*
@@ -45,7 +45,7 @@
*/
#if defined(LIBC_SCCS)
-static char *rcsid = "$Id: strftime.c,v 1.2 1998/09/14 18:39:45 stanton Exp $";
+static char *rcsid = "$Id: strftime.c,v 1.3 1999/04/16 00:46:30 stanton Exp $";
#endif /* LIBC_SCCS */
#include <time.h>
@@ -105,7 +105,7 @@ static size_t _fmt _ANSI_ARGS_((const char *format,
const struct tm *t));
size_t
-TclStrftime(s, maxsize, format, t)
+TclpStrftime(s, maxsize, format, t)
char *s;
size_t maxsize;
const char *format;
@@ -315,7 +315,7 @@ _fmt(format, t)
continue;
#ifndef MAC_TCL
case 'Z': {
- char *name = TclpGetTZName();
+ char *name = TclpGetTZName(t->tm_isdst);
if (name && !_add(name)) {
return 0;
}
diff --git a/compat/string.h b/compat/string.h
index a4df8ab..b7a0653 100644
--- a/compat/string.h
+++ b/compat/string.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: string.h,v 1.2 1998/09/14 18:39:45 stanton Exp $
+ * RCS: @(#) $Id: string.h,v 1.3 1999/04/16 00:46:30 stanton Exp $
*/
#ifndef _STRING
@@ -32,8 +32,12 @@ extern char * memchr _ANSI_ARGS_((CONST VOID *s, int c, size_t n));
extern int memcmp _ANSI_ARGS_((CONST VOID *s1, CONST VOID *s2,
size_t n));
extern char * memcpy _ANSI_ARGS_((VOID *t, CONST VOID *f, size_t n));
+#ifdef NO_MEMMOVE
+#define memmove(d, s, n) bcopy ((s), (d), (n))
+#else
extern char * memmove _ANSI_ARGS_((VOID *t, CONST VOID *f,
size_t n));
+#endif
extern char * memset _ANSI_ARGS_((VOID *s, int c, size_t n));
extern int strcasecmp _ANSI_ARGS_((CONST char *s1,