aboutsummaryrefslogtreecommitdiff
path: root/gconf/gconf-format.c
diff options
context:
space:
mode:
Diffstat (limited to 'gconf/gconf-format.c')
-rw-r--r--gconf/gconf-format.c200
1 files changed, 0 insertions, 200 deletions
diff --git a/gconf/gconf-format.c b/gconf/gconf-format.c
deleted file mode 100644
index ea8a808..0000000
--- a/gconf/gconf-format.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/* gconf - General purpose configuration parser.
- Copyright (C) 2007, 2008, 2009 Sergey Poznyakoff
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- 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 General Public License along
- with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-#include <gconf.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-
-#if ENABLE_NLS
-# include "gettext.h"
-#else
-# define gettext(s) s
-#endif
-
-#define _(s) gettext (s)
-#define N_(s) s
-
-const char *
-gconf_data_type_string (enum gconf_data_type type)
-{
- switch (type)
- {
- case gconf_type_void:
- return "void";
-
- case gconf_type_string:
- return "string";
-
- case gconf_type_short:
- case gconf_type_ushort:
- case gconf_type_int:
- case gconf_type_uint:
- case gconf_type_long:
- case gconf_type_ulong:
- case gconf_type_size:
-/* case gconf_type_off:*/
- case gconf_type_uintmax:
- case gconf_type_intmax:
- return "number";
-
- case gconf_type_time:
- return "time";
-
- case gconf_type_bool:
- return "boolean";
-
- case gconf_type_ipv4:
- return "IPv4";
-
- case gconf_type_cidr:
- return "CIDR";
-
- case gconf_type_host:
- return "hostname";
-
- case gconf_type_sockaddr:
- return "sock-addr";
-
- case gconf_type_section:
- return "section";
- }
- return "UNKNOWN?";
-}
-
-static void
-format_level (FILE *stream, unsigned level)
-{
- while (level--)
- fprintf (stream, " ");
-}
-
-void
-gconf_format_docstring (FILE *stream, const char *docstring, unsigned level)
-{
- size_t len = strlen (docstring);
- int width = 78 - level * 2;
-
- if (width < 0)
- {
- width = 78;
- level = 0;
- }
-
- while (len)
- {
- size_t seglen;
- const char *p;
-
- for (seglen = 0, p = docstring; p < docstring + width && *p; p++)
- {
- if (*p == '\n')
- {
- seglen = p - docstring;
- break;
- }
- if (isspace (*p))
- seglen = p - docstring;
- }
- if (seglen == 0 || *p == 0)
- seglen = p - docstring;
-
- format_level (stream, level);
- fprintf (stream, "# ");
- fwrite (docstring, seglen, 1, stream);
- fputc ('\n', stream);
- len -= seglen;
- docstring += seglen;
- if (*docstring == '\n')
- {
- docstring++;
- len--;
- }
- else
- while (*docstring && isspace (*docstring))
- {
- docstring++;
- len--;
- }
- }
-}
-
-void
-gconf_format_simple_statement (FILE *stream, struct gconf_keyword *kwp,
- unsigned level)
-{
- const char *argstr;
-
- if (kwp->docstring)
- gconf_format_docstring (stream, kwp->docstring, level);
- format_level (stream, level);
-
- if (kwp->argname)
- argstr = kwp->argname;
- else
- argstr = N_("arg");
-
- if (strchr ("<[", argstr[0]))
- fprintf (stream, "%s %s;\n", kwp->ident, gettext (argstr));
- else if (strchr (argstr, ':'))
- fprintf (stream, "%s <%s>;\n", kwp->ident, gettext (argstr));
- else
- {
- fprintf (stream, "%s <%s: ", kwp->ident, gettext (argstr));
- if (GCONF_IS_LIST (kwp->type))
- fprintf (stream, "list of %s",
- gettext (gconf_data_type_string (GCONF_TYPE (kwp->type))));
- else
- fprintf (stream, "%s", gettext (gconf_data_type_string (kwp->type)));
- fprintf (stream, ">;\n");
- }
-}
-
-void
-gconf_format_block_statement (FILE *stream, struct gconf_keyword *kwp,
- unsigned level)
-{
- if (kwp->docstring)
- gconf_format_docstring (stream, kwp->docstring, level);
- format_level (stream, level);
- fprintf (stream, "%s", kwp->ident);
- if (kwp->argname)
- fprintf (stream, " <%s>", gettext (kwp->argname));
- fprintf (stream, " {\n");
- gconf_format_statement_array (stream, kwp->kwd, 0, level + 1);
- format_level (stream, level);
- fprintf (stream, "}\n");
-}
-
-void
-gconf_format_statement_array (FILE *stream, struct gconf_keyword *kwp,
- unsigned n,
- unsigned level)
-{
- for (; kwp->ident; kwp++, n++)
- {
- if (n)
- fputc ('\n', stream);
- if (kwp->type == gconf_type_section)
- gconf_format_block_statement (stream, kwp, level);
- else
- gconf_format_simple_statement (stream, kwp, level);
- }
-}

Return to:

Send suggestions and report system problems to the System administrator.