Remove non-existing parameter from docs
[platform/upstream/glib.git] / gio / glocalfileinputstream.c
index a8d0104..544c568 100644 (file)
@@ -49,6 +49,7 @@ G_DEFINE_TYPE (GLocalFileInputStream, g_local_file_input_stream, G_TYPE_FILE_INP
 
 struct _GLocalFileInputStreamPrivate {
   int fd;
+  guint do_close : 1;
 };
 
 static gssize     g_local_file_input_stream_read       (GInputStream      *stream,
@@ -85,6 +86,13 @@ g_local_file_input_stream_finalize (GObject *object)
   G_OBJECT_CLASS (g_local_file_input_stream_parent_class)->finalize (object);
 }
 
+void
+_g_local_file_input_stream_set_do_close (GLocalFileInputStream *in,
+                                         gboolean do_close)
+{
+  in->priv->do_close = do_close;
+}
+
 static void
 g_local_file_input_stream_class_init (GLocalFileInputStreamClass *klass)
 {
@@ -111,6 +119,7 @@ g_local_file_input_stream_init (GLocalFileInputStream *info)
   info->priv = G_TYPE_INSTANCE_GET_PRIVATE (info,
                                            G_TYPE_LOCAL_FILE_INPUT_STREAM,
                                            GLocalFileInputStreamPrivate);
+  info->priv->do_close = TRUE;
 }
 
 /**
@@ -218,6 +227,9 @@ g_local_file_input_stream_close (GInputStream  *stream,
 
   file = G_LOCAL_FILE_INPUT_STREAM (stream);
 
+  if (!file->priv->do_close)
+    return TRUE;
+
   if (file->priv->fd == -1)
     return TRUE;