Hello community,

here is the log from the commit of package libgsf for openSUSE:Factory checked 
in at 2015-04-22 01:15:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgsf (Old)
 and      /work/SRC/openSUSE:Factory/.libgsf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgsf"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libgsf/libgsf.changes    2015-03-12 
16:36:20.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libgsf.new/libgsf.changes       2015-04-22 
01:15:05.000000000 +0200
@@ -1,0 +2,9 @@
+Sat Apr 18 02:06:59 UTC 2015 - zai...@opensuse.org
+
+- Update to version 1.14.33:
+  + Ensure floats roundtrip through our xml functions.
+  + Improve handling of unknown xml tags.
+  + xml parser improvements.
+  + xml pretty-printing improvements.
+
+-------------------------------------------------------------------

Old:
----
  libgsf-1.14.32.tar.xz

New:
----
  libgsf-1.14.33.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libgsf.spec ++++++
--- /var/tmp/diff_new_pack.GeGIHI/_old  2015-04-22 01:15:06.000000000 +0200
+++ /var/tmp/diff_new_pack.GeGIHI/_new  2015-04-22 01:15:06.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libgsf
-Version:        1.14.32
+Version:        1.14.33
 Release:        0
 Summary:        Extensible I/O abstraction library for dealing with structured 
file formats
 License:        GPL-2.0+ and LGPL-2.1+

++++++ libgsf-1.14.32.tar.xz -> libgsf-1.14.33.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/ChangeLog new/libgsf-1.14.33/ChangeLog
--- old/libgsf-1.14.32/ChangeLog        2015-03-04 23:44:18.000000000 +0100
+++ new/libgsf-1.14.33/ChangeLog        2015-04-16 23:03:12.000000000 +0200
@@ -1,3 +1,35 @@
+2015-04-16  Morten Welinder <te...@gnome.org>
+
+       * Release 1.14.33
+
+2015-04-09  Morten Welinder  <te...@gnome.org>
+
+       * tests/test-xml.c: Add meaning code in here.
+
+       * gsf/gsf-libxml.c (gsf_xml_out_end_element): Only indent closing
+       tag if we're at the beginning of the line because we
+       pretty-printed the previous closing tag.
+       (gsf_xml_out_get_pretty_print, gsf_xml_out_set_pretty_print): New
+       convenience functions.
+
+2015-03-30  Morten Welinder  <te...@gnome.org>
+
+       * gsf/gsf-libxml.c (gsf_xml_in_doc_add_nodes): Introduce new flag
+       GSF_XML_2ND to explicitly identify duplicate nodes.
+
+2015-03-13  Morten Welinder  <te...@gnome.org>
+
+       * gsf/gsf-libxml.c (gsf_xml_in_set_silent_unknowns): New function.
+
+2015-03-04  Morten Welinder  <te...@gnome.org>
+
+       * gsf/gsf-libxml.c (gsf_xml_out_add_float): Do a better job of
+       saving all precision.
+
+2015-03-04  Morten Welinder <te...@gnome.org>
+
+       * configure.ac: Post-release bump.
+
 2015-03-04  Morten Welinder <te...@gnome.org>
 
        * Release 1.14.32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/NEWS new/libgsf-1.14.33/NEWS
--- old/libgsf-1.14.32/NEWS     2015-02-22 23:26:25.000000000 +0100
+++ new/libgsf-1.14.33/NEWS     2015-04-09 23:16:47.000000000 +0200
@@ -1,3 +1,12 @@
+libgsf 1.14.33
+
+Morten:
+       * Ensure floats roundtrip through our xml functions.
+       * Improve handling of unknown xml tags.
+       * xml parser improvements.
+       * xml pretty-printing improvements.
+
+--------------------------------------------------------------------------
 libgsf 1.14.32
 
 Morten:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/configure new/libgsf-1.14.33/configure
--- old/libgsf-1.14.32/configure        2015-02-05 00:40:33.000000000 +0100
+++ new/libgsf-1.14.33/configure        2015-04-01 23:23:53.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libgsf 1.14.32.
+# Generated by GNU Autoconf 2.69 for libgsf 1.14.33.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=libgsf>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='libgsf'
 PACKAGE_TARNAME='libgsf'
-PACKAGE_VERSION='1.14.32'
-PACKAGE_STRING='libgsf 1.14.32'
+PACKAGE_VERSION='1.14.33'
+PACKAGE_STRING='libgsf 1.14.33'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libgsf'
 PACKAGE_URL=''
 
