From fed604bfa368a2bb1fed414e368d491e4c7d7005 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Wed, 16 Jan 2002 02:42:07 +0000 Subject: Roll back PSTRING_SANCTIFY patch; just leave non-controversial type and constness changes. (This used to be commit cee0ec72746122c962e6c5278a736266a7f2c424) --- source3/include/pstring.h | 35 ----------------------------------- source3/include/safe_string.h | 9 ++++----- 2 files changed, 4 insertions(+), 40 deletions(-) (limited to 'source3/include') diff --git a/source3/include/pstring.h b/source3/include/pstring.h index 97ad5c9397..5f3f21cb1d 100644 --- a/source3/include/pstring.h +++ b/source3/include/pstring.h @@ -28,44 +28,9 @@ #define PSTRING_LEN 1024 #define FSTRING_LEN 256 -#ifdef PSTRING_SANCTIFY - -/* If you define this, pstring and fstring become distinguished types, - * so that it's harder to accidentally overflow them by for example - * passing an fstring on the lhs of pstrcpy. - * - * To pass them to non-pstring-aware functions, use PSTR and check - * that the function takes a const. They should almost never be - * modified except by special calls. In those unusual cases, use - * PSTR_MUTABLE. - * - * This is off by default so as not to produce too many warnings. As - * the code is vetted it can become the default. */ - -typedef union { char pstring_contents[PSTRING_LEN]; } pstring[1]; -typedef union { char fstring_contents[FSTRING_LEN]; } fstring[1]; - -# define PSTR(p) ((const char *) ((p)->pstring_contents)) -# define FSTR(f) ((const char *) ((f)->fstring_contents)) - -/* Please use the const functions instead if possible. */ -# define PSTR_MUTABLE(p) (((p)->pstring_contents)) -# define FSTR_MUTABLE(f) (((f)->fstring_contents)) - -#else /* ndef PSTRING_SANCTIFY */ - -/* Old interface. */ - typedef char pstring[PSTRING_LEN]; typedef char fstring[FSTRING_LEN]; -#define PSTR(p) ((const char *) p) -#define FSTR(f) ((const char *) f) -#define PSTR_MUTABLE(p) (p) -#define FSTR_MUTABLE(f) (f) - -#endif /* ndef PSTRING_SANCTIFY */ - #define _PSTRING #endif /* ndef _PSTRING */ diff --git a/source3/include/safe_string.h b/source3/include/safe_string.h index c4f44c0a34..a086d7495c 100644 --- a/source3/include/safe_string.h +++ b/source3/include/safe_string.h @@ -1,6 +1,5 @@ /* Unix SMB/Netbios implementation. - Version 1.9. Safe string handling routines. Copyright (C) Andrew Tridgell 1994-1998 @@ -37,10 +36,10 @@ #endif /* sprintf */ #define sprintf __ERROR__XX__NEVER_USE_SPRINTF__; -#define pstrcpy(d,s) safe_strcpy(PSTR_MUTABLE(d), (s),sizeof(pstring)-1) -#define pstrcat(d,s) safe_strcat(PSTR_MUTABLE(d), (s),sizeof(pstring)-1) -#define fstrcpy(d,s) safe_strcpy(FSTR_MUTABLE(d),(s),sizeof(fstring)-1) -#define fstrcat(d,s) safe_strcat(FSTR_MUTABLE(d),(s),sizeof(fstring)-1) +#define pstrcpy(d,s) safe_strcpy((d), (s),sizeof(pstring)-1) +#define pstrcat(d,s) safe_strcat((d), (s),sizeof(pstring)-1) +#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1) +#define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1) #define wpstrcpy(d,s) safe_strcpy_w((d),(s),sizeof(wpstring)) #define wpstrcat(d,s) safe_strcat_w((d),(s),sizeof(wpstring)) -- cgit