rem: free(rPtr);
add: wfree(rPtr);
context: WMCreateRuler(WMWidget * parent){    Ruler *rPtr = wmalloc(sizeof(Ruler));    unsigned int w = WMWidgetWidth(parent);    memset(rPtr, 0, sizeof(Ruler));    rPtr->widgetClass = WC_Ruler;    rPtr->view = W_CreateView(W_VIEW(parent));    if (!rPtr->view) {        free(rPtr);        return NULL;    }    rPtr->view->self = rPtr;    rPtr->drawBuffer = (Pixmap) NULL;    W_ResizeView(rPtr->view, w, 40);    WMCreateEventHandler(rPtr->view, ExposureMask | StructureNotifyMask        | EnterWindowMask | LeaveWindowMask | FocusChangeMask        | ButtonReleaseMask | ButtonPressMask | KeyReleaseMask        | KeyPressMask | Button1MotionMask, handleEvents, rPtr);    rPtr->view->delegate = &_RulerViewDelegate;    rPtr->bg = WMColorGC(WMGrayColor(rPtr->view->screen));    rPtr->fg = WMColorGC(WMBlackColor(rPtr->view->screen));    rPtr->font = WMSystemFontOfSize(rPtr->view->screen, 8);    rPtr->offset = 22;    rPtr->margins.left = 22;    rPtr->margins.body = 22;    rPtr->margins.first = 42;    rPtr->margins.right = (w < 502 ? w : 502);    rPtr->margins.tabs = NULL;    rPtr->flags.whichMarker = 0;    /* none */    rPtr->flags.buttonPressed = False;    rPtr->flags.redraw = True;    rPtr->moveAction = NULL;    rPtr->releaseAction = NULL;    rPtr->pview = W_VIEW(parent);    return rPtr;}