diff src/rcfile.c @ 1023:650c02c0c8ff

Move quoted_value() and escquote_value() to misc.[ch].
author zas_
date Sun, 31 Aug 2008 11:27:24 +0000
parents 4aa1a6235458
children 1646720364cf
line wrap: on
line diff
--- a/src/rcfile.c	Sun Aug 31 10:51:41 2008 +0000
+++ b/src/rcfile.c	Sun Aug 31 11:27:24 2008 +0000
@@ -19,95 +19,18 @@
 #include "bar_exif.h"
 #include "editors.h"
 #include "filefilter.h"
+#include "misc.h"
 #include "pixbuf-renderer.h"
 #include "secure_save.h"
 #include "slideshow.h"
 #include "ui_fileops.h"
 
-
 /*
  *-----------------------------------------------------------------------------
  * line write/parse routines (private)
  *-----------------------------------------------------------------------------
  */
 
-/*
-   returns text without quotes or NULL for empty or broken string
-   any text up to first '"' is skipped
-   tail is set to point at the char after the second '"'
-   or at the ending \0
-
-*/
-
-gchar *quoted_value(const gchar *text, const gchar **tail)
-{
-	const gchar *ptr;
-	gint c = 0;
-	gint l = strlen(text);
-	gchar *retval = NULL;
-
-	if (tail) *tail = text;
-
-	if (l == 0) return retval;
-
-	while (c < l && text[c] != '"') c++;
-	if (text[c] == '"')
-		{
-		gint e;
-		c++;
-		ptr = text + c;
-		e = c;
-		while (e < l)
-			{
-			if (text[e-1] != '\\' && text[e] == '"') break;
-			e++;
-			}
-		if (text[e] == '"')
-			{
-			if (e - c > 0)
-				{
-				gchar *substring = g_strndup(ptr, e - c);
-
-				if (substring)
-					{
-					retval = g_strcompress(substring);
-					g_free(substring);
-					}
-				}
-			}
-		if (tail) *tail = text + e + 1;
-		}
-	else
-		/* for compatibility with older formats (<0.3.7)
-		 * read a line without quotes too */
-		{
-		c = 0;
-		while (c < l && text[c] != '\n' && !g_ascii_isspace(text[c])) c++;
-		if (c != 0)
-			{
-			retval = g_strndup(text, c);
-			}
-		if (tail) *tail = text + c;
-		}
-
-	return retval;
-}
-
-gchar *escquote_value(const gchar *text)
-{
-	gchar *e;
-
-	if (!text) return g_strdup("\"\"");
-
-	e = g_strescape(text, "");
-	if (e)
-		{
-		gchar *retval = g_strdup_printf("\"%s\"", e);
-		g_free(e);
-		return retval;
-		}
-	return g_strdup("\"\"");
-}
 
 static void write_char_option(SecureSaveInfo *ssi, gchar *label, gchar *text)
 {