Mercurial > hg > octave-kai > gnulib-hg
annotate lib/gethostname.c @ 5848:a48fb0e98c8c
*** empty log message ***
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Sat, 14 May 2005 06:03:57 +0000 |
parents | 3bce69327687 |
children | 8a1a9361108c |
rev | line source |
---|---|
9 | 1 /* gethostname emulation for SysV and POSIX.1. |
4645 | 2 Copyright (C) 1992, 2003 Free Software Foundation, Inc. |
9 | 3 |
4 This program is free software; you can redistribute it and/or modify | |
5 it under the terms of the GNU General Public License as published by | |
6 the Free Software Foundation; either version 2, or (at your option) | |
7 any later version. | |
8 | |
9 This program is distributed in the hope that it will be useful, | |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 GNU General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU General Public License | |
651
242f0fe39aa7
update FSF address in copyright
Jim Meyering <jim@meyering.net>
parents:
9
diff
changeset
|
15 along with this program; if not, write to the Free Software Foundation, |
5848
a48fb0e98c8c
*** empty log message ***
Paul Eggert <eggert@cs.ucla.edu>
parents:
4645
diff
changeset
|
16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
9 | 17 |
18 /* David MacKenzie <djm@gnu.ai.mit.edu> */ | |
19 | |
651
242f0fe39aa7
update FSF address in copyright
Jim Meyering <jim@meyering.net>
parents:
9
diff
changeset
|
20 #ifdef HAVE_CONFIG_H |
653 | 21 # include <config.h> |
651
242f0fe39aa7
update FSF address in copyright
Jim Meyering <jim@meyering.net>
parents:
9
diff
changeset
|
22 #endif |
242f0fe39aa7
update FSF address in copyright
Jim Meyering <jim@meyering.net>
parents:
9
diff
changeset
|
23 |
9 | 24 #ifdef HAVE_UNAME |
653 | 25 # include <sys/utsname.h> |
9 | 26 #endif |
27 | |
28 /* Put up to LEN chars of the host name into NAME. | |
29 Null terminate it if the name is shorter than LEN. | |
30 Return 0 if ok, -1 if error. */ | |
31 | |
4645 | 32 #include <stddef.h> |
33 | |
9 | 34 int |
4645 | 35 gethostname (char *name, size_t len) |
9 | 36 { |
37 #ifdef HAVE_UNAME | |
38 struct utsname uts; | |
39 | |
40 if (uname (&uts) == -1) | |
41 return -1; | |
42 if (len > sizeof (uts.nodename)) | |
43 { | |
44 /* More space than we need is available. */ | |
45 name[sizeof (uts.nodename)] = '\0'; | |
46 len = sizeof (uts.nodename); | |
47 } | |
48 strncpy (name, uts.nodename, len); | |
49 #else | |
50 strcpy (name, ""); /* Hardcode your system name if you want. */ | |
51 #endif | |
52 return 0; | |
53 } |