plug-ins/script-fu/Makefile.am new files containing script_fu_stresacpe().

2008-09-20  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/Makefile.am
	* plug-ins/script-fu/script-fu-utils.[ch]: new files containing
	script_fu_stresacpe().

	* plug-ins/script-fu/script-fu-script.c
	* plug-ins/script-fu/script-fu-scripts.[ch]: changed accordingly.


svn path=/trunk/; revision=27023
This commit is contained in:
Michael Natterer 2008-09-20 09:58:30 +00:00 committed by Michael Natterer
parent f81434a574
commit 9336d7be74
7 changed files with 112 additions and 47 deletions

View File

@ -1,3 +1,12 @@
2008-09-20 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-utils.[ch]: new files containing
script_fu_stresacpe().
* plug-ins/script-fu/script-fu-script.c
* plug-ins/script-fu/script-fu-scripts.[ch]: changed accordingly.
2008-09-20 Simon Budig <simon@gimp.org>
* app/core/gimpcurve.c: whitespace fix

View File

@ -34,6 +34,9 @@ libexecdir = $(gimpplugindir)/plug-ins
libexec_PROGRAMS = script-fu
script_fu_SOURCES = \
script-fu-types.h \
script-fu-enums.h \
\
script-fu.c \
script-fu-console.c \
script-fu-console.h \
@ -52,8 +55,8 @@ script_fu_SOURCES = \
script-fu-scripts.h \
script-fu-server.c \
script-fu-server.h \
script-fu-types.h \
script-fu-enums.h \
script-fu-utils.c \
script-fu-utils.h \
scheme-wrapper.c \
scheme-wrapper.h

View File

@ -29,6 +29,7 @@
#include "script-fu-script.h"
#include "script-fu-scripts.h"
#include "script-fu-utils.h"
#include "script-fu-intl.h"

View File

@ -39,6 +39,7 @@
#include "script-fu-interface.h"
#include "script-fu-script.h"
#include "script-fu-scripts.h"
#include "script-fu-utils.h"
#include "script-fu-intl.h"
@ -892,47 +893,3 @@ script_fu_menu_compare (gconstpointer a,
return retval;
}
/*
* Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\' and '"'
* in the string source by inserting a '\' before them.
*/
gchar *
script_fu_strescape (const gchar *source)
{
const guchar *p;
gchar *dest;
gchar *q;
g_return_val_if_fail (source != NULL, NULL);
p = (const guchar *) source;
/* Each source byte needs maximally two destination chars */
q = dest = g_malloc (strlen (source) * 2 + 1);
while (*p)
{
switch (*p)
{
case '\b':
case '\f':
case '\n':
case '\r':
case '\t':
case '\\':
case '"':
*q++ = '\\';
/* fallthrough */
default:
*q++ = *p;
break;
}
p++;
}
*q = 0;
return dest;
}

View File

@ -25,7 +25,6 @@ pointer script_fu_add_script (scheme *sc,
pointer a);
pointer script_fu_add_menu (scheme *sc,
pointer a);
gchar * script_fu_strescape (const gchar *source);
#endif /* __SCRIPT_FU_SCRIPTS__ */

View File

@ -0,0 +1,70 @@
/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <string.h>
#include <glib.h>
#include "script-fu-utils.h"
/*
* Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\' and '"'
* in the string source by inserting a '\' before them.
*/
gchar *
script_fu_strescape (const gchar *source)
{
const guchar *p;
gchar *dest;
gchar *q;
g_return_val_if_fail (source != NULL, NULL);
p = (const guchar *) source;
/* Each source byte needs maximally two destination chars */
q = dest = g_malloc (strlen (source) * 2 + 1);
while (*p)
{
switch (*p)
{
case '\b':
case '\f':
case '\n':
case '\r':
case '\t':
case '\\':
case '"':
*q++ = '\\';
/* fallthrough */
default:
*q++ = *p;
break;
}
p++;
}
*q = 0;
return dest;
}

View File

@ -0,0 +1,26 @@
/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __SCRIPT_FU_UTILS_H__
#define __SCRIPT_FU_UTILS_H__
gchar * script_fu_strescape (const gchar *source);
#endif /* __SCRIPT_FU_UTILS__ */