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

« back to all changes in this revision

Viewing changes to gnulib/lib/unistr/u-strtok.h

  • 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
/* Tokenize UTF-8/UTF-16/UTF-32 string.
 
2
   Copyright (C) 1999, 2002, 2006 Free Software Foundation, Inc.
 
3
   Written by Bruno Haible <bruno@clisp.org>, 2002.
 
4
 
 
5
   This program is free software; you can redistribute it and/or modify it
 
6
   under the terms of the GNU Library General Public License as published
 
7
   by 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 GNU
 
13
   Library General Public License for more details.
 
14
 
 
15
   You should have received a copy of the GNU Library General Public
 
16
   License along with this program; if not, write to the Free Software
 
17
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 
18
   USA.  */
 
19
 
 
20
UNIT *
 
21
FUNC (UNIT *str, const UNIT *delim, UNIT **ptr)
 
22
{
 
23
  if (str == NULL)
 
24
    {
 
25
      str = *ptr;
 
26
      if (str == NULL)
 
27
        return NULL; /* reminder that end of token sequence has been reached */
 
28
    }
 
29
 
 
30
  /* Skip leading delimiters.  */
 
31
  str += U_STRSPN (str, delim);
 
32
 
 
33
  /* Found a token?  */
 
34
  if (*str == 0)
 
35
    {
 
36
      *ptr = NULL;
 
37
      return NULL;
 
38
    }
 
39
 
 
40
  /* Move past the token. */
 
41
  {
 
42
    UNIT *token_end = U_STRPBRK (str, delim);
 
43
    if (token_end)
 
44
      {
 
45
        /* NUL-terminate the token.  */
 
46
        *token_end = 0;
 
47
        *ptr = token_end + 1;
 
48
      }
 
49
    else
 
50
      *ptr = NULL;
 
51
  }
 
52
 
 
53
  return str;
 
54
}