openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/util-linux/2.33.2-r0/util-linux-2.33.2/libblkid/src/probe.c
void blkid_free_probe(blkid_probe pr)
{
    int i;

    if (!pr)
        return;

    for (i = 0; i < BLKID_NCHAINS; i++)
    {
        struct blkid_chain* ch = &pr->chains[i];

        if (ch->driver->free_data)
            ch->driver->free_data(pr, ch->data);
        free(ch->fltr);
    }

    if ((pr->flags & BLKID_FL_PRIVATE_FD) && pr->fd >= 0)
        close(pr->fd);
    blkid_probe_reset_buffers(pr);
    blkid_probe_reset_values(pr);
    blkid_free_probe(pr->disk_probe);

    DBG(LOWPROBE, ul_debug("free probe"));
    free(pr);
}
/**
 * blkid_free_probe:
 * @pr: probe
 *
 * Deallocates the probe struct, buffers and all allocated
 * data that are associated with this probing control struct.
 */
@pr: probe

Deallocates the probe struct, buffers and all allocated
data that are associated with this probing control struct.
@pr : probe Deallocates the probe struct buffers and all allocated data that are associated with this probing control struct .
void blkid_free_probe(blkid_probe pr)
{
    int i;
    if (!pr)
        return;
    for (i = 0; i < BLKID_NCHAINS; i++)
    {
        struct blkid_chain* ch = &pr->chains[i];
        if (ch->driver->free_data)
            ch->driver->free_data(pr, ch->data);
        free(ch->fltr);
    }
    if ((pr->flags & BLKID_FL_PRIVATE_FD) && pr->fd >= 0)
        close(pr->fd);
    blkid_probe_reset_buffers(pr);
    blkid_probe_reset_values(pr);
    blkid_free_probe(pr->disk_probe);
    DBG(LOWPROBE, ul_debug("free probe"));
    free(pr);
}
void blkid_free_probe ( blkid_probe pr ) { int i ; if ( ! pr ) return ; for ( i = 0 ; i < BLKID_NCHAINS ; i ++ ) { struct blkid_chain * ch = & pr -> chains [ i ] ; if ( ch -> driver -> free_data ) ch -> driver -> free_data ( pr , ch -> data ) ; free ( ch -> fltr ) ; } if ( ( pr -> flags & BLKID_FL_PRIVATE_FD ) && pr -> fd >= 0 ) close ( pr -> fd ) ; blkid_probe_reset_buffers ( pr ) ; blkid_probe_reset_values ( pr ) ; blkid_free_probe ( pr -> disk_probe ) ; DBG ( LOWPROBE , ul_debug ( " " ) ) ; free ( pr ) ; }
blkid_free_probe:
 @pr: probe
blkid_free_probe : @pr : probe