示例#1
0
void release_lookup_reader( struct lookup_reader * reader )
{
    if ( reader != NULL )
    {
        if ( reader->f != NULL ) KFileRelease( reader->f );
        release_SBuffer( &reader->buf );
        free( ( void * ) reader );
    }
}
示例#2
0
void release_lookup_writer( struct lookup_writer * writer )
{
    if ( writer != NULL )
    {
        if ( writer -> f != NULL ) KFileRelease( writer -> f );
        release_SBuffer( &writer -> buf );
        free( ( void * ) writer );
    }
}
示例#3
0
static void release_sorter( struct sorter * sorter )
{
    if ( sorter != NULL )
    {
        release_SBuffer( &sorter->buf );
        if ( sorter->params.src != NULL )
            destroy_raw_read_iter( sorter->params.src );
        if ( sorter->store != NULL )
            KVectorRelease( sorter->store );
    }
}
示例#4
0
static bool output_exists_idx( tool_ctx_t * tool_ctx, uint32_t idx )
{
    bool res = false;
    SBuffer s_filename;
    rc_t rc = split_filename_insert_idx( &s_filename, 4096,
                            tool_ctx -> output_filename, idx ); /* helper.c */
    if ( rc == 0 )
    {
        res = file_exists( tool_ctx -> dir, "%S", &( s_filename . S ) ); /* helper.c */
        release_SBuffer( &s_filename ); /* helper.c */
    }
    return res;
}
示例#5
0
static rc_t CC merge_thread_func( const KThread *self, void *data )
{
    merge_data * md = data;
    SBuffer s_filename;
    rc_t rc = split_filename_insert_idx( &s_filename, 4096,
                            md -> cmn -> output_filename, md -> idx ); /* helper.c */
    if ( rc == 0 )
    {
        VNamelistReorder ( md -> files, false );        
        rc = execute_concat( md -> cmn -> dir,
            s_filename . S . addr,
            md -> files,
            md -> cmn -> buf_size,
            md -> cmn -> progress,
            md -> cmn -> force,
            md -> cmn -> compress );
        release_SBuffer( &s_filename ); /* helper.c */
    }
    free( ( void * ) md );
    return rc;
}