Mercurial > gnulib
view lib/strndup.c @ 20324:c2059042792e
(strndup): Include stdio.h and sys/types.h to
get definition of NULL and size_t on SunOS4.1.3.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Wed, 03 Jul 1996 03:59:02 +0000 |
parents | c11b673b9746 |
children | b4ef1c1a0171 |
line wrap: on
line source
/* Copyright (C) 1996 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include <stdio.h> #include <sys/types.h> #ifdef STDC_HEADERS # include <string.h> # include <stdlib.h> #else char *malloc (); #endif /* Duplicate S, returning an identical malloc'd string. */ char * strndup (s, n) const char *s; size_t n; { char *new = malloc (n + 1); if (new == NULL) return NULL; memcpy (new, s, n); new[n] = '\0'; return new; }