1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Initial Developer of this code is David Baum.
* Portions created by David Baum are Copyright (C) 1998 David Baum.
* All Rights Reserved.
*/
#ifdef PDEBUG
#include <stdio.h>
#include "PDebug.h"
static const char *get_leafname(const char *filename);
void _p_assert(const char* file, int line)
{
char buffer[512];
sprintf(buffer, "PASSERT() failed line #%d in file %s", line, get_leafname(file));
_p_debugstr(buffer);
}
void _p_require(const char* file, int line, const char* label)
{
char buffer[512];
sprintf(buffer, "PREQUIRE %s failed line #%d in file %s", label, line, get_leafname(file));
_p_debugstr(buffer);
}
void _p_requirenot(const char* file, int line, int val, const char* label)
{
char buffer[512];
sprintf(buffer, "PREQUIRENOT %s failed line #%d in file %s, value = %d",
label, line, get_leafname(file), val);
_p_debugstr(buffer);
}
const char *get_leafname(const char *filename)
{
const char *leaf = filename;
const char *ptr = filename;
while(*ptr != 0)
{
if (*ptr == ':')
leaf = ptr+1;
ptr++;
}
return leaf;
}
#endif
|