annotate linux/strsep.c @ 8365:423a19edc0a4

This patch makes it possible to navigate among the subtitles while playing movies. It can be very useful when using desynched subtitles. A new command 'sub_step' is added, which takes an integer argument. 'sub_step +1' will immediately display the next subtitle, adjusting sub_delay as if one had used the 'sub_delay' command to navigate to the subtitle. 'sub_step -1' displays the previous subtitle and adjusts the sub_delay. By using these two commands you can navigate among the subtitles without having to search blindly using 'sub_delay'. patch by Oskar Liljeblad (oskar@osk.mine.nu)
author arpi
date Thu, 05 Dec 2002 00:15:56 +0000
parents cbf0fed4d211
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5393
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
1 /* strsep implementation for systems that do not have it in libc */
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
2
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
3 #include <stdio.h>
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
4 #include <string.h>
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
5
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
6 #include "../config.h"
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
7
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
8 #ifndef HAVE_STRSEP
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
9 char *strsep(char **stringp, const char *delim) {
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
10 char *begin, *end;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
11
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
12 begin = *stringp;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
13 if(begin == NULL)
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
14 return NULL;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
15
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
16 if(delim[0] == '\0' || delim[1] == '\0') {
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
17 char ch = delim[0];
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
18
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
19 if(ch == '\0')
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
20 end = NULL;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
21 else {
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
22 if(*begin == ch)
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
23 end = begin;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
24 else if(*begin == '\0')
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
25 end = NULL;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
26 else
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
27 end = strchr(begin + 1, ch);
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
28 }
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
29 }
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
30 else
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
31 end = strpbrk(begin, delim);
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
32
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
33 if(end) {
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
34 *end++ = '\0';
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
35 *stringp = end;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
36 }
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
37 else
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
38 *stringp = NULL;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
39
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
40 return begin;
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
41 }
cbf0fed4d211 Add a configure test for the strsep function (it's missing on solaris)
jkeil
parents:
diff changeset
42 #endif