@ -1,6 +1,27 @@
/* vim: set sw=4 ts=4 sts=4 et: */
# ifdef HAVE_CONFIG_H
# include <config.h>
# endif
# include <stdio.h>
# include <string.h>
# include <ctype.h>
# include <sys/types.h>
# include <sys/stat.h>
# include <fcntl.h>
# include <unistd.h>
# include <sys/mman.h>
# ifdef HAVE_EVIL
# include <Evil.h>
# endif
# include <Ecore_File.h>
# include "Efreet.h"
# include "efreet_private.h"
# include "efreet_xml.h"
#if 0
static void efreet_xml_dump ( Efreet_Xml * xml , int level ) ;
@ -64,23 +85,23 @@ efreet_xml_new(const char *file)
if ( ! file ) return NULL ;
size = ecore_file_size ( file ) ;
if ( size < = 0 ) goto ERROR ;
if ( size < = 0 ) goto efreet_error ;
fd = open ( file , O_RDONLY ) ;
if ( fd = = - 1 ) goto ERROR ;
if ( fd = = - 1 ) goto efreet_error ;
data = mmap ( NULL , size , PROT_READ , MAP_SHARED , fd , 0 ) ;
if ( data = = ( void * ) - 1 ) goto ERROR ;
if ( data = = ( void * ) - 1 ) goto efreet_error ;
error = 0 ;
xml = efreet_xml_parse ( & data , & size ) ;
if ( error ) goto ERROR ;
if ( error ) goto efreet_error ;
munmap ( data , size ) ;
close ( fd ) ;
return xml ;
ERROR :
efreet_error :
fprintf ( stderr , " [efreet]: could not parse xml file \n " ) ;
if ( data ! = ( void * ) - 1 ) munmap ( data , size ) ;
if ( fd ! = - 1 ) close ( fd ) ;
@ -335,7 +356,7 @@ efreet_xml_attributes_parse(char **data, int *size,
if ( buf_size < = 1 )
{
fprintf ( stderr , " [efreet]: zero length key \n " ) ;
goto ERROR ;
goto efreet_error ;
}
if ( buf_size > 256 ) buf_size = 256 ;
@ -359,7 +380,7 @@ efreet_xml_attributes_parse(char **data, int *size,
if ( ! start )
{
fprintf ( stderr , " [efreet]: missing value for attribute! \n " ) ;
goto ERROR ;
goto efreet_error ;
}
/* search for '"', beginning of value */
@ -378,7 +399,7 @@ efreet_xml_attributes_parse(char **data, int *size,
if ( ! start )
{
fprintf ( stderr , " [efreet]: erroneous value for attribute! \n " ) ;
goto ERROR ;
goto efreet_error ;
}
/* skip '"' */
@ -402,14 +423,14 @@ efreet_xml_attributes_parse(char **data, int *size,
if ( ! end )
{
fprintf ( stderr , " [efreet]: erroneous value for attribute! \n " ) ;
goto ERROR ;
goto efreet_error ;
}
buf_size = end - start + 1 ;
if ( buf_size < = 1 )
{
fprintf ( stderr , " [efreet]: zero length value \n " ) ;
goto ERROR ;
goto efreet_error ;
}
if ( buf_size > 256 ) buf_size = 256 ;
@ -433,7 +454,7 @@ efreet_xml_attributes_parse(char **data, int *size,
}
return ;
ERROR :
efreet_error :
while ( count > = 0 )
{
if ( attr [ count ] . key ) eina_stringshare_del ( attr [ count ] . key ) ;