From d8710e24c47bf5d7c3dc3a77127d08e4568dc335 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sun, 11 Feb 2018 00:10:36 +0000 Subject: [PATCH] Solaris 10 compatability --- src/OS/os.c-SunOS5 | 13 ++++++++++++- src/OS/os.h-SunOS5 | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/OS/os.c-SunOS5 b/src/OS/os.c-SunOS5 index 162486958..69305e2cc 100644 --- a/src/OS/os.c-SunOS5 +++ b/src/OS/os.c-SunOS5 @@ -3,7 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 2016 */ -/* Copyright (c) Jeremy Harris 2016 */ +/* Copyright (c) Jeremy Harris 2018 */ /* See the file NOTICE for conditions of use and distribution. */ /* Solaris-specific code. This is concatenated onto the generic @@ -13,4 +13,15 @@ src/os.c file. */ # include "setenv.c" #endif +/* This is missing in Solaris 10, present in Solaris 11. +A feature-test would be good. */ + +char * +strndup(const char * s, size_t n) +{ +char * dest; +if (!(dest = malloc(n))) return NULL; +return strncpy(dest, s, n); +} + /* End of os.c-SunOS5 */ diff --git a/src/OS/os.h-SunOS5 b/src/OS/os.h-SunOS5 index dfbd8f1af..f51b009ef 100644 --- a/src/OS/os.h-SunOS5 +++ b/src/OS/os.h-SunOS5 @@ -48,4 +48,6 @@ a buffer */ # define MAX(a,b) (((a)>(b))?(a):(b)) #endif +extern char * strndup(const char *, size_t); + /* End */ -- 2.30.2