Browse Source

Update man page and sccs tags from lite2. Minor cleanup by me as well.

OPENBSD_2_2
millert 27 years ago
parent
commit
0b5e6d974b
2 changed files with 30 additions and 18 deletions
  1. +13
    -10
      src/lib/libc/string/strdup.3
  2. +17
    -8
      src/lib/libc/string/strdup.c

+ 13
- 10
src/lib/libc/string/strdup.3 View File

@ -1,5 +1,7 @@
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\" $OpenBSD: strdup.3,v 1.4 1997/08/20 04:18:51 millert Exp $
.\"
.\" Copyright (c) 1990, 1991, 1993
.\" The 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
@ -29,9 +31,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $OpenBSD: strdup.3,v 1.3 1996/10/29 23:41:57 michaels Exp $
.\" @(#)strdup.3 8.1 (Berkeley) 6/9/93
.\"
.Dd April 19, 1991
.Dd June 9, 1993
.Dt STRDUP 3
.Os
.Sh NAME
@ -52,13 +54,14 @@ does the copy, and returns a pointer to it.
The pointer may subsequently be used as an
argument to the function
.Xr free 3 .
.Pp
If insufficient memory is available, NULL is returned.
.Sh SEE ALSO
.Xr free 3 ,
.Xr malloc 3 ,
.Xt strcpy 3 ,
.Xt strlen 3
.Xr free 3
.Xr malloc 3
.Xr strcpy 3
.Xr strlen 3
.Sh HISTORY
The
.Fn strdup
function is
.Ud .
function first appeared in 4.4BSD.

+ 17
- 8
src/lib/libc/string/strdup.c View File

@ -1,6 +1,8 @@
/* $OpenBSD: strdup.c,v 1.3 1997/08/20 04:18:52 millert Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 1988, 1993
* The 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
@ -32,9 +34,16 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char *rcsid = "$OpenBSD: strdup.c,v 1.2 1996/08/19 08:34:16 tholo Exp $";
#if 0
static char sccsid[] = "@(#)strdup.c 8.1 (Berkeley) 6/4/93";
#else
static char *rcsid = "$OpenBSD: strdup.c,v 1.3 1997/08/20 04:18:52 millert Exp $";
#endif
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
@ -42,12 +51,12 @@ char *
strdup(str)
const char *str;
{
size_t len;
size_t siz;
char *copy;
len = strlen(str) + 1;
if (!(copy = malloc(len)))
return((char *)NULL);
memcpy(copy, str, len);
siz = strlen(str) + 1;
if ((copy = malloc(siz)) == NULL)
return(NULL);
(void)memcpy(copy, str, siz);
return(copy);
}

Loading…
Cancel
Save