/* if it's already free, tell them they freed twice */
if (rp->my_flags & FREED_IT)
{
fprintf(stderr,"freed memory twice at %lx, amount %ld,\n\tallocated in file %s at line %d, freed in file %s at line %d\n",where,amount,rp->file,rp->line,file,line);
fprintf(stderr,"FreeMem was never called for memory at %lx, amount %ld,\n\tthe alloc was performed at file %s line %d\n",rp->where,rp->amount,rp->file,rp->line);
for (lp = TrackingLockList, op = NULL; lp != NULL; op = lp, lp = lp->next)
{
/* if we matched the lock */
if (lp->lock == lock)
{
#ifndef FORGET_LOCKS_WHEN_UNLOCKED
/* if it's already free, tell them they freed twice */
if (lp->my_flags & FREED_IT)
{
fprintf(stderr,"freed lock twice, lock %lx, filename %s\n\tlocked at file %s line %d, freed at file %s line %d\n",lock,lp->name,lp->file,lp->line,file,line);