X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blobdiff_plain;f=lib%2Fpnd_pxml.c;h=699f4c280bcaee4f558135d9069dfa8303e64aec;hp=3a9406d4ef5d4e1dd64ef7b74a13fc9dc469a602;hb=HEAD;hpb=8290d9ca651c95ff7f5108b7019987162293287c diff --git a/lib/pnd_pxml.c b/lib/pnd_pxml.c index 3a9406d..699f4c2 100644 --- a/lib/pnd_pxml.c +++ b/lib/pnd_pxml.c @@ -16,6 +16,7 @@ pnd_pxml_handle *pnd_pxml_fetch ( char *fullpath ) { FILE *f; char *b; unsigned int len; + pnd_pxml_handle *h; f = fopen ( fullpath, "r" ); @@ -44,7 +45,10 @@ pnd_pxml_handle *pnd_pxml_fetch ( char *fullpath ) { fclose ( f ); - return ( pnd_pxml_fetch_buffer ( fullpath, b ) ); + h = pnd_pxml_fetch_buffer ( fullpath, b ); + free ( b ); + + return ( h ); } pnd_pxml_handle *pnd_pxml_fetch_buffer ( char *filename, char *buffer ) { @@ -156,27 +160,18 @@ void pnd_pxml_delete ( pnd_pxml_handle h ) { if ( p -> associationitem1_filetype ) { free ( p -> associationitem1_filetype ); } - if ( p -> associationitem1_parameter ) { - free ( p -> associationitem1_parameter ); - } if ( p -> associationitem2_name ) { free ( p -> associationitem2_name ); } if ( p -> associationitem2_filetype ) { free ( p -> associationitem2_filetype ); } - if ( p -> associationitem2_parameter ) { - free ( p -> associationitem2_parameter ); - } if ( p -> associationitem3_name ) { free ( p -> associationitem3_name ); } if ( p -> associationitem1_filetype ) { free ( p -> associationitem3_filetype ); } - if ( p -> associationitem1_parameter ) { - free ( p -> associationitem3_parameter ); - } if ( p -> clockspeed ) { free ( p -> clockspeed ); } @@ -204,6 +199,24 @@ void pnd_pxml_delete ( pnd_pxml_handle h ) { if ( p -> execargs ) { free ( p -> execargs ); } + if ( p -> mkdir_sp ) { + free ( p -> mkdir_sp ); + } + if ( p -> package_version_major ) { + free ( p -> package_version_major ); + } + if ( p -> package_version_minor ) { + free ( p -> package_version_minor ); + } + if ( p -> package_version_release ) { + free ( p -> package_version_release ); + } + if ( p -> package_version_build ) { + free ( p -> package_version_build ); + } + if ( p -> exec_dashdash_args ) { + free ( p -> exec_dashdash_args ); + } free(p); /*very important!*/ @@ -470,6 +483,11 @@ char *pnd_pxml_get_exec_option_no_x11 ( pnd_pxml_handle h ) { return ( p -> exec_no_x11 ); } +char *pnd_pxml_get_execdashdashargs ( pnd_pxml_handle h ) { + pnd_pxml_t *p = (pnd_pxml_t*) h; + return ( p -> exec_dashdash_args ); +} + char *pnd_pxml_get_main_category ( pnd_pxml_handle h ) { pnd_pxml_t *p = (pnd_pxml_t*) h; return ( p -> main_category ); @@ -530,11 +548,6 @@ char *pnd_pxml_get_associationitem1_filetype ( pnd_pxml_handle h ) { return ( p -> associationitem1_filetype ); } -char *pnd_pxml_get_associationitem1_parameter ( pnd_pxml_handle h ) { - pnd_pxml_t *p = (pnd_pxml_t*) h; - return ( p -> associationitem1_parameter ); -} - char *pnd_pxml_get_associationitem2_name ( pnd_pxml_handle h ) { pnd_pxml_t *p = (pnd_pxml_t*) h; return ( p -> associationitem2_name ); @@ -545,11 +558,6 @@ char *pnd_pxml_get_associationitem2_filetype ( pnd_pxml_handle h ) { return ( p -> associationitem2_filetype ); } -char *pnd_pxml_get_associationitem2_parameter ( pnd_pxml_handle h ) { - pnd_pxml_t *p = (pnd_pxml_t*) h; - return ( p -> associationitem2_parameter ); -} - char *pnd_pxml_get_associationitem3_name ( pnd_pxml_handle h ) { pnd_pxml_t *p = (pnd_pxml_t*) h; return ( p -> associationitem3_name ); @@ -560,11 +568,6 @@ char *pnd_pxml_get_associationitem3_filetype ( pnd_pxml_handle h ) { return ( p -> associationitem3_filetype ); } -char *pnd_pxml_get_associationitem3_parameter ( pnd_pxml_handle h ) { - pnd_pxml_t *p = (pnd_pxml_t*) h; - return ( p -> associationitem3_parameter ); -} - char *pnd_pxml_get_clockspeed ( pnd_pxml_handle h ) { pnd_pxml_t *p = (pnd_pxml_t*) h; return ( p -> clockspeed ); @@ -585,6 +588,26 @@ char *pnd_pxml_get_mkdir ( pnd_pxml_handle h ) { return ( p -> mkdir_sp ); } +char *pnd_pxml_get_package_version_major ( pnd_pxml_handle h ) { + pnd_pxml_t *p = (pnd_pxml_t*) h; + return ( p -> package_version_major ); +} + +char *pnd_pxml_get_package_version_minor ( pnd_pxml_handle h ) { + pnd_pxml_t *p = (pnd_pxml_t*) h; + return ( p -> package_version_minor ); +} + +char *pnd_pxml_get_package_version_release ( pnd_pxml_handle h ) { + pnd_pxml_t *p = (pnd_pxml_t*) h; + return ( p -> package_version_release ); +} + +char *pnd_pxml_get_package_version_build ( pnd_pxml_handle h ) { + pnd_pxml_t *p = (pnd_pxml_t*) h; + return ( p -> package_version_build ); +} + unsigned char pnd_pxml_is_affirmative ( char *v ) { if ( ! v ) {