pinkbyte-overlay/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch

240 lines
6.8 KiB
Diff

diff -Naur libcompizconfig-0.8.2.orig/config.h.in libcompizconfig-0.8.2/config.h.in
--- libcompizconfig-0.8.2.orig/config.h.in 2009-03-05 15:29:12.000000000 +0000
+++ libcompizconfig-0.8.2/config.h.in 2009-05-02 14:55:48.000000000 +0100
@@ -30,6 +30,9 @@
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
+/* Define to 1 if you have the `iniparser' library (-liniparser). */
+#undef HAVE_LIBINIPARSER
+
/* Define to 1 if you have the `protobuf' library (-lprotobuf). */
#undef HAVE_LIBPROTOBUF
diff -Naur libcompizconfig-0.8.2.orig/configure.ac libcompizconfig-0.8.2/configure.ac
--- libcompizconfig-0.8.2.orig/configure.ac 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/configure.ac 2009-05-02 14:55:48.000000000 +0100
@@ -116,6 +116,16 @@
fi
AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"])
+AC_ARG_WITH(internal-iniparser,
+ [AS_HELP_STRING([--without-internal-iniparser],[Don't use bundled iniparser lib])],
+ [], [with_internal_iniparser=yes])
+
+if test "x$with_internal_iniparser" = "xno"; then
+ AC_CHECK_LIB([iniparser], [iniparser_getnsec], [],
+ [AC_MSG_ERROR([Error! You need to have libiniparser])])
+fi
+AM_CONDITIONAL([WITH_INTERNAL_INIPARSER], [test "x$with_internal_iniparser" = "xyes"])
+
AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no])
AC_ARG_ENABLE(debug,
diff -Naur libcompizconfig-0.8.2.orig/include/ccs.h libcompizconfig-0.8.2/include/ccs.h
--- libcompizconfig-0.8.2.orig/include/ccs.h 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/include/ccs.h 2009-05-02 14:55:48.000000000 +0100
@@ -695,19 +695,9 @@
/* INI file stuff */
-typedef struct _dictionary_
-{
- /** Number of entries in dictionary */
- int n;
- /** Storage size */
- int size;
- /** List of string values */
- char **val;
- /** List of string keys */
- char **key ;
- /** List of hash values for keys */
- unsigned *hash;
-} IniDictionary;
+#include <iniparser.h>
+
+typedef dictionary IniDictionary;
IniDictionary* ccsIniNew (void);
IniDictionary* ccsIniOpen (const char *fileName);
diff -Naur libcompizconfig-0.8.2.orig/src/Makefile.am libcompizconfig-0.8.2/src/Makefile.am
--- libcompizconfig-0.8.2.orig/src/Makefile.am 2009-03-05 15:28:59.000000000 +0000
+++ libcompizconfig-0.8.2/src/Makefile.am 2009-05-02 14:55:48.000000000 +0100
@@ -39,14 +39,17 @@
lists.c \
compiz.cpp \
config.c \
- iniparser.c \
ini.c \
bindings.c \
filewatch.c \
- ccs-private.h \
- iniparser.h
+ ccs-private.h
libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ @LIBX11_LIBS@ $(PROTOBUF_LIB)
lib_LTLIBRARIES=libcompizconfig.la
+if WITH_INTERNAL_INIPARSER
+
+ libcompizconfig_la_SOURCES += iniparser.h iniparser.c
+
+endif
diff -Naur libcompizconfig-0.8.2.orig/src/ini.c libcompizconfig-0.8.2/src/ini.c
--- libcompizconfig-0.8.2.orig/src/ini.c 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/ini.c 2009-05-02 14:56:12.000000000 +0100
@@ -23,9 +23,10 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
+#include <ctype.h>
#include <ccs.h>
-#include "iniparser.h"
+#include <iniparser.h>
/**
* Creates the parent directory for @fileName, recursively creating a directory
@@ -77,7 +78,7 @@
if (file)
fclose (file);
- return iniparser_new ((char*) fileName);
+ return iniparser_load ((char*) fileName);
}
IniDictionary*
@@ -89,17 +90,22 @@
void
ccsIniClose (IniDictionary *dictionary)
{
- iniparser_free (dictionary);
+ iniparser_freedict (dictionary);
}
void
ccsIniSave (IniDictionary *dictionary,
const char *fileName)
{
+ FILE *f;
if (!ccsCreateDirFor (fileName))
return;
- iniparser_dump_ini (dictionary, fileName);
+ f = fopen(fileName, "w");
+ if(!f)
+ return;
+ iniparser_dump_ini (dictionary, f);
+ fclose(f);
}
static char*
@@ -127,11 +133,11 @@
char *sectionName;
asprintf (&sectionName, "%s:%s", section, entry);
-
+/*
if (!iniparser_find_entry (dictionary, (char*) section))
iniparser_add_entry (dictionary, (char*) section, NULL, NULL);
-
- iniparser_setstr (dictionary, sectionName, (char*) value);
+*/
+ iniparser_set (dictionary, sectionName, (char*) value);
free (sectionName);
}
diff -Naur libcompizconfig-0.8.2.orig/src/iniparser.h libcompizconfig-0.8.2/src/iniparser.h
--- libcompizconfig-0.8.2.orig/src/iniparser.h 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/iniparser.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-/*
- Based upon libiniparser, by Nicolas Devillard
- Hacked into 1 file (m-iniparser) by Freek/2005
- Original terms following:
-
- -- -
-
- Copyright (c) 2000 by Nicolas Devillard (ndevilla AT free DOT fr).
-
- Written by Nicolas Devillard. Not derived from licensed software.
-
- Permission is granted to anyone to use this software for any
- purpose on any computer system, and to redistribute it freely,
- subject to the following restrictions:
-
- 1. The author is not responsible for the consequences of use of
- this software, no matter how awful, even if they arise
- from defects in it.
-
- 2. The origin of this software must not be misrepresented, either
- by explicit claim or by omission.
-
- 3. Altered versions must be plainly marked as such, and must not
- be misrepresented as being the original software.
-
- 4. This notice may not be removed or altered.
-
- */
-
-
-#ifndef _INIPARSER_H_
-#define _INIPARSER_H_
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-
-#include <ccs.h>
-
-typedef IniDictionary dictionary;
-
-typedef struct _FileLock
-{
- int fd;
-} FileLock;
-
-/* generated by genproto */
-
-dictionary * iniparser_new(char *ininame);
-dictionary * dictionary_new(int size);
-void iniparser_free(dictionary * d);
-
-
-int iniparser_getnsec(dictionary * d);
-char * iniparser_getsecname(dictionary * d, int n);
-void iniparser_dump_ini(dictionary * d, const char * file_name);
-char * iniparser_getstring(dictionary * d, char * key, char * def);
-void iniparser_add_entry(dictionary * d, char * sec, char * key, char * val);
-int iniparser_find_entry(dictionary * ini, char * entry);
-int iniparser_setstr(dictionary * ini, char * entry, char * val);
-void iniparser_unset(dictionary * ini, char * entry);
-
-#endif
-
diff -Naur libcompizconfig-0.8.2.orig/src/main.c libcompizconfig-0.8.2/src/main.c
--- libcompizconfig-0.8.2.orig/src/main.c 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/main.c 2009-05-02 14:56:26.000000000 +0100
@@ -34,9 +34,9 @@
#include <math.h>
#include <ccs.h>
+#include <iniparser.h>
#include "ccs-private.h"
-#include "iniparser.h"
Bool basicMetadata = FALSE;
@@ -2577,7 +2577,7 @@
return FALSE;
fclose (fp);
- importFile = iniparser_new ((char *) fileName);
+ importFile = iniparser_load ((char *) fileName);
if (!importFile)
return FALSE;