X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Focaml%2Fml_mathml_editor.c;h=9b78aeb4101ade83155400f41882b5a43fc3c7c0;hb=6f6b8f33397548319fef9b374f9e9017e7fa151d;hp=bbe8884353d7d70a4013de14b8aa157ec74f7d32;hpb=8d15b9f68470945a45ce96dbc1c892742c85cb9c;p=helm.git diff --git a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c index bbe888435..9b78aeb41 100644 --- a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c +++ b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c @@ -1,3 +1,29 @@ +/* This file is part of EdiTeX, an editor of mathematical + * expressions based on TeX syntax. + * + * Copyright (C) 2002-2003 Luca Padovani , + * 2003 Paolo Marinelli . + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * For more information, please visit the project's home page + * http://helm.cs.unibo.it/editex/ + * or send an email to + */ + +#include #include #include @@ -16,7 +42,7 @@ typedef struct ml_Editor* Editor_val(value v) { - ml_Editor* editor = (ml_Editor*) Data_custom_val(v); + ml_Editor* editor = *((ml_Editor**) Data_custom_val(v)); assert(editor != NULL); return editor; } @@ -29,6 +55,7 @@ ml_mathml_editor_finalize(value v) remove_global_root(&editor->callback); c_mathml_editor_destroy(editor->c_editor); + free(editor); } void @@ -55,8 +82,9 @@ ml_mathml_editor_new(value dictionary, custom_deserialize_default }; - value v = alloc_custom(&ops, sizeof(ml_Editor), 0, 1); - ml_Editor* ml_editor = (ml_Editor*) Data_custom_val(v); + value v = alloc_custom(&ops, sizeof(ml_Editor*), 0, 1); + ml_Editor** ml_editor_ref = (ml_Editor**) Data_custom_val(v); + ml_Editor* ml_editor = *ml_editor_ref = malloc(sizeof(ml_Editor)); ml_editor->c_editor = c_mathml_editor_new(Document_val(dictionary), Document_val(tml_mml), Document_val(tml_tex),