Signed-off-by: Jeremy Huddleston <[email protected]> --- Makefile.am | 2 +- strnlen.c | 37 +++++++++++++++++++++++++++++++++++++ strnlen.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletions(-) create mode 100644 strnlen.c create mode 100644 strnlen.h diff --git a/Makefile.am b/Makefile.am index 59887e2..94f3111 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,7 @@ bin_PROGRAMS = xlsclients AM_CFLAGS = $(CWARNFLAGS) $(XLSCLIENTS_CFLAGS) -xlsclients_LDADD = $(XLSCLIENTS_LIBS) +xlsclients_LDADD = $(XLSCLIENTS_LIBS) $(LIBOBJS) xlsclients_SOURCES = \ xlsclients.c diff --git a/strnlen.c b/strnlen.c new file mode 100644 index 0000000..725e262 --- /dev/null +++ b/strnlen.c @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2009 Apple Inc. + *+ * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions: + *+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software. + *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+ /*
+ * Author: Jeremy Huddleston, Apple Inc.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <strnlen.h>
+#include <string.h>
+
+size_t strnlen(const char *s, size_t maxlen) {
+ const char *p = memchr(s, 0, maxlen);
+ return (size_t)(p ? (p - s) : maxlen);
+}
diff --git a/strnlen.h b/strnlen.h
new file mode 100644
index 0000000..8e47ca8
--- /dev/null
+++ b/strnlen.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2009 Apple Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person
obtaining a
+ * copy of this software and associated documentation files (the
"Software"),
+ * to deal in the Software without restriction, including without
limitation
+ * the rights to use, copy, modify, merge, publish, distribute,
sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom
the
+ * Software is furnished to do so, subject to the following conditions: + *+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software. + *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE. + */ + + /* + * Author: Jeremy Huddleston, Apple Inc. + */ + +#ifndef __STRNLEN_H__ +#define __STRNLEN_H__ 1 +#include <stdlib.h> + +extern size_t strnlen(const char *s, size_t maxlen); +#endif __STRNLEN_H__ -- 1.6.3.1 On Oct 20, 2009, at 14:58, Peter Harris wrote:
Jeremy Huddleston wrote:And if strnlen isn't available? ...I must have misread the docs. I thought autoconf was supposed to generate strnlen when it isn't available.Could somebody with better knowledge of auto* than I have please take alook at this? Thanks, Peter Harris -- Open Text Connectivity Solutions Group Peter Harris http://www.opentext.com/connectivity Research and Development Phone: +1 905 762 6001 [email protected] Toll Free: 1 877 359 4866
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
