if(gs->ic)
if(gs->ic){ if(gs->ic->type != NULL) nsCRT::free(gs->ic->type);
gif_delay_time_callback(void *closure){  il_container *ic = (il_container*)closure;  gif_struct *gs = NULL;    if((ic)&&(ic->ds))     gs = (gif_struct *)ic->ds;  else     return;   //error  PR_ASSERT(gs->state == gif_delay);  gs->delay_timeout = NULL;  if(gs->ic)        gs->ic->type = nsCRT::strdup("image/gif"); //mime string  else      return;  //error  if (gs->ic->state == IC_ABORT_PENDING)        return;        gs->delay_time = 0;         /* Reset for next image */    if (gs->state == gif_delay) {        GETN(1, gif_image_start);        process_buffered_gif_input_data(gs);    }    return;}