view osdep/strsep.c @ 19706:cf29467223c7

sync of existing (German) xml docs: r19686: Remove the most outdated entries, small updates. r19685: Fix mailing list URLs. r19677: lists.mplayerhq.hu URL fix, comment out mailing list search. r19634: (keyword properties fixed in English version, fixed revision tag in German version of radio.xml) r19609: wording/markup fixes r19607: mention -demuxer lavf in the dvb input section r19589: Fix build after radio commit (here: only install.xml was changed) r19574: Radio support (here: mention radio support in install.xml) r19504: How to handle broken/copy protected VOB files?
author kraymer
date Wed, 06 Sep 2006 11:27:12 +0000
parents 08cac43f1e38
children 936209c39ed1
line wrap: on
line source

/* strsep implementation for systems that do not have it in libc */

#include <stdio.h>
#include <string.h>

#include "config.h"

#ifndef HAVE_STRSEP
char *strsep(char **stringp, const char *delim) {
  char *begin, *end;

  begin = *stringp;
  if(begin == NULL)
    return NULL;

  if(delim[0] == '\0' || delim[1] == '\0') {
    char ch = delim[0];

    if(ch == '\0')
      end = NULL;
    else {
      if(*begin == ch)
        end = begin;
      else if(*begin == '\0')
        end = NULL;
      else
        end = strchr(begin + 1, ch);
    }
  }
  else
    end = strpbrk(begin, delim);

  if(end) {
    *end++ = '\0';
    *stringp = end;
  }
  else
    *stringp = NULL;
 
  return begin;
}
#endif