cell->cell_list = state->line_array[0];
cell->cell_list = ((LO_Element**)state->line_array)[0];
void lo_RebuildCell(MWContext *context, lo_DocState *state, LO_CellStruct *cell) {     /*** Recycle old contents of the cell ***/     if (!cell)         return;     /* If cell list exists, cell_list_end must exist too */     XP_ASSERT((cell->cell_list && cell->cell_list_end) ||               (!cell->cell_list && !cell->cell_list_end));     if (cell->cell_list && cell->cell_list_end)     {         XP_ASSERT(cell->cell_list_end->lo_any.next == NULL);         lo_RecycleElements(context, state, cell->cell_list);     }     if (cell->cell_float_list)         lo_RecycleElements(context, state, cell->cell_float_list);     cell->cell_list = NULL;     cell->cell_float_list = NULL;     cell->cell_list_end = NULL;     /*** Copy pointers to new content from the doc state to the cell ***/     /* If line array exists, end_last_line must exist too */     XP_ASSERT((state->line_array[0] && state->end_last_line) ||               (!state->line_array[0] && !state->end_last_line));     /* Ensure that the line list on the doc state has been flushed to     the line array */     XP_ASSERT(state->line_list == NULL);     if (state->line_array[0] && state->end_last_line)     {         XP_ASSERT(state->end_last_line->lo_any.next == NULL);         cell->cell_list = state->line_array[0];         cell->cell_list_end = state->end_last_line;         state->line_array[0] = NULL;         state->end_last_line = NULL;     }     if (state->float_list)     {         cell->cell_float_list = state->float_list;         state->float_list = NULL;     }     /*** Offset new content of the cell relative to the cell's position ***/     lo_OffsetCellContents( cell, cell->x, cell->y ); } 