From 1bb8ff6f20b25b6169c2c644edb5622a54748bc4 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 11 Feb 2015 02:22:20 +0100 Subject: [PATCH] Move rxml to libretro SDK --- compat/rxml/rxml_test.c | 60 ----------------- .../rxml => libretro-sdk/formats}/Makefile | 2 +- {compat/rxml => libretro-sdk/formats}/rxml.c | 35 +++++----- libretro-sdk/formats/rxml_test.c | 67 +++++++++++++++++++ .../include/formats}/rxml.h | 34 ++++++---- 5 files changed, 107 insertions(+), 91 deletions(-) delete mode 100644 compat/rxml/rxml_test.c rename {compat/rxml => libretro-sdk/formats}/Makefile (76%) rename {compat/rxml => libretro-sdk/formats}/rxml.c (88%) create mode 100644 libretro-sdk/formats/rxml_test.c rename {compat/rxml => libretro-sdk/include/formats}/rxml.h (58%) diff --git a/compat/rxml/rxml_test.c b/compat/rxml/rxml_test.c deleted file mode 100644 index 375a443249..0000000000 --- a/compat/rxml/rxml_test.c +++ /dev/null @@ -1,60 +0,0 @@ -/* RetroArch - A frontend for libretro. - * Copyright (C) 2010-2014 - Hans-Kristian Arntzen - * - * RetroArch 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 Found- - * ation, either version 3 of the License, or (at your option) any later version. - * - * RetroArch 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 RetroArch. - * If not, see . - */ - -#include "rxml.h" -#include - -static void print_siblings(struct rxml_node *node, unsigned level) -{ - fprintf(stderr, "\n%*sName: %s\n", level * 4, "", node->name); - if (node->data) - fprintf(stderr, "%*sData: %s\n", level * 4, "", node->data); - - for (const struct rxml_attrib_node *attrib = - node->attrib; attrib; attrib = attrib->next) - fprintf(stderr, "%*s Attrib: %s = %s\n", level * 4, "", - attrib->attrib, attrib->value); - - if (node->children) - print_siblings(node->children, level + 1); - - if (node->next) - print_siblings(node->next, level); -} - -static void rxml_log_document(const char *path) -{ - rxml_document_t *doc = rxml_load_document(path); - if (!doc) - { - fprintf(stderr, "rxml: Failed to load document: %s\n", path); - return; - } - - print_siblings(rxml_root_node(doc), 0); - rxml_free_document(doc); -} - -int main(int argc, char *argv[]) -{ - if (argc != 2) - { - fprintf(stderr, "Usage: %s \n", argv[0]); - return 1; - } - - rxml_log_document(argv[1]); -} - diff --git a/compat/rxml/Makefile b/libretro-sdk/formats/Makefile similarity index 76% rename from compat/rxml/Makefile rename to libretro-sdk/formats/Makefile index f3d54f17e1..db66a6d8d5 100644 --- a/compat/rxml/Makefile +++ b/libretro-sdk/formats/Makefile @@ -3,7 +3,7 @@ TARGET := rxml SOURCES := $(wildcard *.c) OBJS := $(SOURCES:.c=.o) -CFLAGS += -DRXML_TEST -Wall -pedantic -std=gnu99 -O0 -g +CFLAGS += -DRXML_TEST -Wall -pedantic -std=gnu99 -O0 -g -I../include all: $(TARGET) diff --git a/compat/rxml/rxml.c b/libretro-sdk/formats/rxml.c similarity index 88% rename from compat/rxml/rxml.c rename to libretro-sdk/formats/rxml.c index bf44c1d303..410fbf6230 100644 --- a/compat/rxml/rxml.c +++ b/libretro-sdk/formats/rxml.c @@ -1,19 +1,26 @@ -/* RetroArch - A frontend for libretro. - * Copyright (C) 2010-2014 - Hans-Kristian Arntzen - * - * RetroArch 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 Found- - * ation, either version 3 of the License, or (at your option) any later version. +/* Copyright (C) 2010-2015 The RetroArch team * - * RetroArch 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. + * --------------------------------------------------------------------------------------- + * The following license statement only applies to this file (rxml.c). + * --------------------------------------------------------------------------------------- * - * You should have received a copy of the GNU General Public License along with RetroArch. - * If not, see . + * Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "rxml.h" +#include #include #include #include @@ -23,10 +30,6 @@ #include #include -#ifndef RXML_TEST -#include "../../general.h" -#endif - struct rxml_document { struct rxml_node *root_node; diff --git a/libretro-sdk/formats/rxml_test.c b/libretro-sdk/formats/rxml_test.c new file mode 100644 index 0000000000..1156f64f8f --- /dev/null +++ b/libretro-sdk/formats/rxml_test.c @@ -0,0 +1,67 @@ +/* Copyright (C) 2010-2015 The RetroArch team + * + * --------------------------------------------------------------------------------------- + * The following license statement only applies to this file (rxml_test.c). + * --------------------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include +#include + +static void print_siblings(struct rxml_node *node, unsigned level) +{ + fprintf(stderr, "\n%*sName: %s\n", level * 4, "", node->name); + if (node->data) + fprintf(stderr, "%*sData: %s\n", level * 4, "", node->data); + + for (const struct rxml_attrib_node *attrib = + node->attrib; attrib; attrib = attrib->next) + fprintf(stderr, "%*s Attrib: %s = %s\n", level * 4, "", + attrib->attrib, attrib->value); + + if (node->children) + print_siblings(node->children, level + 1); + + if (node->next) + print_siblings(node->next, level); +} + +static void rxml_log_document(const char *path) +{ + rxml_document_t *doc = rxml_load_document(path); + if (!doc) + { + fprintf(stderr, "rxml: Failed to load document: %s\n", path); + return; + } + + print_siblings(rxml_root_node(doc), 0); + rxml_free_document(doc); +} + +int main(int argc, char *argv[]) +{ + if (argc != 2) + { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + rxml_log_document(argv[1]); +} + diff --git a/compat/rxml/rxml.h b/libretro-sdk/include/formats/rxml.h similarity index 58% rename from compat/rxml/rxml.h rename to libretro-sdk/include/formats/rxml.h index 3a0b87eefc..ecebefee96 100644 --- a/compat/rxml/rxml.h +++ b/libretro-sdk/include/formats/rxml.h @@ -1,20 +1,26 @@ -/* RetroArch - A frontend for libretro. - * Copyright (C) 2010-2014 - Hans-Kristian Arntzen - * - * RetroArch 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 Found- - * ation, either version 3 of the License, or (at your option) any later version. +/* Copyright (C) 2010-2015 The RetroArch team * - * RetroArch 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. + * --------------------------------------------------------------------------------------- + * The following license statement only applies to this file (rxml.h). + * --------------------------------------------------------------------------------------- * - * You should have received a copy of the GNU General Public License along with RetroArch. - * If not, see . + * Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -#ifndef RXML_H__ -#define RXML_H__ +#ifndef __LIBRETRO_SDK_FORMAT_RXML_H__ +#define __LIBRETRO_SDK_FORMAT_RXML_H__ #ifdef __cplusplus extern "C" {