@@ -1448,7 +1448,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libgsf 1.14.32 to adapt to many kinds of systems.
+\`configure' configures libgsf 1.14.33 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1518,7 +1518,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libgsf 1.14.32:";;
+     short | recursive ) echo "Configuration of libgsf 1.14.33:";;
    esac
   cat <<\_ACEOF
 
@@ -1662,7 +1662,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libgsf configure 1.14.32
+libgsf configure 1.14.33
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2188,7 +2188,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libgsf $as_me 1.14.32, which was
+It was created by libgsf $as_me 1.14.33, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2548,12 +2548,12 @@
 
 LIBGSF_MINOR_VERSION=14
 
-LIBGSF_MICRO_VERSION=32
+LIBGSF_MICRO_VERSION=33
 
 
 
 
-VERSION_INFO=114:32:0
+VERSION_INFO=114:33:0
 
 CURRENT_MINUS_AGE=114
 
@@ -3073,7 +3073,7 @@
 
 # Define the identity of the package.
  PACKAGE='libgsf'
- VERSION='1.14.32'
+ VERSION='1.14.33'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16246,7 +16246,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libgsf $as_me 1.14.32, which was
+This file was extended by libgsf $as_me 1.14.33, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16312,7 +16312,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libgsf config.status 1.14.32
+libgsf config.status 1.14.33
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/configure.ac 
new/libgsf-1.14.33/configure.ac
--- old/libgsf-1.14.32/configure.ac     2015-02-05 00:38:26.000000000 +0100
+++ new/libgsf-1.14.33/configure.ac     2015-03-04 23:46:13.000000000 +0100
@@ -4,7 +4,7 @@
 
 m4_define([libgsf_version_major], [1])
 m4_define([libgsf_version_minor], [14])
-m4_define([libgsf_version_micro], [32])
+m4_define([libgsf_version_micro], [33])
 m4_define([libgsf_version_extra], [])
 m4_define([libgsf_full_version],
     
[libgsf_version_major.libgsf_version_minor.libgsf_version_micro[]libgsf_version_extra])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/doc/Makefile.in 
new/libgsf-1.14.33/doc/Makefile.in
--- old/libgsf-1.14.32/doc/Makefile.in  2015-02-05 00:40:34.000000000 +0100
+++ new/libgsf-1.14.33/doc/Makefile.in  2015-04-01 23:23:53.000000000 +0200
@@ -606,9 +606,9 @@
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
 @GTK_DOC_INSTALLED_FALSE@uninstall-local:
-@GTK_DOC_INSTALLED_FALSE@clean-local:
-@GTK_DOC_INSTALLED_FALSE@maintainer-clean-local:
 @GTK_DOC_INSTALLED_FALSE@distclean-local:
+@GTK_DOC_INSTALLED_FALSE@maintainer-clean-local:
+@GTK_DOC_INSTALLED_FALSE@clean-local:
 @GTK_DOC_INSTALLED_FALSE@install-data-local:
 clean: clean-am
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/doc/html/gsf-XML-and-libxml.html 
new/libgsf-1.14.33/doc/html/gsf-XML-and-libxml.html
--- old/libgsf-1.14.32/doc/html/gsf-XML-and-libxml.html 2015-03-04 
23:44:26.000000000 +0100
+++ new/libgsf-1.14.33/doc/html/gsf-XML-and-libxml.html 2015-04-16 
23:03:21.000000000 +0200
@@ -919,7 +919,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gsf_xml_out_set_doc_type (<em class="parameter"><code><a class="link" 
href="gsf-XML-and-libxml.html#GsfXMLOut"><span 
class="type">GsfXMLOut</span></a> *xout</code></em>,
                           <em class="parameter"><code><span 
class="type">char</span> const *type</code></em>);</pre>
-<p>Store some optional some &lt;!DOCTYPE .. &gt; content</p>
+<p>Store some optional &lt;!DOCTYPE .. &gt; content</p>
 <div class="refsect3">
 <a name="id-1.6.5.3.9.19.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -1914,7 +1914,7 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p>unsigned <span class="type">int</span> <em 
class="structfield"><code><a 
name="GsfXMLInNode.check-children-for-ns"></a>check_children_for_ns</code></em> 
: 1;</p></td>
-<td class="struct_member_description"><p>whetehr to check namespace for 
children</p></td>
+<td class="struct_member_description"><p>whether to check namespace for 
children</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
@@ -1960,6 +1960,13 @@
 </td>
 <td class="enum_member_annotations"> </td>
 </tr>
+<tr>
+<td class="enum_member_name"><p><a 
name="GSF-XML-2ND:CAPS"></a>GSF_XML_2ND</p></td>
+<td class="enum_member_description">
+<p>node is second or later occurrence</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/doc/tmpl/xml.sgml 
new/libgsf-1.14.33/doc/tmpl/xml.sgml
--- old/libgsf-1.14.32/doc/tmpl/xml.sgml        2015-03-04 23:44:25.000000000 
+0100
+++ new/libgsf-1.14.33/doc/tmpl/xml.sgml        2015-04-16 23:03:21.000000000 
+0200
@@ -86,6 +86,7 @@
 @GSF_XML_NO_CONTENT: 
 @GSF_XML_CONTENT: 
 @GSF_XML_SHARED_CONTENT: 
+@GSF_XML_2ND: 
 
 <!-- ##### STRUCT GsfXMLBlob ##### -->
 <para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/gsf/gsf-libxml.c 
new/libgsf-1.14.33/gsf/gsf-libxml.c
--- old/libgsf-1.14.32/gsf/gsf-libxml.c 2015-03-03 02:18:55.000000000 +0100
+++ new/libgsf-1.14.33/gsf/gsf-libxml.c 2015-04-09 23:16:47.000000000 +0200
@@ -591,6 +591,7 @@
        gint              unknown_depth; /* handle recursive unknown tags */
        gboolean          from_unknown_handler;
        gboolean          debug_parsing;
+       gboolean          silent_unknowns;
 
        GSList           *extension_stack; /* stack of GsfXMLInExtension */
 } GsfXMLInInternal;
@@ -699,7 +700,7 @@
 }
 
 static void
-gsf_xml_dump_state (GsfXMLInInternal *state)
+gsf_xml_in_dump_state (GsfXMLInInternal *state)
 {
        GSList *ptr = state->pub.node_stack = g_slist_reverse 
(state->pub.node_stack);
        if (ptr != NULL)        /* skip toplevel catch all */
@@ -725,7 +726,7 @@
        GSList *ptr;
        char const *tmp;
        int i;
-       gboolean complain = TRUE;
+       gboolean complain = !state->silent_unknowns;
 
        /* Scan for namespace declarations.  Yes it is ugly to have the api
         * flag that its children can declare namespaces. However, given that a
@@ -829,7 +830,7 @@
                return;
 
        g_printerr ("Unexpected element '%s' in state : \n\t", name);
-       gsf_xml_dump_state (state);
+       gsf_xml_in_dump_state (state);
 }
 
 static void
@@ -957,6 +958,7 @@
        state->contents_stack   = NULL;
        state->from_unknown_handler = FALSE;
        state->debug_parsing = gsf_debug_flag ("xml-parsing");
+       state->silent_unknowns = FALSE;
 }
 
 static void
@@ -1180,23 +1182,40 @@
                          GsfXMLInNode const *nodes)
 {
        GsfXMLInNode const *e_node;
-       GsfXMLInNodeInternal *tmp, *node;
 
        g_return_if_fail (doc != NULL);
        g_return_if_fail (nodes != NULL);
 
        for (e_node = nodes; e_node->id != NULL ; e_node++ ) {
-               node = g_hash_table_lookup (doc->symbols, e_node->id);
+               GsfXMLInNodeInternal *tmp, *node =
+                       g_hash_table_lookup (doc->symbols, e_node->id);
                if (node != NULL) {
-                       /* if its empty then this is just a recusion */
-                       if (e_node->start != NULL || e_node->end != NULL ||
-                           e_node->has_content != GSF_XML_NO_CONTENT ||
-                           e_node->user_data.v_int != 0) {
-                               g_warning ("ID '%s' has already been 
registered.\n"
-                                          "The additional decls should not 
specify start,end,content,data", e_node->id);
+                       /*
+                        * We use the repeat of a node name to attach an
+                        * entire subtree in another place too.  The second
+                        * node should either be empty (old method) or
+                        * use GSF_XML_2ND (new, as-of 1.14.33).
+                        */
+                       if (e_node->has_content == GSF_XML_2ND) {
+                               /* Nothing, but e_node contents ignored. */
+                       } else if (e_node->start != NULL || e_node->end != NULL 
||
+                                e_node->has_content != GSF_XML_NO_CONTENT ||
+                                e_node->user_data.v_int != 0) {
+                               g_warning ("ID '%s' has already been 
registered.",
+                                       e_node->id);
                                continue;
                        }
+
+                       if (strcmp (e_node->parent_id, node->pub.parent_id) == 
0)
+                               g_warning ("Duplicate node %s (under %s)", 
e_node->id, e_node->parent_id);
                } else {
+                       if (e_node->has_content == GSF_XML_2ND) {
+                               g_warning ("ID '%s' is declared 2nd, but is 
missing.",
+                                       e_node->id);
+                               /* Hence e_node contents ignored. */
+                               continue;
+                       }                       
+
                        node = g_new0 (GsfXMLInNodeInternal, 1);
                        node->pub = *e_node;
                        /* WARNING VILE HACK :
@@ -1361,6 +1380,24 @@
 }
 
 /**
+ * gsf_xml_in_set_silent_unknowns:
+ * @xin: #GsfXMLIn
+ * @silent: whether to be silent about unknown tags
+ *
+ * (New in 1.14.33)
+ *
+ * This provides a means to silently ignore unknown tags in contexts where
+ * they are expected.
+ **/
+void
+gsf_xml_in_set_silent_unknowns (GsfXMLIn *xin, gboolean silent)
+{
+       GsfXMLInInternal *state = (GsfXMLInInternal *)xin;
+       state->silent_unknowns = silent;
+}
+
+
+/**
  * gsf_xml_in_check_ns:
  * @xin: #GsfXMLIn
  * @str: string to check
@@ -1434,6 +1471,7 @@
 typedef enum {
        GSF_XML_OUT_NOCONTENT,
        GSF_XML_OUT_CHILD,
+       GSF_XML_OUT_CHILD_PRETTY,
        GSF_XML_OUT_CONTENT
 } GsfXMLOutState;
 
@@ -1577,7 +1615,7 @@
  * @xout: #GsfXMLOut
  * @type: the document type declaration
  *
- * Store some optional some &lt;!DOCTYPE .. &gt; content
+ * Store some optional &lt;!DOCTYPE .. &gt; content
  **/
 void
 gsf_xml_out_set_doc_type (GsfXMLOut *xout, char const *type)
@@ -1587,6 +1625,44 @@
        priv->doc_type = g_strdup (type);
 }
 
+/**
+ * gsf_xml_out_get_pretty_print:
+ * @xout: #GsfXMLOut
+ *
+ * Returns: the current state of the pretty-print flag.  Note, that
+ * gsf_xml_out_set_pretty_print will return the same value.
+ **/
+gboolean
+gsf_xml_out_get_pretty_print (GsfXMLOut *xout)
+{
+       g_return_val_if_fail (GSF_IS_XML_OUT (xout), TRUE);
+       return xout->priv->pretty_print;
+}
+
+/**
+ * gsf_xml_out_set_pretty_print:
+ * @xout: #GsfXMLOut
+ * @pp: new state of pretty-print flag.
+ *
+ * Returns: the previous state of the pretty-print flag.
+ **/
+gboolean
+gsf_xml_out_set_pretty_print (GsfXMLOut *xout, gboolean pp)
+{
+       gboolean res;
+
+       g_return_val_if_fail (GSF_IS_XML_OUT (xout), TRUE);
+
+       pp = !!pp;
+
+       res = xout->priv->pretty_print;
+       if (pp != res) {
+               xout->priv->pretty_print = pp;
+               g_object_notify (G_OBJECT (xout), "pretty-print");
+       }
+       return res;
+}
+
 static inline void
 gsf_xml_out_indent (GsfXMLOut *xout)
 {
@@ -1667,23 +1743,24 @@
        priv->stack = g_slist_remove (priv->stack, id);
        priv->indent--;
        switch (priv->state) {
-       case GSF_XML_OUT_NOCONTENT :
+       case GSF_XML_OUT_NOCONTENT:
                if (priv->pretty_print)
                        gsf_output_write (xout->output, 3, "/>\n");
                else
                        gsf_output_write (xout->output, 2, "/>");
                break;
 
-       case GSF_XML_OUT_CHILD :
+       case GSF_XML_OUT_CHILD_PRETTY:
                gsf_xml_out_indent (xout);
        /* fall through */
-       case GSF_XML_OUT_CONTENT :
+       case GSF_XML_OUT_CHILD:
+       case GSF_XML_OUT_CONTENT:
                if (priv->pretty_print)
                        gsf_output_printf (xout->output, "</%s>\n", id);
                else
                        gsf_output_printf (xout->output, "</%s>", id);
        }
-       priv->state = GSF_XML_OUT_CHILD;
+       priv->state = priv->pretty_print ? GSF_XML_OUT_CHILD_PRETTY : 
GSF_XML_OUT_CHILD;
        return id;
 }
 
@@ -1923,14 +2000,15 @@
 gsf_xml_out_add_float (GsfXMLOut *xout, char const *id,
                       double val, int precision)
 {
-       char format_str[4 * sizeof (int) + 10];
-       char buf[G_ASCII_DTOSTR_BUF_SIZE + DBL_DIG];
+       char buf[G_ASCII_DTOSTR_BUF_SIZE + DBL_DIG + 17];
 
-       if (precision < 0 || precision > DBL_DIG)
-               precision = DBL_DIG;
-
-       sprintf (format_str, "%%.%dg", precision);
-       g_ascii_formatd (buf, sizeof (buf), format_str, val);
+       if (precision < 0 || precision > 17) {
+               g_ascii_dtostr (buf, sizeof (buf), val);
+       } else {
+               char format_str[4 * sizeof (int) + 10];
+               sprintf (format_str, "%%.%dg", precision);
+               g_ascii_formatd (buf, sizeof (buf), format_str, val);
+       }
        gsf_xml_out_add_cstr_unchecked (xout, id, buf);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/gsf/gsf-libxml.h 
new/libgsf-1.14.33/gsf/gsf-libxml.h
--- old/libgsf-1.14.32/gsf/gsf-libxml.h 2014-12-15 05:31:28.000000000 +0100
+++ new/libgsf-1.14.33/gsf/gsf-libxml.h 2015-04-09 23:16:47.000000000 +0200
@@ -58,6 +58,7 @@
  * @GSF_XML_NO_CONTENT: node has no cstr contents
  * @GSF_XML_CONTENT: node has cstr contents
  * @GSF_XML_SHARED_CONTENT: node has contents that is shared with children
+ * @GSF_XML_2ND: node is second or later occurrence
  *
  * Controls the handling of character data within a parser node.
  */
@@ -65,7 +66,8 @@
 typedef enum {
        GSF_XML_NO_CONTENT = FALSE,
        GSF_XML_CONTENT,
-       GSF_XML_SHARED_CONTENT
+       GSF_XML_SHARED_CONTENT,
+       GSF_XML_2ND                 /* Second definition */
 } GsfXMLContent;
 typedef gboolean (*GsfXMLInUnknownFunc) (GsfXMLIn *xin,
                                         xmlChar const *elem, xmlChar const 
**attrs);
@@ -143,6 +145,7 @@
                                    unsigned int ns_id);
 gboolean     gsf_xml_in_namecmp           (GsfXMLIn const *xin, char const 
*str,
                                    unsigned int ns_id, char const *name);
+void         gsf_xml_in_set_silent_unknowns (GsfXMLIn *xin, gboolean silent);
 
 GType       gsf_xml_in_ns_get_type (void);
 
@@ -181,6 +184,9 @@
 void       gsf_xml_out_start_element   (GsfXMLOut *xout, char const *id);
 char const *gsf_xml_out_end_element    (GsfXMLOut *xout);
 
+gboolean    gsf_xml_out_get_pretty_print (GsfXMLOut *xout);
+gboolean    gsf_xml_out_set_pretty_print (GsfXMLOut *xout, gboolean pp);
+
 void gsf_xml_out_simple_element                (GsfXMLOut *xout, char const 
*id,
                                         char const *content);
 void gsf_xml_out_simple_int_element    (GsfXMLOut *xout, char const *id,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/gsf/version.c 
new/libgsf-1.14.33/gsf/version.c
--- old/libgsf-1.14.32/gsf/version.c    2015-02-05 00:40:39.000000000 +0100
+++ new/libgsf-1.14.33/gsf/version.c    2015-04-01 23:23:59.000000000 +0200
@@ -1,3 +1,3 @@
 int libgsf_major_version = 1;  /* The ABI version */
 int libgsf_minor_version = 14; /* The API version */
-int libgsf_micro_version = 32; /* bug fixes */
+int libgsf_micro_version = 33; /* bug fixes */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/libgsf-1.spec 
new/libgsf-1.14.33/libgsf-1.spec
--- old/libgsf-1.14.32/libgsf-1.spec    2015-02-05 00:40:39.000000000 +0100
+++ new/libgsf-1.14.33/libgsf-1.spec    2015-04-01 23:23:59.000000000 +0200
@@ -1,5 +1,5 @@
 %define name libgsf
-%define version 1.14.32
+%define version 1.14.33
 %define release 1
 %define prefix /usr
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/po/ChangeLog 
new/libgsf-1.14.33/po/ChangeLog
--- old/libgsf-1.14.32/po/ChangeLog     2015-03-04 23:44:18.000000000 +0100
+++ new/libgsf-1.14.33/po/ChangeLog     2015-04-16 23:03:12.000000000 +0200
@@ -1,3 +1,7 @@
+2015-04-16  Morten Welinder <te...@gnome.org>
+
+       * Release 1.14.33
+
 2015-03-04  Morten Welinder <te...@gnome.org>
 
        * Release 1.14.32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/po/LINGUAS 
new/libgsf-1.14.33/po/LINGUAS
--- old/libgsf-1.14.32/po/LINGUAS       2014-12-16 00:19:19.000000000 +0100
+++ new/libgsf-1.14.33/po/LINGUAS       2015-03-14 02:26:28.000000000 +0100
@@ -1,6 +1,7 @@
 # please keep this list sorted alphabetically
 #
 as
+bs
 ca
 ca@valencia
 cs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/po/bs.po new/libgsf-1.14.33/po/bs.po
--- old/libgsf-1.14.32/po/bs.po 1970-01-01 01:00:00.000000000 +0100
+++ new/libgsf-1.14.33/po/bs.po 2015-03-14 02:26:28.000000000 +0100
@@ -0,0 +1,715 @@
+# Bosnian translation for libgsf
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the libgsf package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libgsf\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
+"product=libgsf&keywords=I18N+L10N&component=General\n"
+"POT-Creation-Date: 2015-02-26 22:46+0000\n"
+"PO-Revision-Date: 2015-02-16 23:30+0000\n"
+"Last-Translator: Samir Ribić <Unknown>\n"
+"Language-Team: Bosnian <b...@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2015-02-17 06:21+0000\n"
+"X-Generator: Launchpad (build 17341)\n"
+
+#: ../gsf/gsf-blob.c:114
+#, c-format
+msgid "Not enough memory to copy %s bytes of data"
+msgstr "Nema dovoljno memorije za kopiranje %s bajta podataka"
+
+#: ../gsf/gsf-clip-data.c:165
+#, c-format
+msgid "The clip_data is in %s, but it is smaller than at least %s bytes"
+msgstr "Clip_data je u %s, ali je manja od najmanje %s bajtova"
+
+#: ../gsf/gsf-clip-data.c:259
+#, c-format
+msgid ""
+"The clip_data is in Windows clipboard format, but it is smaller than the "
+"required 4 bytes."
+msgstr ""
+"Clip_data je u Windows clipboard formatu, ali je manja od potrebnih 4 bajta."
+
+#: ../gsf/gsf-clip-data.c:270
+msgid "Windows Metafile format"
+msgstr "Windows Metafile format"
+
+#. CF_BITMAP
+#: ../gsf/gsf-clip-data.c:276
+msgid "Windows DIB or BITMAP format"
+msgstr "Windows DIB ili Bitmap format"
+
+#: ../gsf/gsf-clip-data.c:281
+msgid "Windows Enhanced Metafile format"
+msgstr "Poboljšani Windows Metafile format"
+
+#: ../gsf/gsf-infile-msole.c:471
+#, c-format
+msgid "Failed to duplicate input stream"
+msgstr "Nisam uspio da udvostručim ulazni tok"
+
+#: ../gsf/gsf-infile-msole.c:505
+#, c-format
+msgid "No OLE2 signature"
+msgstr "Nema OLE2 potpisa"
+
+#: ../gsf/gsf-infile-msole.c:525
+#, c-format
+msgid "Unreasonable block sizes"
+msgstr "Besmislena veličina blokova"
+
+#: ../gsf/gsf-infile-msole.c:561
+#, c-format
+msgid "Insufficient memory"
+msgstr "Nedovoljno memorije"
+
+#: ../gsf/gsf-infile-msole.c:620
+#, c-format
+msgid "Inconsistent block allocation table"
+msgstr "Nedosljedna tabela dodjele blokova"
+
+#: ../gsf/gsf-infile-msole.c:628
+#, c-format
+msgid "Problems making block allocation table"
+msgstr "Problemi prilikom stvaranja tabele dodjele blokova"
+
+#: ../gsf/gsf-infile-msole.c:640
+#, c-format
+msgid "Problems reading directory"
+msgstr "Problemi prilikom čitanja direktorijuma"
+
+#: ../gsf/gsf-infile-msole.c:804
+#, c-format
+msgid "Failed to access child"
+msgstr "Nisam uspeo da pristupim dijete procesu"
+
+#: ../gsf/gsf-infile-msole.c:837
+#, c-format
+msgid "failure reading block"
+msgstr "greška prilikom čitanja bloka"
+
+#: ../gsf/gsf-infile-msvba.c:171 ../gsf/gsf-infile-msvba.c:390
+#, c-format
+msgid "Can't find the VBA directory stream"
+msgstr "Ne mogu da pronađem tok VBA direktorijuma"
+
+#: ../gsf/gsf-infile-msvba.c:218 ../gsf/gsf-infile-msvba.c:226
+msgid "vba project header problem"
+msgstr "problem sa zaglavljem vba projekta"
+
+#: ../gsf/gsf-infile-msvba.c:399
+#, c-format
+msgid "No VBA signature"
+msgstr "Nema VBA potpisa"
+
+#: ../gsf/gsf-infile-msvba.c:410
+#, c-format
+msgid "Unknown VBA version signature 0x%x%x%x%x"
+msgstr "Nepoznat potpis VBA izdanja 0x%x%x%x%x"
+
+#: ../gsf/gsf-infile-msvba.c:510
+#, c-format
+msgid "Unable to parse VBA header"
+msgstr "Ne mogu da obradim VBA zaglavlje"
+
+#: ../gsf/gsf-infile-tar.c:109 ../gsf/gsf-infile-tar.c:217
+#, c-format
+msgid "Invalid tar header"
+msgstr "Neispravno tar zaglavlje"
+
+#: ../gsf/gsf-infile-tar.c:266
+#, c-format
+msgid "Invalid longname header"
+msgstr "Neispravno zaglavlje dugog naziva"
+
+#: ../gsf/gsf-infile-tar.c:273
+#, c-format
+msgid "Failed to read longname"
+msgstr "Nisam uspio da pročitam dugi naziv"
+
+#: ../gsf/gsf-infile-tar.c:293 ../gsf/gsf-input.c:288
+#, c-format
+msgid "Seek failed"
+msgstr "Neuspjelo traženje"
+
+#: ../gsf/gsf-infile-tar.c:301
+#, c-format
+msgid "Truncated archive"
+msgstr "Skraćena arhiva"
+
+#: ../gsf/gsf-infile-tar.c:551 ../gsf/gsf-infile-zip.c:942
+#: ../gsf/gsf-input-gzip.c:514
+msgid "Source"
+msgstr "Izvor"
+
+#: ../gsf/gsf-infile-tar.c:552 ../gsf/gsf-infile-zip.c:943
+msgid "The archive being interpreted"
+msgstr "Arhiva se analizira"
+
+#: ../gsf/gsf-infile-zip.c:453
+#, c-format
+msgid "Error reading zip dirent"
+msgstr "Greška čitanja unosa direktorijuma zip-a"
+
+#: ../gsf/gsf-infile-zip.c:464
+#, c-format
+msgid "Broken zip file structure"
+msgstr "Oštećena struktura datoteke zip-a"
+
+#: ../gsf/gsf-infile-zip.c:518
+msgid "Error seeking to zip header"
+msgstr "Greška traženja zaglavlja zip-a"
+
+#: ../gsf/gsf-infile-zip.c:520
+msgid "Error reading zip header"
+msgstr "Greška čitanja zaglavlja zip-a"
+
+#: ../gsf/gsf-infile-zip.c:522
+msgid "Error incorrect zip header"
+msgstr "Greška neispravnog zip zaglavlja"
+
+#: ../gsf/gsf-infile-zip.c:553
+#, c-format
+msgid "problem uncompressing stream"
+msgstr "greška raspakivanja toka"
+
+#: ../gsf/gsf-infile-zip.c:958 ../gsf/gsf-outfile-zip.c:1096
+msgid "Compression Level"
+msgstr "Nivo sažimanja"
+
+#: ../gsf/gsf-infile-zip.c:959 ../gsf/gsf-outfile-zip.c:1097
+msgid "The level of compression used, zero meaning none"
+msgstr "Nivo korišćenog sažimanja, nula znači ništa"
+
+#: ../gsf/gsf-input-bzip.c:48 ../gsf/gsf-output-bzip.c:265
+#, c-format
+msgid "BZ2 support not enabled"
+msgstr "Podrška za BZ2 nije uključena"
+
+#: ../gsf/gsf-input-bzip.c:63
+#, c-format
+msgid "BZ2 decompress init failed"
+msgstr "Pokretanje raspakivanja BZ2 nije uspjelo"
+
+#: ../gsf/gsf-input-bzip.c:82
+#, c-format
+msgid "BZ2 decompress failed"
+msgstr "Raspakivanje BZ2 nije uspjelo"
+
+#: ../gsf/gsf-input-bzip.c:99
+#, c-format
+msgid "BZ2 decompress end failed"
+msgstr "Kraj raspakivanja BZ2 nije uspio"
+
+#: ../gsf/gsf-input.c:128 ../gsf/gsf-output.c:168
+msgid "Name"
+msgstr "Naziv"
+
+#: ../gsf/gsf-input.c:129
+msgid "The input's name"
+msgstr "Naziv ulaza"
+
+#: ../gsf/gsf-input.c:143 ../gsf/gsf-output.c:183
+msgid "Size"
+msgstr "Veličina"
+
+#: ../gsf/gsf-input.c:144
+msgid "The input's size"
+msgstr "Veličina ulaza"
+
+#: ../gsf/gsf-input.c:158
+msgid "EOF"
+msgstr "EOF"
+
+#: ../gsf/gsf-input.c:159
+msgid "End of file"
+msgstr "Kraj datoteke"
+
+#: ../gsf/gsf-input.c:173
+msgid "Remaining"
+msgstr "Preostalo"
+
+#: ../gsf/gsf-input.c:174
+msgid "Amount of data remaining"
+msgstr "Količina preostalih podataka"
+
+#: ../gsf/gsf-input.c:188 ../gsf/gsf-output.c:213
+msgid "Position"
+msgstr "Pozicija"
+
+#: ../gsf/gsf-input.c:189
+msgid "The input's current position"
+msgstr "Tekući položaj ulaza"
+
+#: ../gsf/gsf-input.c:206 ../gsf/gsf-output.c:232
+msgid "Modification time"
+msgstr "Vrijeme izmjene"
+
+#: ../gsf/gsf-input.c:207
+msgid "An optional GDateTime representing the time the input was last changed"
+msgstr ""
+"Izborno GDateTime koje predstavlja vrijeme kada je posljednji put izmijenjen "
+"ulaz"
+
+#: ../gsf/gsf-input.c:220 ../gsf/gsf-output.c:247
+msgid "Container"
+msgstr "Sadržalac"
+
+#: ../gsf/gsf-input.c:221
+msgid "The parent GsfInfile"
+msgstr "Roditeljski GsfInfile"
+
+#: ../gsf/gsf-input.c:281
+#, c-format
+msgid "Duplicate size mismatch"
+msgstr "Udvostručena veličina ne odgovara"
+
+#: ../gsf/gsf-input-gzip.c:169
+#, c-format
+msgid "Unable to initialize zlib"
+msgstr "Ne mogu da pokrenem zlib"
+
+#: ../gsf/gsf-input-gzip.c:177
+#, c-format
+msgid "Failed to rewind source"
+msgstr "Nisam uspio da premotam izvor"
+
+#: ../gsf/gsf-input-gzip.c:184
+#, c-format
+msgid "Invalid gzip header"
+msgstr "Neispravno gzip zaglavlje"
+
+#: ../gsf/gsf-input-gzip.c:313
+#, c-format
+msgid "truncated source"
+msgstr "skraćeni izvor"
+
+#: ../gsf/gsf-input-gzip.c:330
+#, c-format
+msgid "Failed to read from source"
+msgstr "Nisam uspio da pročitam iz izvora"
+
+#: ../gsf/gsf-input-gzip.c:474
+#, c-format
+msgid "NULL source"
+msgstr "PRAZAN izvor"
+
+#: ../gsf/gsf-input-gzip.c:478
+#, c-format
+msgid "Uncompressed size not set"
+msgstr "Veličina neraspakovanog nije postavljena"
+
+#: ../gsf/gsf-input-gzip.c:503
+msgid "Raw"
+msgstr "Sirovo"
+
+#: ../gsf/gsf-input-gzip.c:504
+msgid "Whether to read compressed data with no header and no trailer"
+msgstr "Da li da čita kompresovane podatke bez zaglavlja i bez završetka"
+
+#: ../gsf/gsf-input-gzip.c:515
+msgid "Where the compressed data comes from"
+msgstr "Odakle dolaze upakovani podaci"
+
+#: ../gsf/gsf-input-gzip.c:531
+msgid "Size after decompression"
+msgstr "Veličina nakon raspakivanja"
+
+#: ../gsf/gsf-input-gzip.c:532
+msgid "The source's uncompressed size"
+msgstr "Veličina neraspakovanog izvora"
+
+#: ../gsf/gsf-input-memory.c:227 ../gsf/gsf-output-stdio.c:454
+#, c-format
+msgid "%s: Is not a regular file"
+msgstr "%s: Nije regularna datoteka"
+
+#: ../gsf/gsf-input-memory.c:240
+#, c-format
+msgid "%s: File too large to be memory mapped"
+msgstr "%s: Datoteka je prevelika da bi bila memorijski mapirana"
+
+#: ../gsf/gsf-input-memory.c:283
+#, c-format
+msgid "mmap not supported"
+msgstr "memorijsko mapiranje nije podržano"
+
+#: ../gsf/gsf-libxml.c:1533
+msgid "Pretty print"
+msgstr "Lijepo štampanje"
+
+#: ../gsf/gsf-libxml.c:1534
+msgid "Should the output auto-indent elements to make reading easier?"
+msgstr ""
+"Da li izlaz treba da uvlaći elemente kako bi čitanje bilo jednostavnije?"
+
+#: ../gsf/gsf-libxml.c:1540 ../gsf/gsf-open-pkg-utils.c:751
+#: ../gsf/gsf-outfile-msole.c:795 ../gsf/gsf-outfile-zip.c:1076
+#: ../gsf/gsf-output-csv.c:333 ../gsf/gsf-output-iconv.c:276
+msgid "Sink"
+msgstr "Izlaz"
+
+#: ../gsf/gsf-libxml.c:1541 ../gsf/gsf-outfile-msole.c:796
+msgid "The destination for writes"
+msgstr "Odredište za pisanja"
+
+#: ../gsf/gsf-msole-utils.c:312
+#, c-format
+msgid ""
+"Missing data when reading the %s property; got %s bytes, but %s bytes at "
+"least are needed."
+msgstr ""
+"Nedostaju podaci prilikom citanja %s svojine; dobiveno je %s bajta, no %s "
+"bajta je najmanje potrebno."
+
+#: ../gsf/gsf-msole-utils.c:363
+#, c-format
+msgid ""
+"Corrupt data in the VT_CF property; clipboard data length must be at least 4 "
+"bytes, but the data says it only has %s bytes available."
+msgstr ""
+"Korumpirani podaci u VT_CF imovini; duljina podataka u meduspremniku mora "
+"biti najmanje 4 bajta, ali podaci kažu da ima samo %s bajtova na "
+"raspolaganju."
+
+#: ../gsf/gsf-msole-utils.c:1129 ../gsf/gsf-msole-utils.c:1173
+#, c-format
+msgid "Unable to read MS property stream header"
+msgstr "Ne mogu da pročitam zaglavlje toka MS svojstva"
+
+#: ../gsf/gsf-msole-utils.c:1156
+#, c-format
+msgid "Invalid MS property stream header"
+msgstr "Neispravno zaglavlje toka MS svojstva"
+
+#: ../gsf/gsf-msole-utils.c:1203 ../gsf/gsf-msole-utils.c:1241
+#: ../gsf/gsf-msole-utils.c:1265
+#, c-format
+msgid "Invalid MS property section"
+msgstr "Neispravan odjeljak MS svojstva"
+
+#: ../gsf/gsf-msole-utils.c:1222 ../gsf/gsf-msole-utils.c:1226
+#, c-format
+msgid "Invalid MS property stream header or file truncated"
+msgstr "Neispravno zaglavlje toka MS svojstva ili je datoteka skraćena"
+
+#: ../gsf/gsf-opendoc-utils.c:362
+#, c-format
+msgid "Property \"%s\" used for multiple types!"
+msgstr "Svojstvo \"%s\" korišteno za više tipova!"
+
+#: ../gsf/gsf-opendoc-utils.c:894
+msgid "ODF version"
+msgstr "ODF verzija"
+
+#: ../gsf/gsf-opendoc-utils.c:895
+msgid "The ODF version this object is targeting as an integer like 100"
+msgstr "ODF verzija objekta se ponaša kao cijeli broj, poput 100"
+
+#: ../gsf/gsf-open-pkg-utils.c:368
+#, c-format
+msgid "Unable to find part id='%s' for '%s'"
+msgstr "Nije moguce pronaci dio id='%s' za '%s'"
+
+#: ../gsf/gsf-open-pkg-utils.c:395
+#, c-format
+msgid "Unable to find part with type='%s' for '%s'"
+msgstr "Nije moguće pronaći dio sa type='%s' za '%s'"
+
+#: ../gsf/gsf-open-pkg-utils.c:425
+#, c-format
+msgid "Missing id for part in '%s'"
+msgstr "Nedostaje id za dio u '%s'"
+
+#: ../gsf/gsf-open-pkg-utils.c:434
+#, c-format
+msgid "Part '%s' in '%s' from '%s' is corrupt!"
+msgstr "Dio '%s' u '%s' iz '%s' je pokvaren!"
+
+#: ../gsf/gsf-open-pkg-utils.c:752
+msgid "The GsfOutput that stores the Open Package content"
+msgstr "Gsf izlaz koji skladišti sadržaj Otvorenog paketa"
+
+#: ../gsf/gsf-open-pkg-utils.c:758
+msgid "Content type"
+msgstr "Vrsta sadržaja"
+
+#: ../gsf/gsf-open-pkg-utils.c:759
+msgid "The content type stored in the root [Content_Types].xml file"
+msgstr ""
+"Vrsta sadržaja uskladištenog u korijenskoj datoteci „[Content_Types].xml“"
+
+#: ../gsf/gsf-open-pkg-utils.c:765
+msgid "Is Directory"
+msgstr "To je direktorijum"
+
+#: ../gsf/gsf-open-pkg-utils.c:766
+msgid "Can the outfile have children"
+msgstr "Može li izlazna datoteka da sadrži druge"
+
+#: ../gsf/gsf-outfile-msole.c:806
+msgid "Small block size"
+msgstr "Veličina malog bloka"
+
+#: ../gsf/gsf-outfile-msole.c:807
+msgid "The size of the OLE's small blocks"
+msgstr "Veličina malih blokova OLE-a"
+
+#: ../gsf/gsf-outfile-msole.c:818
+msgid "Big block size"
+msgstr "Veličina velikog bloka"
+
+#: ../gsf/gsf-outfile-msole.c:819
+msgid "The size of the OLE's big blocks"
+msgstr "Veličina velikih blokova OLE-a"
+
+#: ../gsf/gsf-outfile-zip.c:1077
+msgid "Where the archive is written"
+msgstr "Gdje se zapisuje arhiva"
+
+#: ../gsf/gsf-outfile-zip.c:1086
+msgid "Entry Name"
+msgstr "Naziv stavke"
+
+#: ../gsf/gsf-outfile-zip.c:1087
+msgid "The filename of this member in the archive without path"
+msgstr "Naziv datoteke ovog člana u arhivi bez putanje"
+
+#: ../gsf/gsf-outfile-zip.c:1107
+msgid "Deflate Level"
+msgstr "Nivo deflate kompresije"
+
+#: ../gsf/gsf-outfile-zip.c:1108
+msgid ""
+"The level of deflate compression used, zero meaning none and -1 meaning the "
+"zlib default"
+msgstr ""
+"Nivo deflate kompresije. nula znači ništa, a -1 je zlib podrazumijevano"
+
+#: ../gsf/gsf-outfile-zip.c:1119
+msgid "Zip64"
+msgstr "Zip64"
+
+#: ../gsf/gsf-outfile-zip.c:1120
+msgid "Whether to use zip64 format, -1 meaning automatic"
+msgstr "Da li da koristi zapis zip64, -1 znači samostalno"
+
+#: ../gsf/gsf-output-bzip.c:76
+#, c-format
+msgid "Unable to initialize BZ2 library"
+msgstr "Ne mogu da pokrenem BZ2 biblioteku"
+
+#: ../gsf/gsf-output.c:169
+msgid "The output's name"
+msgstr "Naziv izlaza"
+
+#: ../gsf/gsf-output.c:184
+msgid "The output's size"
+msgstr "Veličina izlaza"
+
+#: ../gsf/gsf-output.c:198
+msgid "Is Closed"
+msgstr "Je zatvoren"
+
+#: ../gsf/gsf-output.c:199
+msgid "Whether the output is closed"
+msgstr "Da li je izlaz zatvoren"
+
+#: ../gsf/gsf-output.c:214
+msgid "The output's current position"
+msgstr "Tekući položaj izlaza"
+
+#: ../gsf/gsf-output.c:233
+msgid "An optional GDateTime representing the time the output was last changed"
+msgstr ""
+"Izborno GDateTime koje predstavlja vrijeme kada je posljednji put izmijenjen "
+"izlaz"
+
+#: ../gsf/gsf-output.c:248
+msgid "The parent GsfOutfile"
+msgstr "Roditeljska datoteka Gsf izlaza"
+
+#: ../gsf/gsf-output-csv.c:334
+msgid "Where the formatted output is written"
+msgstr "Gdje je zapisan oblikovani izlaz"
+
+#: ../gsf/gsf-output-csv.c:343
+msgid "Quote"
+msgstr "Navodnik"
+
+#: ../gsf/gsf-output-csv.c:344
+msgid "The string used for quoting fields"
+msgstr "Nz  korišćen za citiranje polja"
+
+#: ../gsf/gsf-output-csv.c:354
+msgid "Quoting Mode"
+msgstr "Režim citiranja"
+
+#: ../gsf/gsf-output-csv.c:355
+msgid "When to quote fields"
+msgstr "Kada citirati polja"
+
+#: ../gsf/gsf-output-csv.c:366
+msgid "Quoting Triggers"
+msgstr "Okidači citiranja"
+
+#: ../gsf/gsf-output-csv.c:367
+msgid "Characters that cause field quoting"
+msgstr "Znaci koji prouzrokuju citiranje polja"
+
+#: ../gsf/gsf-output-csv.c:376
+msgid "Quoting On Whitespace"
+msgstr "Citiranje na prazninama"
+
+#: ../gsf/gsf-output-csv.c:377
+msgid "Does initial or terminal whitespace force quoting?"
+msgstr "Da li početna ili praznina terminala primoravaju citiranje?"
+
+#: ../gsf/gsf-output-csv.c:386
+msgid "Separator"
+msgstr "Separator"
+
+#: ../gsf/gsf-output-csv.c:387
+msgid "The field separator"
+msgstr "Razdvajač polja"
+
+#: ../gsf/gsf-output-csv.c:397
+msgid "end-on-line"
+msgstr "kraj-reda"
+
+#: ../gsf/gsf-output-csv.c:398
+msgid "The end-of-line marker"
+msgstr "Označavač kraja-reda"
+
+#: ../gsf/gsf-output-iconv.c:277
+msgid "Where the converted data is written"
+msgstr "Gdje se zapisuju pretvoreni podaci"
+
+#: ../gsf/gsf-output-iconv.c:287
+msgid "Input Charset"
+msgstr "Skup znakova ulaza"
+
+#: ../gsf/gsf-output-iconv.c:288
+msgid "The character set to convert from"
+msgstr "Skup znakova iz koga se pretvara"
+
+#: ../gsf/gsf-output-iconv.c:297
+msgid "Output Charset"
+msgstr "Skup znakova izlaza"
+
+#: ../gsf/gsf-output-iconv.c:298
+msgid "The character set to convert to"
+msgstr "Skup znakova u koji se pretvara"
+
+#: ../gsf/gsf-output-iconv.c:314
+msgid "Fallback"
+msgstr "Spadanje"
+
+#: ../gsf/gsf-output-iconv.c:315
+msgid "The string to use for invalid characters"
+msgstr "Niska koja se koristi za neispravne znake"
+
+#: ../tools/gsf.c:19
+msgid "Display program version"
+msgstr "Prikaz verzije programa"
+
+#: ../tools/gsf.c:49
+#, c-format
+msgid "%s: Failed to open %s: %s\n"
+msgstr "%s: Neuspjesno otvaranje %s: %s\n"
+
+#: ../tools/gsf.c:76
+#, c-format
+msgid "%s: Failed to recognize %s as an archive\n"
+msgstr "%s: Neuspjesno prepoznavanje %s kao arhive\n"
+
+#: ../tools/gsf.c:115
+#, c-format
+msgid "Available subcommands are...\n"
+msgstr "Dostupne podkomande su...\n"
+
+#: ../tools/gsf.c:116
+#, c-format
+msgid "* cat        output one or more files in archive\n"
+msgstr "* cat        izlaz jedne ili vise datoteka u arhivu\n"
+
+#: ../tools/gsf.c:117
+#, c-format
+msgid "* dump       dump one or more files in archive as hex\n"
+msgstr "* dump       prebaci jednu ili vise datoteka u arhivu kao hex\n"
+
+#: ../tools/gsf.c:118
+#, c-format
+msgid "* help       list subcommands\n"
+msgstr "* help       izlistaj podkomande\n"
+
+#: ../tools/gsf.c:119
+#, c-format
+msgid "* list       list files in archive\n"
+msgstr "* list       izlistaj datoteke u arhivi\n"
+
+#: ../tools/gsf.c:120
+#, c-format
+msgid "* listprops  list document properties in archive\n"
+msgstr "* listprops  izlistaj svojstva dokumenata u arhivi\n"
+
+#: ../tools/gsf.c:121
+#, c-format
+msgid "* props      print specified document properties\n"
+msgstr "* props      ispis svojstava navedenih dokumenata\n"
+
+#: ../tools/gsf.c:122
+#, c-format
+msgid "* createole  create OLE archive\n"
+msgstr "* createole  kreiraj OLE arhivu\n"
+
+#: ../tools/gsf.c:123
+#, c-format
+msgid "* createzip  create ZIP archive\n"
+msgstr "* createzip  kreiraj ZIP arhivu\n"
+
+#: ../tools/gsf.c:315
+#, c-format
+msgid "No property named %s\n"
+msgstr "Nema imovine nazvane %s\n"
+
+#: ../tools/gsf.c:375
+#, c-format
+msgid "%s: Error processing file %s: %s\n"
+msgstr "%s: Greška u obradi datoteke %s: %s\n"
+
+#: ../tools/gsf.c:530
+msgid "SUBCOMMAND ARCHIVE..."
+msgstr "ARHIVA PODKOMANDI..."
+
+#: ../tools/gsf.c:537
+#, c-format
+msgid ""
+"%s\n"
+"Run '%s --help' to see a full list of available command line options.\n"
+msgstr ""
+"%s\n"
+"Pokrenite '%s --help' da biste vidjeli potpuni popis dostupnih opcija "
+"komandne linije.\n"
+
+#: ../tools/gsf.c:544
+#, c-format
+msgid "gsf version %d.%d.%d\n"
+msgstr "gsf verzija %d.%d.%d\n"
+
+#: ../tools/gsf.c:550
+#, c-format
+msgid "Usage: %s %s\n"
+msgstr "Upotreba: %s %s\n"
+
+#: ../tools/gsf.c:575
+#, c-format
+msgid "Run '%s help' to see a list of subcommands.\n"
+msgstr "Pokreni '%s help' za listu podkomandi.\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/tests/Makefile.am 
new/libgsf-1.14.33/tests/Makefile.am
--- old/libgsf-1.14.32/tests/Makefile.am        2014-12-16 00:19:19.000000000 
+0100
+++ new/libgsf-1.14.33/tests/Makefile.am        2015-04-09 23:16:47.000000000 
+0200
@@ -36,7 +36,7 @@
                 test-out-gzip1 test-out-gzip2 test-gzip1 test-gzip2    \
                 test-out-bzip test-bzip                                \
                 test-dump-msole test-restore-msole test-msvba-zip      \
-                test-http test-gio # test-xml
+                test-http test-gio test-xml
 
 EXTRA_DIST = LibGsfTest.pm $(SUPPS) $(TESTS)
 .PHONY: $(TESTS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/tests/Makefile.in 
new/libgsf-1.14.33/tests/Makefile.in
--- old/libgsf-1.14.32/tests/Makefile.in        2015-02-05 00:40:34.000000000 
+0100
+++ new/libgsf-1.14.33/tests/Makefile.in        2015-04-09 23:17:08.000000000 
+0200
@@ -102,7 +102,7 @@
        test-gzip1$(EXEEXT) test-gzip2$(EXEEXT) test-out-bzip$(EXEEXT) \
        test-bzip$(EXEEXT) test-dump-msole$(EXEEXT) \
        test-restore-msole$(EXEEXT) test-msvba-zip$(EXEEXT) \
-       test-http$(EXEEXT) test-gio$(EXEEXT)
+       test-http$(EXEEXT) test-gio$(EXEEXT) test-xml$(EXEEXT)
 subdir = tests
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/depcomp $(top_srcdir)/test-driver
@@ -248,6 +248,11 @@
 test_textline_LDADD = $(LDADD)
 test_textline_DEPENDENCIES = $(top_builddir)/gsf/libgsf-1.la \
        $(am__DEPENDENCIES_1)
+test_xml_SOURCES = test-xml.c
+test_xml_OBJECTS = test-xml.$(OBJEXT)
+test_xml_LDADD = $(LDADD)
+test_xml_DEPENDENCIES = $(top_builddir)/gsf/libgsf-1.la \
+       $(am__DEPENDENCIES_1)
 test_zip_out_SOURCES = test-zip-out.c
 test_zip_out_OBJECTS = test-zip-out.$(OBJEXT)
 test_zip_out_LDADD = $(LDADD)
@@ -309,7 +314,8 @@
        test-msole2.c test-msvba.c test-msvba-zip.c test-out-bzip.c \
        test-out-gzip1.c test-out-gzip2.c test-out-printf.c \
        test-outmem-printf.c test-restore-msole.c test-textline.c \
-       test-zip-out.c test-zip-out-subdirs.c test-zip1.c test-zip2.c
+       test-xml.c test-zip-out.c test-zip-out-subdirs.c test-zip1.c \
+       test-zip2.c
 DIST_SOURCES = test-bzip.c test-cat-zip.c test-cp.c test-cp-msole.c \
        test-cp-zip.c test-dump-msole.c test-gio.c test-gzip1.c \
        test-gzip2.c test-http.c test-input1.c test-ls-zip.c \
@@ -317,7 +323,8 @@
        test-msole2.c test-msvba.c test-msvba-zip.c test-out-bzip.c \
        test-out-gzip1.c test-out-gzip2.c test-out-printf.c \
        test-outmem-printf.c test-restore-msole.c test-textline.c \
-       test-zip-out.c test-zip-out-subdirs.c test-zip1.c test-zip2.c
+       test-xml.c test-zip-out.c test-zip-out-subdirs.c test-zip1.c \
+       test-zip2.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -887,6 +894,10 @@
        @rm -f test-textline$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_textline_OBJECTS) $(test_textline_LDADD) 
$(LIBS)
 
+test-xml$(EXEEXT): $(test_xml_OBJECTS) $(test_xml_DEPENDENCIES) 
$(EXTRA_test_xml_DEPENDENCIES) 
+       @rm -f test-xml$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_xml_OBJECTS) $(test_xml_LDADD) $(LIBS)
+
 test-zip-out$(EXEEXT): $(test_zip_out_OBJECTS) $(test_zip_out_DEPENDENCIES) 
$(EXTRA_test_zip_out_DEPENDENCIES) 
        @rm -f test-zip-out$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_zip_out_OBJECTS) $(test_zip_out_LDADD) 
$(LIBS)
@@ -934,6 +945,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test-outmem-printf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test-restore-msole.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-textline.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xml.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test-zip-out-subdirs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-zip-out.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-zip1.Po@am__quote@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgsf-1.14.32/tests/test-xml.c 
new/libgsf-1.14.33/tests/test-xml.c
--- old/libgsf-1.14.32/tests/test-xml.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libgsf-1.14.33/tests/test-xml.c 2015-04-09 23:16:47.000000000 +0200
@@ -0,0 +1,108 @@
+/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; 
c-basic-offset: 8 -*- */
+/*
+ * test-xml.c: Test libxml2 wrappers
+ *
+ * Copyright (C) 2015  Morten Welinder <te...@gnome.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2.1 of the GNU Lesser General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
+ * USA
+ */
+
+#include <stdio.h>
+#include <gsf/gsf.h>
+
+static int
+test_xml_indent (void)
+{
+       GsfOutput *mem = gsf_output_memory_new ();
+       GsfXMLOut *xml = gsf_xml_out_new (mem);
+       const char *data;
+       gboolean pprint;
+       int err;
+       const char *expected =
+               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<outer>\n"
+               "  <data/>\n"
+               "  <data attr=\"val\"/>\n"
+               "  <data>text</data>\n"
+               "  <data>\n"
+               "    <inner>text</inner>\n"
+               "  </data>\n"
+               "  <data>text</data>\n"
+               "  <data><inner>text</inner></data>\n"
+               "</outer>\n";
+
+       gsf_xml_out_start_element (xml, "outer");
+
+       gsf_xml_out_start_element (xml, "data");
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_start_element (xml, "data");
+       gsf_xml_out_add_cstr_unchecked (xml, "attr", "val");
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_start_element (xml, "data");
+       gsf_xml_out_add_cstr_unchecked (xml, NULL, "text");
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_start_element (xml, "data");
+       gsf_xml_out_start_element (xml, "inner");
+       gsf_xml_out_add_cstr_unchecked (xml, NULL, "text");
+       gsf_xml_out_end_element (xml);
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_start_element (xml, "data");
+       pprint = gsf_xml_out_set_pretty_print (xml, FALSE);
+       gsf_xml_out_add_cstr_unchecked (xml, NULL, "text");
+       gsf_xml_out_set_pretty_print (xml, pprint);
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_start_element (xml, "data");
+       pprint = gsf_xml_out_set_pretty_print (xml, FALSE);
+       gsf_xml_out_start_element (xml, "inner");
+       gsf_xml_out_add_cstr_unchecked (xml, NULL, "text");
+       gsf_xml_out_end_element (xml);
+       gsf_xml_out_set_pretty_print (xml, pprint);
+       gsf_xml_out_end_element (xml);
+
+       gsf_xml_out_end_element (xml);
+
+       g_object_unref (xml);
+
+       data = (const char *)gsf_output_memory_get_bytes (GSF_OUTPUT_MEMORY 
(mem));
+       g_printerr ("Got\n%s\n", data);
+
+       err = !g_str_equal (data, expected);
+       if (err)
+               g_printerr ("Expected\n%s\n", expected);
+
+       g_object_unref (mem);
+
+       return err;
+}
+
+int
+main (int argc, char *argv[])
+{
+       int res;
+
+       (void)argc;
+       (void)argv;
+
+       gsf_init ();
+       res = test_xml_indent ();
+       gsf_shutdown ();
+
+       return res;
+}


Reply via email to