mirror of
https://github.com/obarthel/amiga-smbfs.git
synced 2025-12-08 14:58:35 +00:00
- In proc.c, smb_setup_header() initialized the SMB header length field with a number which was too large by four bytes. Consequently, what was later committed to the wire would have four trailing data bytes which could contain random values. This often didn't do much harm, but it seems that Samba 3.2.4 and Windows Vista don't like the looks of the trailing junk bytes. git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/amiga-smbfs/trunk@20 26594b9e-b914-4e86-b7a1-9402bd427170
122 lines
4.3 KiB
C
122 lines
4.3 KiB
C
/*
|
|
* $Id: assert.h,v 1.4 2009-04-14 11:32:51 obarthel Exp $
|
|
*
|
|
* :ts=8
|
|
*
|
|
* SMB file system wrapper for AmigaOS, using the AmiTCP V3 API
|
|
*
|
|
* Copyright (C) 2000-2009 by Olaf `Olsen' Barthel <obarthel -at- gmx -dot- net>
|
|
*
|
|
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#ifndef _ASSERT_H
|
|
#define _ASSERT_H 1
|
|
|
|
/****************************************************************************/
|
|
|
|
/* IMPORTANT: If DEBUG is redefined, it must happen only here. This
|
|
* will cause all modules to depend upon it to be rebuilt
|
|
* by the smakefile (that is, provided the smakefile has
|
|
* all the necessary dependency lines in place).
|
|
*/
|
|
|
|
/*#define DEBUG*/
|
|
|
|
/****************************************************************************/
|
|
|
|
#ifdef ASSERT
|
|
#undef ASSERT
|
|
#endif /* ASSERT */
|
|
|
|
#define PUSH_ASSERTS() PUSHDEBUGLEVEL(0)
|
|
#define PUSH_REPORTS() PUSHDEBUGLEVEL(1)
|
|
#define PUSH_CALLS() PUSHDEBUGLEVEL(2)
|
|
#define PUSH_ALL() PUSHDEBUGLEVEL(2)
|
|
#define POP() POPDEBUGLEVEL()
|
|
|
|
#if defined(DEBUG) /*&& defined(__SASC)*/
|
|
void _ASSERT(int x,const char *xs,const char *file,int line,const char *function);
|
|
void _SHOWVALUE(unsigned long value,int size,const char *name,const char *file,int line);
|
|
void _SHOWPOINTER(void *p,const char *name,const char *file,int line);
|
|
void _SHOWSTRING(const char *string,const char *name,const char *file,int line);
|
|
void _SHOWMSG(const char *msg,const char *file,int line);
|
|
void _ENTER(const char *file,int line,const char *function);
|
|
void _LEAVE(const char *file,int line,const char *function);
|
|
void _RETURN(const char *file,int line,const char *function,unsigned long result);
|
|
void _DPRINTF_HEADER(const char *file,int line);
|
|
void _DPRINTF(const char *format,...);
|
|
void _DLOG(const char *format,...);
|
|
int _SETDEBUGLEVEL(int level);
|
|
void _PUSHDEBUGLEVEL(int level);
|
|
void _POPDEBUGLEVEL(void);
|
|
int _GETDEBUGLEVEL(void);
|
|
void _SETPROGRAMNAME(char *name);
|
|
void _INDENT(void);
|
|
|
|
#define ASSERT(x) _ASSERT((int)(x),#x,__FILE__,__LINE__,__FUNC__)
|
|
#define ENTER() _ENTER(__FILE__,__LINE__,__FUNC__)
|
|
#define LEAVE() _LEAVE(__FILE__,__LINE__,__FUNC__)
|
|
#define RETURN(r) _RETURN(__FILE__,__LINE__,__FUNC__,(unsigned long)r)
|
|
#define SHOWVALUE(v) _SHOWVALUE((ULONG)v,sizeof(v),#v,__FILE__,__LINE__)
|
|
#define SHOWPOINTER(p) _SHOWPOINTER(p,#p,__FILE__,__LINE__)
|
|
#define SHOWSTRING(s) _SHOWSTRING(s,#s,__FILE__,__LINE__)
|
|
#define SHOWMSG(s) _SHOWMSG(s,__FILE__,__LINE__)
|
|
#define D(s) do { _DPRINTF_HEADER(__FILE__,__LINE__); _DPRINTF s; } while(0)
|
|
#define PRINTHEADER() _DPRINTF_HEADER(__FILE__,__LINE__)
|
|
#define PRINTF(s) _DLOG s
|
|
#define LOG(s) do { _DPRINTF_HEADER(__FILE__,__LINE__); _DLOG("<%s()>:",__FUNC__); _DLOG s; } while(0)
|
|
#define SETDEBUGLEVEL(l) _SETDEBUGLEVEL(l)
|
|
#define PUSHDEBUGLEVEL(l) _PUSHDEBUGLEVEL(l)
|
|
#define POPDEBUGLEVEL() _POPDEBUGLEVEL()
|
|
#define SETPROGRAMNAME(n) _SETPROGRAMNAME(n)
|
|
#define GETDEBUGLEVEL() _GETDEBUGLEVEL()
|
|
#define INDENT() _INDENT()
|
|
|
|
extern int __debug_level;
|
|
|
|
#undef DEBUG
|
|
#define DEBUG 1
|
|
#else
|
|
#define ASSERT(x) ((void)0)
|
|
#define ENTER() ((void)0)
|
|
#define LEAVE() ((void)0)
|
|
#define RETURN(r) ((void)0)
|
|
#define SHOWVALUE(v) ((void)0)
|
|
#define SHOWPOINTER(p) ((void)0)
|
|
#define SHOWSTRING(s) ((void)0)
|
|
#define SHOWMSG(s) ((void)0)
|
|
#define D(s) ((void)0)
|
|
#define PRINTHEADER() ((void)0)
|
|
#define PRINTF(s) ((void)0)
|
|
#define LOG(s) ((void)0)
|
|
#define SETDEBUGLEVEL(l) ((void)0)
|
|
#define PUSHDEBUGLEVEL(l) ((void)0)
|
|
#define POPDEBUGLEVEL() ((void)0)
|
|
#define SETPROGRAMNAME(n) ((void)0)
|
|
#define GETDEBUGLEVEL() (0)
|
|
#define INDENT() ((void)0)
|
|
|
|
#ifdef DEBUG
|
|
#undef DEBUG
|
|
#endif /* DEBUG */
|
|
|
|
#define DEBUG 0
|
|
#endif /* DEBUG */
|
|
|
|
/****************************************************************************/
|
|
|
|
#endif /* _ASSERT_H */
|