X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fcmml%2Fxtag.c;h=a7e3b97633f1fe41d9dcb14487c292bbe14a63c0;hb=2cd6174f82a4c4861247cb68882caeb94b147d84;hp=0b377ebce4796241adecbec244299e6637192a25;hpb=85b29bdc288a1573d43bd524908be5748a9b3640;p=vlc diff --git a/modules/codec/cmml/xtag.c b/modules/codec/cmml/xtag.c index 0b377ebce4..a7e3b97633 100644 --- a/modules/codec/cmml/xtag.c +++ b/modules/codec/cmml/xtag.c @@ -3,7 +3,7 @@ ***************************************************************************** * Copyright (C) 2003-2004 Commonwealth Scientific and Industrial Research * Organisation (CSIRO) Australia - * Copyright (C) 2000-2004 VideoLAN (Centrale Réseaux) and its contributors + * Copyright (C) 2000-2004 the VideoLAN team * * $Id$ * @@ -22,19 +22,22 @@ * * 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, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ - -#include "config.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif #include -#include #include #include #include +#include #include +#include + #undef XTAG_DEBUG #undef FALSE @@ -80,6 +83,15 @@ struct _XTagParser { char * end; }; +XTag * xtag_free (XTag * xtag); +XTag * xtag_new_parse (const char * s, int n); +char * xtag_get_name (XTag * xtag); +char * xtag_get_pcdata (XTag * xtag); +char * xtag_get_attribute (XTag * xtag, char * attribute); +XTag * xtag_first_child (XTag * xtag, char * name); +XTag * xtag_next_child (XTag * xtag, char * name); +int xtag_snprint (char * buf, int n, XTag * xtag); + /* Character classes */ #define X_NONE 0 #define X_WHITESPACE 1<<0 @@ -176,7 +188,7 @@ xtag_skip_to (XTagParser * parser, int char_class) } } - return; + return; } #endif @@ -411,14 +423,14 @@ xtag_free (XTag * xtag) if (xtag == NULL) return NULL; - if (xtag->name) free (xtag->name); - if (xtag->pcdata) free (xtag->pcdata); + free( xtag->name ); + free( xtag->pcdata ); for (l = xtag->attributes; l; l = l->next) { if ((attr = (XAttribute *)l->data) != NULL) { - if (attr->name) free (attr->name); - if (attr->value) free (attr->value); - free (attr); + free( attr->name ); + free( attr->value ); + free( attr ); } } xlist_free (xtag->attributes); @@ -609,7 +621,7 @@ xtag_snprints (char * buf, int n, ...) int len, to_copy, total = 0; va_start (ap, n); - + for (s = va_arg (ap, char *); s; s = va_arg (ap, char *)) { len = strlen (s); @@ -658,19 +670,19 @@ xtag_snprint (char * buf, int n, XTag * xtag) for (l = xtag->attributes; l; l = l->next) { attr = (XAttribute *)l->data; - + nn = xtag_snprints (buf, n, " ", attr->name, "=\"", attr->value, "\"", NULL); FORWARD(nn); } - + if (xtag->children == NULL) { nn = xtag_snprints (buf, n, "/>", NULL); FORWARD(nn); return written; } - + nn = xtag_snprints (buf, n, ">", NULL); FORWARD(nn); }