mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
compat: run uncrustify
This is the result of running $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h in the compat directory
This commit is contained in:
parent
1a8916786f
commit
8099050c71
17 changed files with 233 additions and 234 deletions
|
@ -4,10 +4,10 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
char *
|
||||
canonicalize_file_name (const char * path)
|
||||
canonicalize_file_name (const char *path)
|
||||
{
|
||||
#ifdef PATH_MAX
|
||||
char *resolved_path = malloc (PATH_MAX+1);
|
||||
char *resolved_path = malloc (PATH_MAX + 1);
|
||||
if (resolved_path == NULL)
|
||||
return NULL;
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct tm tm;
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <stdio.h>
|
||||
#include <pwd.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct passwd passwd, *ignored;
|
||||
|
||||
|
|
|
@ -30,14 +30,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if !STD_GETPWUID
|
||||
#if ! STD_GETPWUID
|
||||
#define _POSIX_PTHREAD_SEMANTICS 1
|
||||
#endif
|
||||
#if !STD_ASCTIME
|
||||
#if ! STD_ASCTIME
|
||||
#define _POSIX_PTHREAD_SEMANTICS 1
|
||||
#endif
|
||||
|
||||
#if !HAVE_CANONICALIZE_FILE_NAME
|
||||
#if ! HAVE_CANONICALIZE_FILE_NAME
|
||||
/* we only call this function from C, and this makes testing easier */
|
||||
#ifndef __cplusplus
|
||||
char *
|
||||
|
@ -45,7 +45,7 @@ canonicalize_file_name (const char *path);
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if !HAVE_GETLINE
|
||||
#if ! HAVE_GETLINE
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
@ -55,31 +55,31 @@ getline (char **lineptr, size_t *n, FILE *stream);
|
|||
ssize_t
|
||||
getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp);
|
||||
|
||||
#endif /* !HAVE_GETLINE */
|
||||
#endif /* !HAVE_GETLINE */
|
||||
|
||||
#if !HAVE_STRCASESTR
|
||||
char* strcasestr(const char *haystack, const char *needle);
|
||||
#endif /* !HAVE_STRCASESTR */
|
||||
#if ! HAVE_STRCASESTR
|
||||
char *strcasestr (const char *haystack, const char *needle);
|
||||
#endif /* !HAVE_STRCASESTR */
|
||||
|
||||
#if !HAVE_STRSEP
|
||||
char *strsep(char **stringp, const char *delim);
|
||||
#endif /* !HAVE_STRSEP */
|
||||
#if ! HAVE_STRSEP
|
||||
char *strsep (char **stringp, const char *delim);
|
||||
#endif /* !HAVE_STRSEP */
|
||||
|
||||
#if !HAVE_TIMEGM
|
||||
#if ! HAVE_TIMEGM
|
||||
#include <time.h>
|
||||
time_t timegm (struct tm *tm);
|
||||
#endif /* !HAVE_TIMEGM */
|
||||
#endif /* !HAVE_TIMEGM */
|
||||
|
||||
/* Silence gcc warnings about unused results. These warnings exist
|
||||
* for a reason; any use of this needs to be justified. */
|
||||
#ifdef __GNUC__
|
||||
#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void)(__z = __z); })
|
||||
#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void) (__z = __z); })
|
||||
#else /* !__GNUC__ */
|
||||
#define IGNORE_RESULT(x) x
|
||||
#endif /* __GNUC__ */
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* NOTMUCH_COMPAT_H */
|
||||
#endif /* NOTMUCH_COMPAT_H */
|
||||
|
|
|
@ -35,9 +35,9 @@
|
|||
* provides support for testing for function attributes.
|
||||
*/
|
||||
#ifndef NORETURN_ATTRIBUTE
|
||||
#if (__GNUC__ >= 3 || \
|
||||
(__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || \
|
||||
__has_attribute (noreturn))
|
||||
#if (__GNUC__ >= 3 || \
|
||||
(__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || \
|
||||
__has_attribute (noreturn))
|
||||
#define NORETURN_ATTRIBUTE __attribute__ ((noreturn))
|
||||
#else
|
||||
#define NORETURN_ATTRIBUTE
|
||||
|
|
|
@ -2,17 +2,18 @@
|
|||
#include <zlib.h>
|
||||
|
||||
static const char *template =
|
||||
"prefix=/usr\n"
|
||||
"exec_prefix=${prefix}\n"
|
||||
"libdir=${exec_prefix}/lib\n"
|
||||
"\n"
|
||||
"Name: zlib\n"
|
||||
"Description: zlib compression library\n"
|
||||
"Version: %s\n"
|
||||
"Libs: -lz\n";
|
||||
"prefix=/usr\n"
|
||||
"exec_prefix=${prefix}\n"
|
||||
"libdir=${exec_prefix}/lib\n"
|
||||
"\n"
|
||||
"Name: zlib\n"
|
||||
"Description: zlib compression library\n"
|
||||
"Version: %s\n"
|
||||
"Libs: -lz\n";
|
||||
|
||||
int main(void)
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
printf(template, ZLIB_VERSION);
|
||||
return 0;
|
||||
printf (template, ZLIB_VERSION);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
/* getdelim.c --- Implementation of replacement getdelim function.
|
||||
Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007,
|
||||
2008, 2009 Free Software Foundation, Inc.
|
||||
|
||||
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 3, 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. */
|
||||
* Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007,
|
||||
* 2008, 2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* 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 3, 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. */
|
||||
|
||||
/* Ported from glibc by Simon Josefsson. */
|
||||
|
||||
|
@ -34,100 +34,92 @@
|
|||
|
||||
#if USE_UNLOCKED_IO
|
||||
# include "unlocked-io.h"
|
||||
# define getc_maybe_unlocked(fp) getc(fp)
|
||||
#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED
|
||||
# define getc_maybe_unlocked(fp) getc (fp)
|
||||
#elif ! HAVE_FLOCKFILE || ! HAVE_FUNLOCKFILE || ! HAVE_DECL_GETC_UNLOCKED
|
||||
# undef flockfile
|
||||
# undef funlockfile
|
||||
# define flockfile(x) ((void) 0)
|
||||
# define funlockfile(x) ((void) 0)
|
||||
# define getc_maybe_unlocked(fp) getc(fp)
|
||||
# define getc_maybe_unlocked(fp) getc (fp)
|
||||
#else
|
||||
# define getc_maybe_unlocked(fp) getc_unlocked(fp)
|
||||
# define getc_maybe_unlocked(fp) getc_unlocked (fp)
|
||||
#endif
|
||||
|
||||
/* Read up to (and including) a DELIMITER from FP into *LINEPTR (and
|
||||
NUL-terminate it). *LINEPTR is a pointer returned from malloc (or
|
||||
NULL), pointing to *N characters of space. It is realloc'ed as
|
||||
necessary. Returns the number of characters read (not including
|
||||
the null terminator), or -1 on error or EOF. */
|
||||
* NUL-terminate it). *LINEPTR is a pointer returned from malloc (or
|
||||
* NULL), pointing to *N characters of space. It is realloc'ed as
|
||||
* necessary. Returns the number of characters read (not including
|
||||
* the null terminator), or -1 on error or EOF. */
|
||||
|
||||
ssize_t
|
||||
getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
|
||||
{
|
||||
ssize_t result = -1;
|
||||
size_t cur_len = 0;
|
||||
ssize_t result = -1;
|
||||
size_t cur_len = 0;
|
||||
|
||||
if (lineptr == NULL || n == NULL || fp == NULL)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
if (lineptr == NULL || n == NULL || fp == NULL) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
flockfile (fp);
|
||||
flockfile (fp);
|
||||
|
||||
if (*lineptr == NULL || *n == 0)
|
||||
{
|
||||
char *new_lineptr;
|
||||
*n = 120;
|
||||
new_lineptr = (char *) realloc (*lineptr, *n);
|
||||
if (new_lineptr == NULL)
|
||||
{
|
||||
result = -1;
|
||||
goto unlock_return;
|
||||
if (*lineptr == NULL || *n == 0) {
|
||||
char *new_lineptr;
|
||||
*n = 120;
|
||||
new_lineptr = (char *) realloc (*lineptr, *n);
|
||||
if (new_lineptr == NULL) {
|
||||
result = -1;
|
||||
goto unlock_return;
|
||||
}
|
||||
*lineptr = new_lineptr;
|
||||
*lineptr = new_lineptr;
|
||||
}
|
||||
|
||||
for (;;)
|
||||
{
|
||||
int i;
|
||||
for (;;) {
|
||||
int i;
|
||||
|
||||
i = getc_maybe_unlocked (fp);
|
||||
if (i == EOF)
|
||||
{
|
||||
result = -1;
|
||||
break;
|
||||
i = getc_maybe_unlocked (fp);
|
||||
if (i == EOF) {
|
||||
result = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Make enough space for len+1 (for final NUL) bytes. */
|
||||
if (cur_len + 1 >= *n)
|
||||
{
|
||||
size_t needed_max =
|
||||
SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
|
||||
size_t needed = 2 * *n + 1; /* Be generous. */
|
||||
char *new_lineptr;
|
||||
/* Make enough space for len+1 (for final NUL) bytes. */
|
||||
if (cur_len + 1 >= *n) {
|
||||
size_t needed_max =
|
||||
SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
|
||||
size_t needed = 2 * *n + 1; /* Be generous. */
|
||||
char *new_lineptr;
|
||||
|
||||
if (needed_max < needed)
|
||||
needed = needed_max;
|
||||
if (cur_len + 1 >= needed)
|
||||
{
|
||||
result = -1;
|
||||
errno = EOVERFLOW;
|
||||
goto unlock_return;
|
||||
if (needed_max < needed)
|
||||
needed = needed_max;
|
||||
if (cur_len + 1 >= needed) {
|
||||
result = -1;
|
||||
errno = EOVERFLOW;
|
||||
goto unlock_return;
|
||||
}
|
||||
|
||||
new_lineptr = (char *) realloc (*lineptr, needed);
|
||||
if (new_lineptr == NULL)
|
||||
{
|
||||
result = -1;
|
||||
goto unlock_return;
|
||||
new_lineptr = (char *) realloc (*lineptr, needed);
|
||||
if (new_lineptr == NULL) {
|
||||
result = -1;
|
||||
goto unlock_return;
|
||||
}
|
||||
|
||||
*lineptr = new_lineptr;
|
||||
*n = needed;
|
||||
*lineptr = new_lineptr;
|
||||
*n = needed;
|
||||
}
|
||||
|
||||
(*lineptr)[cur_len] = i;
|
||||
cur_len++;
|
||||
(*lineptr)[cur_len] = i;
|
||||
cur_len++;
|
||||
|
||||
if (i == delimiter)
|
||||
break;
|
||||
if (i == delimiter)
|
||||
break;
|
||||
}
|
||||
(*lineptr)[cur_len] = '\0';
|
||||
result = cur_len ? (ssize_t) cur_len : result;
|
||||
(*lineptr)[cur_len] = '\0';
|
||||
result = cur_len ? (ssize_t) cur_len : result;
|
||||
|
||||
unlock_return:
|
||||
funlockfile (fp); /* doesn't set errno */
|
||||
unlock_return:
|
||||
funlockfile (fp); /* doesn't set errno */
|
||||
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
/* getline.c --- Implementation of replacement getline function.
|
||||
Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
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 3, 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. */
|
||||
* Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
*
|
||||
* 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 3, 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. */
|
||||
|
||||
/* Written by Simon Josefsson. */
|
||||
|
||||
|
@ -25,5 +25,5 @@
|
|||
ssize_t
|
||||
getline (char **lineptr, size_t *n, FILE *stream)
|
||||
{
|
||||
return getdelim (lineptr, n, '\n', stream);
|
||||
return getdelim (lineptr, n, '\n', stream);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#define _GNU_SOURCE
|
||||
#include <stdlib.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *found;
|
||||
char *string;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <dirent.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct dirent ent;
|
||||
|
||||
|
|
|
@ -2,12 +2,13 @@
|
|||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
ssize_t count = 0;
|
||||
size_t n = 0;
|
||||
char **lineptr = NULL;
|
||||
FILE *stream = NULL;
|
||||
|
||||
count = getline(lineptr, &n, stream);
|
||||
count = getline (lineptr, &n, stream);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
#define _GNU_SOURCE
|
||||
#include <strings.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *found;
|
||||
const char *haystack, *needle;
|
||||
|
||||
found = strcasestr(haystack, needle);
|
||||
found = strcasestr (haystack, needle);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#define _GNU_SOURCE
|
||||
#include <string.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *found;
|
||||
char **stringp;
|
||||
const char *delim;
|
||||
|
||||
found = strsep(stringp, delim);
|
||||
found = strsep (stringp, delim);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <time.h>
|
||||
|
||||
int main()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return (int) timegm((struct tm *)0);
|
||||
return (int) timegm ((struct tm *) 0);
|
||||
}
|
||||
|
|
|
@ -3,20 +3,20 @@
|
|||
* don't include it in their library
|
||||
*
|
||||
* based on a GPL implementation in OpenTTD found under GPL v2
|
||||
|
||||
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, version 2.
|
||||
|
||||
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. */
|
||||
*
|
||||
* 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, version 2.
|
||||
*
|
||||
* 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. */
|
||||
|
||||
/* Imported into notmuch by Dirk Hohndel - original author unknown. */
|
||||
|
||||
|
@ -24,17 +24,19 @@
|
|||
|
||||
#include "compat.h"
|
||||
|
||||
char *strcasestr(const char *haystack, const char *needle)
|
||||
char *
|
||||
strcasestr (const char *haystack, const char *needle)
|
||||
{
|
||||
size_t hay_len = strlen(haystack);
|
||||
size_t needle_len = strlen(needle);
|
||||
while (hay_len >= needle_len) {
|
||||
if (strncasecmp(haystack, needle, needle_len) == 0)
|
||||
return (char *) haystack;
|
||||
size_t hay_len = strlen (haystack);
|
||||
size_t needle_len = strlen (needle);
|
||||
|
||||
haystack++;
|
||||
hay_len--;
|
||||
}
|
||||
while (hay_len >= needle_len) {
|
||||
if (strncasecmp (haystack, needle, needle_len) == 0)
|
||||
return (char *) haystack;
|
||||
|
||||
return NULL;
|
||||
haystack++;
|
||||
hay_len--;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -1,65 +1,61 @@
|
|||
/* Copyright (C) 1992, 93, 96, 97, 98, 99, 2004 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
* This file is part of the GNU C Library.
|
||||
*
|
||||
* The GNU C Library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* The GNU C Library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the GNU C Library; if not, write to the Free
|
||||
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
* 02111-1307 USA. */
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* Taken from glibc 2.6.1 */
|
||||
|
||||
char *strsep (char **stringp, const char *delim)
|
||||
char *
|
||||
strsep (char **stringp, const char *delim)
|
||||
{
|
||||
char *begin, *end;
|
||||
char *begin, *end;
|
||||
|
||||
begin = *stringp;
|
||||
if (begin == NULL)
|
||||
return NULL;
|
||||
begin = *stringp;
|
||||
if (begin == NULL)
|
||||
return NULL;
|
||||
|
||||
/* A frequent case is when the delimiter string contains only one
|
||||
character. Here we don't need to call the expensive `strpbrk'
|
||||
function and instead work using `strchr'. */
|
||||
if (delim[0] == '\0' || delim[1] == '\0')
|
||||
{
|
||||
char ch = delim[0];
|
||||
/* A frequent case is when the delimiter string contains only one
|
||||
* character. Here we don't need to call the expensive `strpbrk'
|
||||
* function and instead work using `strchr'. */
|
||||
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')
|
||||
if (ch == '\0')
|
||||
end = NULL;
|
||||
else
|
||||
end = strchr (begin + 1, ch);
|
||||
else {
|
||||
if (*begin == ch)
|
||||
end = begin;
|
||||
else if (*begin == '\0')
|
||||
end = NULL;
|
||||
else
|
||||
end = strchr (begin + 1, ch);
|
||||
}
|
||||
}
|
||||
else
|
||||
/* Find the end of the token. */
|
||||
end = strpbrk (begin, delim);
|
||||
} else
|
||||
/* Find the end of the token. */
|
||||
end = strpbrk (begin, delim);
|
||||
|
||||
if (end)
|
||||
{
|
||||
/* Terminate the token and set *STRINGP past NUL character. */
|
||||
*end++ = '\0';
|
||||
*stringp = end;
|
||||
}
|
||||
else
|
||||
/* No more delimiters; this is the last token. */
|
||||
*stringp = NULL;
|
||||
if (end) {
|
||||
/* Terminate the token and set *STRINGP past NUL character. */
|
||||
*end++ = '\0';
|
||||
*stringp = end;
|
||||
} else
|
||||
/* No more delimiters; this is the last token. */
|
||||
*stringp = NULL;
|
||||
|
||||
return begin;
|
||||
return begin;
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/* timegm.c --- Implementation of replacement timegm function.
|
||||
|
||||
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 3, 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. */
|
||||
*
|
||||
* 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 3, 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. */
|
||||
|
||||
/* Copyright 2013 Blake Jones. */
|
||||
|
||||
|
@ -35,20 +35,20 @@ leapyear (int year)
|
|||
time_t
|
||||
timegm (struct tm *tm)
|
||||
{
|
||||
int monthlen[2][12] = {
|
||||
int monthlen[2][12] = {
|
||||
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
|
||||
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
|
||||
};
|
||||
int year, month, days;
|
||||
int year, month, days;
|
||||
|
||||
days = 365 * (tm->tm_year - 70);
|
||||
for (year = 70; year < tm->tm_year; year++) {
|
||||
if (leapyear(1900 + year)) {
|
||||
if (leapyear (1900 + year)) {
|
||||
days++;
|
||||
}
|
||||
}
|
||||
for (month = 0; month < tm->tm_mon; month++) {
|
||||
days += monthlen[leapyear(1900 + year)][month];
|
||||
days += monthlen[leapyear (1900 + year)][month];
|
||||
}
|
||||
days += tm->tm_mday - 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue