Ejemplo n.º 1
0
static inline void file_entry_free(FileEntry *file_entry)
{

    if (!file_entry)
        return;

    if (file_entry->file_name)
    {
        DEBUG_WRAP(DebugMessage(DEBUG_FILE,
                "File name: %s released (%p)\n", file_entry->file_name, file_entry->file_name));
        free(file_entry->file_name);
        file_entry->file_name = NULL;
        file_entry->file_name_size = 0;
    }

    if (file_entry->context)
    {
        file_context_free(file_entry->context);
        file_entry->context = NULL;
    }

    file_entry->file_size = 0;

    file_segments_free(file_entry);

}
Ejemplo n.º 2
0
static void file_session_free(void *session_data)
{
    FileSession *file_session = (FileSession *)session_data;
    if (!file_session)
        return;

    /*Clean up all the file contexts*/
    if ( file_session->pending_context &&
            (file_session->main_context != file_session->pending_context))
    {
        file_context_free(file_session->pending_context);
    }

    file_context_free(file_session->main_context);

    free(file_session);
}
Ejemplo n.º 3
0
/*Get the current working file context*/
static inline void save_to_pending_context(void *ssnptr)
{
    FileSession *file_session = get_file_session (ssnptr);
    /* Save to pending_context */
    if (!file_session)
        return;

    if (file_session->pending_context != file_session->main_context)
        file_context_free(file_session->pending_context);
    file_session->pending_context = file_session->main_context;

}