From 0d3e258fd102c7b99ee5a3fffcdd10e4cfaf2bc6 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Tue, 15 Jan 2002 02:11:55 +0000 Subject: Split pstring definitions into their own header. (This used to be commit 04e3082f7d45c1b304adff5a46106136cff0e09e) --- source3/include/smb.h | 54 +-------------------------------------------------- 1 file changed, 1 insertion(+), 53 deletions(-) (limited to 'source3/include/smb.h') diff --git a/source3/include/smb.h b/source3/include/smb.h index 4c13f0e4a6..cfb5d5f5e1 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -157,59 +157,7 @@ implemented */ -#ifndef _PSTRING - -#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. - * - * The types are defined as one-element union arrays so that with - * "fstring f" the name "f" will be a pointer and with a big hammer - * you can cast it to (char *). So code that tries to just use it - * directly will get a loud warning, but hopefully nothing worse. - * - * 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)) - -/* You should not normally use these. Instead, use pstrcpy, etc. */ -# define PSTR_MUTABLE(p) ((p)->pstring_contents) -# define FSTR_MUTABLE(f) ((f)->fstring_contents) - -/* See also safe_string.h */ - -#else /* ndef PSTRING_SANCTIFY */ - -/* Old interface. */ - -typedef char pstring[PSTRING_LEN]; -typedef char fstring[FSTRING_LEN]; - -#define PSTR(p) (p) -#define FSTR(f) (f) -#define PSTR_MUTABLE(p) (p) -#define FSTR_MUTABLE(f) (f) - -#endif /* ndef PSTRING_SANCTIFY */ - -#define _PSTRING - -#endif /* ndef _PSTRING */ +#include "pstring.h" -- cgit