It works fine.
Thank you, Tarnyko

I have reported a bug to bugzilla.
https://bugzilla.gnome.org/show_bug.cgi?id=688556

2012/11/18  <[email protected]>:
> OK, I got it. The VAPI is wrong.
> Please edit your file "libgsf-1.vapi" (should be in "/usr/share/vala/vapi"
> under Linux). Change the following line :
> public unowned Gsf.Input child_by_aname (string[] names);
> to
> public unowned Gsf.Input child_by_aname ([CCode (array_length = false)]
> string[] names);
> Now, at least it compiles.
> Tarnyko
> Hodong Kim writes:
>>
>> Hi, Tarnyko
>> the line in gsf-msole.c
>>         _tmp18_ = gsf_infile_child_by_aname ((GsfInfile*) _tmp16_,
>> _tmp17_,
>> _tmp17__length1);
>> thanks.
>> 2012/11/18  <[email protected]>:
>>>
>>> Hi cogniti,
>>> I don't know precisely how to use this method, but the Vala VAPI and
>>> LibGSF
>>> seem to be out of sync.
>>> Could you please do a :
>>> valac -C --pkg libgsf-1 gsf-msole.vala
>>> (note the "-C")
>>> It will create a "gsf-msole.c" file. Open it and please paste the line
>>> containing :
>>> gsf_infile_child_by_aname
>>> Regards,
>>> Tarnyko
>>> cogniti writes:
>>>>
>>>>
>>>> Hello.
>>>> I tried to read "/BodyText/Section0" in msole file.
>>>> but, an error occurred.
>>>> How to read "dir/file" in msole file?
>>>> $ valac --pkg libgsf-1 gsf-msole.vala
>>>> gsf-msole.vala:27.15-27.55: warning: local variable `body_text'
>>>> declared but never used
>>>>     Gsf.Input body_text = olefile.child_by_aname(names);
>>>>               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>> /home/cogniti/Documents/gsf-msole.vala.c: In function ‘_vala_main’:
>>>> /home/cogniti/Documents/gsf-msole.vala.c:144:2: warning: passing
>>>> argument 2 of ‘gsf_infile_child_by_aname’ from incompatible pointer
>>>> type [enabled by default]
>>>> In file included from /usr/include/libgsf-1/gsf/gsf-infile-impl.h:27:0,
>>>>                  from /home/cogniti/Documents/gsf-msole.vala.c:13:
>>>> /usr/include/libgsf-1/gsf/gsf-infile.h:42:13: note: expected ‘const
>>>> char **’ but argument is of type ‘gchar **’
>>>> /home/cogniti/Documents/gsf-msole.vala.c:144:2: error: too many
>>>> arguments to function ‘gsf_infile_child_by_aname’
>>>> In file included from /usr/include/libgsf-1/gsf/gsf-infile-impl.h:27:0,
>>>>                  from /home/cogniti/Documents/gsf-msole.vala.c:13:
>>>> /usr/include/libgsf-1/gsf/gsf-infile.h:42:13: note: declared here
>>>> error: cc exited with status 256
>>>> Compilation failed: 1 error(s), 1 warning(s)
>>>> The ole file structure is
>>>>     root/
>>>>     root/PrvText
>>>>     root/DocOptions
>>>>     root/DocOptions/_LinkDoc
>>>>     root/DocInfo
>>>>     root/?HwpSummaryInformation
>>>>     root/PrvImage
>>>>     root/FileHeader
>>>>     root/Scripts
>>>>     root/Scripts/DefaultJScript
>>>>     root/Scripts/JScriptVersion
>>>>     root/BodyText
>>>>     root/BodyText/Section0
>>>> gsf-msole.vala:
>>>> int main (string[] args) {
>>>>     // declare objects
>>>>     Gsf.InputStdio file;
>>>>     Gsf.InfileMSOle olefile;
>>>>     string filename = args[1];
>>>>     // load the OLE file
>>>>     try {
>>>>         file = new Gsf.InputStdio (filename);
>>>>     }
>>>>     catch {
>>>>         stderr.printf ("File %s not found\n", filename);
>>>>         return 1;
>>>>     }
>>>>     try {
>>>>         olefile = new Gsf.InfileMSOle (file);
>>>>     }
>>>>     catch
>>>>     {
>>>>         stderr.printf ("%s is not a OLE file\n", filename);
>>>>         return 1;
>>>>     }
>>>>     string[] names = {"BodyText", "Section0"};
>>>>     // compile error occurred
>>>>     Gsf.Input body_text = olefile.child_by_aname(names);
>>>>     return 0;
>>>> }
>>>> _______________________________________________
>>>> vala-list mailing list
>>>> [email protected]
>>>> https://mail.gnome.org/mailman/listinfo/vala-list
>>>
>>>
>>> _______________________________________________
>>> vala-list mailing list
>>> [email protected]
>>> https://mail.gnome.org/mailman/listinfo/vala-list
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to