~ubuntu-branches/ubuntu/intrepid/parted/intrepid

« back to all changes in this revision

Viewing changes to gnulib/lib/gethostname.c

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2008-06-24 14:31:05 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080624143105-rd7yw67a9qnvh51i
Tags: 1.8.8.git.2008.03.24-7ubuntu1
* Resynchronise with Debian (LP: #237568). Remaining changes:
  - swap-uuid.dpatch: Create UUIDs on new swap partitions.
  - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a
    protective MBR.
  - Add -fno-stack-protector on sparc.
  - sparc-new-label.dpatch: Fix sparc disk label generation. This is
    required for LDOM and parallel installations with Solaris 10.
  - loop-partitions.dpatch: Loop devices can only have one partition, so
    don't generate device names such as "/dev/loop0p1".
  - unpartitioned-disks.dpatch: Don't try to call BLKPG ioctls on
    unpartitionable disks (only implemented for loop devices at the
    moment), as they will always fail.
  - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS.
  - Cell partition tables are misdetected as pc98, so disable pc98 support
    on powerpc.
  - array-bounds.dpatch: Backport patch from git to allow building with
    gcc-4.3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* gethostname emulation for SysV and POSIX.1.
 
2
 
 
3
   Copyright (C) 1992, 2003, 2006 Free Software Foundation, Inc.
 
4
 
 
5
   This program is free software; you can redistribute it and/or modify
 
6
   it under the terms of the GNU General Public License as published by
 
7
   the Free Software Foundation; either version 2, or (at your option)
 
8
   any later version.
 
9
 
 
10
   This program is distributed in the hope that it will be useful,
 
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
   GNU General Public License for more details.
 
14
 
 
15
   You should have received a copy of the GNU General Public License
 
16
   along with this program; if not, write to the Free Software Foundation,
 
17
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
18
 
 
19
/* David MacKenzie <djm@gnu.ai.mit.edu> */
 
20
 
 
21
#include <config.h>
 
22
 
 
23
#ifdef HAVE_UNAME
 
24
# include <sys/utsname.h>
 
25
#endif
 
26
 
 
27
/* Put up to LEN chars of the host name into NAME.
 
28
   Null terminate it if the name is shorter than LEN.
 
29
   Return 0 if ok, -1 if error.  */
 
30
 
 
31
#include <stddef.h>
 
32
 
 
33
int
 
34
gethostname (char *name, size_t len)
 
35
{
 
36
#ifdef HAVE_UNAME
 
37
  struct utsname uts;
 
38
 
 
39
  if (uname (&uts) == -1)
 
40
    return -1;
 
41
  if (len > sizeof (uts.nodename))
 
42
    {
 
43
      /* More space than we need is available.  */
 
44
      name[sizeof (uts.nodename)] = '\0';
 
45
      len = sizeof (uts.nodename);
 
46
    }
 
47
  strncpy (name, uts.nodename, len);
 
48
#else
 
49
  strcpy (name, "");            /* Hardcode your system name if you want.  */
 
50
#endif
 
51
  return 0;
 
52
}