gsf_output_stdio_new() does not touch filesystem
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libgsf (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I'm writing a program which outputs a structured zip file. The original language is vala. Below is an extract of the generated c code.
output = (GsfOutputStdio*) gsf_output_
if (_inner_error_ != NULL) {
goto __catch2_g_error;
goto __finally2;
}
_tmp1_ = (GsfOutfileZip*) gsf_outfile_zip_new ((GsfOutput*) output, &_inner_error_);
if (_inner_error_ != NULL) {
_g_object_unref0 (output);
goto __catch2_g_error;
goto __finally2;
}
self->outfile = (_tmp2_ = (GsfOutfile*) _tmp1_, _g_object_unref0 (self->outfile), _tmp2_);
...
gsf_output_close ((GsfOutput*) self->outfile);
I have confirmed using gdb that this code is all executed. However, it fails to create a file on the filesystem or to put data into a file created in advance using touch. No error is generated and the output and outfile objects are not null.
ProblemType: Bug
Architecture: i386
Date: Sat Dec 19 17:46:31 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelMo
Package: libgsf-1-dev 1.14.15-1ubuntu1
ProcEnviron:
LANG=en_NZ.UTF-8
SHELL=/bin/bash
ProcVersionSign
SourcePackage: libgsf
Uname: Linux 2.6.31-14-generic i686