Subversion Repositories planix.SVN

Rev

Rev 26 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "os.h"
#include <mp.h>
#include "dat.h"

mpint*
mpfield(mpint *N)
{
        Mfield *f;

        if(N == nil || N->flags & (MPfield|MPstatic))
                return N;
        if((f = cnfield(N)) != nil)
                goto Exchange;
        if((f = gmfield(N)) != nil)
                goto Exchange;
        return N;
Exchange:
        setmalloctag(f, getcallerpc(&N));
        mpfree(N);
        return f;
}