X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=miscutil.h;h=b3200d4ded0fae997236e1c696edc745a715f79e;hb=c1106aa0f9d5e26d68c852bc1ef02beb088562d9;hp=8135d73b5fdc681a768bff5a58d6e94f7f83d12b;hpb=1cf7072cd97bdc523178e621f9f2bc1674ea62a8;p=privoxy.git diff --git a/miscutil.h b/miscutil.h index 8135d73b..b3200d4d 100644 --- a/miscutil.h +++ b/miscutil.h @@ -1,6 +1,6 @@ #ifndef MISCUTIL_H_INCLUDED #define MISCUTIL_H_INCLUDED -#define MISCUTIL_H_VERSION "$Id: miscutil.h,v 1.25 2007/01/18 15:03:20 fabiankeil Exp $" +#define MISCUTIL_H_VERSION "$Id: miscutil.h,v 1.29 2007/09/09 18:20:20 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/miscutil.h,v $ @@ -37,6 +37,24 @@ * * Revisions : * $Log: miscutil.h,v $ + * Revision 1.29 2007/09/09 18:20:20 fabiankeil + * Turn privoxy_strlcpy() into a function and try to work with + * b0rked snprintf() implementations too. Reported by icmp30. + * + * Revision 1.28 2007/05/11 11:48:16 fabiankeil + * - Delete strsav() which was replaced + * by string_append() years ago. + * - Add a strlcat() look-alike. + * - Use strlcat() and strlcpy() in those parts + * of the code that are run on unixes. + * + * Revision 1.27 2007/04/09 17:48:51 fabiankeil + * Check for HAVE_SNPRINTF instead of __OS2__ + * before including the portable snprintf() code. + * + * Revision 1.26 2007/04/08 17:04:51 fabiankeil + * Add macro for strlcpy() in case the libc lacks it. + * * Revision 1.25 2007/01/18 15:03:20 fabiankeil * Don't include replacement timegm() if * putenv() or tzset() isn't available. @@ -184,14 +202,11 @@ extern char *safe_strerror(int err); extern int strcmpic(const char *s1, const char *s2); extern int strncmpic(const char *s1, const char *s2, size_t n); -extern char *strsav(char *old, const char *text_to_append); extern jb_err string_append(char **target_string, const char *text_to_append); extern jb_err string_join (char **target_string, char *text_to_append); extern char *string_toupper(const char *string); extern char *chomp(char *string); -extern int simplematch(char *pattern, char *text); - extern char *bindup(const char *string, size_t len); extern char *make_path(const char * dir, const char * file); @@ -202,20 +217,27 @@ long int pick_from_range(long int range); extern char *strdup(const char *s); #endif /* def __MINGW32__ */ -#ifdef __OS2__ +#ifndef HAVE_SNPRINTF extern int snprintf(char *, size_t, const char *, /*args*/ ...); -#endif /* def __OS2__ */ +#endif /* ndef HAVE_SNPRINTF */ #if !defined(HAVE_TIMEGM) && defined(HAVE_TZSET) && defined(HAVE_PUTENV) time_t timegm(struct tm *tm); #endif /* !defined(HAVE_TIMEGM) && defined(HAVE_TZSET) && defined(HAVE_PUTENV) */ -#if !defined(HAVE_STRLCPY) /* Here's looking at you, Ulrich. */ -#define strlcpy(dst, src, size) (size_t)snprintf((dst), (size), "%s", (src)) +#if !defined(HAVE_STRLCPY) +size_t privoxy_strlcpy(char *destination, const char *source, size_t size); +#define strlcpy privoxy_strlcpy +#define USE_PRIVOXY_STRLCPY 1 #define HAVE_STRLCPY 1 #endif /* ndef HAVE_STRLCPY*/ +#ifndef HAVE_STRLCAT +size_t privoxy_strlcat(char *destination, const char *source, size_t size); +#define strlcat privoxy_strlcat +#endif /* ndef HAVE_STRLCAT */ + /* Revision control strings from this header and associated .c file */ extern const char miscutil_rcs[]; extern const char miscutil_h_rcs[];