Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
aa6665a3
Commit
aa6665a3
authored
Nov 21, 2009
by
Clement Chesnin
Committed by
Rémi Denis-Courmont
Nov 21, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add strtok_r() replacement
Signed-off-by:
Rémi Denis-Courmont
<
remi@remlab.net
>
parent
5e7bc5f2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
1 deletion
+57
-1
compat/strtok_r.c
compat/strtok_r.c
+52
-0
configure.ac
configure.ac
+1
-1
include/vlc_fixups.h
include/vlc_fixups.h
+4
-0
No files found.
compat/strtok_r.c
0 → 100755
View file @
aa6665a3
/*****************************************************************************
* strtok_r.c: POSIX strtok_r() replacement
*****************************************************************************
* Copyright © 1998-2009 the VideoLAN project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <string.h>
char
*
strtok_r
(
char
*
s
,
const
char
*
delim
,
char
**
save_ptr
)
{
char
*
token
;
if
(
s
==
NULL
)
s
=
*
save_ptr
;
/* Scan leading delimiters. */
s
+=
strspn
(
s
,
delim
);
if
(
*
s
==
'\0'
)
return
NULL
;
/* Find the end of the token. */
token
=
s
;
s
=
strpbrk
(
token
,
delim
);
if
(
s
==
NULL
)
/* This token finishes the string. */
*
save_ptr
=
strchr
(
token
,
'\0'
);
else
{
/* Terminate the token and make *SAVE_PTR point past it. */
*
s
=
'\0'
;
*
save_ptr
=
s
+
1
;
}
return
token
;
}
configure.ac
View file @
aa6665a3
...
...
@@ -576,7 +576,7 @@ need_libc=false
dnl Check for usual libc functions
AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale])
AC_CHECK_FUNCS(fcntl)
AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab])
AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strto
k_r strto
ll vasprintf swab])
AC_CHECK_FUNCS([stricmp strnicmp])
AC_CHECK_FUNCS(fdatasync,,
[AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
...
...
include/vlc_fixups.h
View file @
aa6665a3
...
...
@@ -146,6 +146,10 @@ char *getcwd (char *buf, size_t size);
pid_t
getpid
(
void
);
#endif
#ifndef HAVE_STRTOK_R
char
*
strtok_r
(
char
*
,
const
char
*
,
char
**
);
#endif
#ifdef __cplusplus
}
/* extern "C" */
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment