diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-21 19:28:43 +0200 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-21 19:28:43 +0200 |
commit | 69c7a7552a3019ce4f412f2e00f5293e83edb2e5 (patch) | |
tree | ea612d80cf09cfc8e40e52c42413168f4dd57232 /eurephiadm/commands/fwprofiles.c | |
parent | 8fc41296cd27af9757f571627f7fd16befc9b8aa (diff) | |
download | eurephia-69c7a7552a3019ce4f412f2e00f5293e83edb2e5.tar.gz eurephia-69c7a7552a3019ce4f412f2e00f5293e83edb2e5.tar.xz eurephia-69c7a7552a3019ce4f412f2e00f5293e83edb2e5.zip |
Rewritten most of the eurephiadm commands to use eurephiaXML_ParseResultMsg()
Commands not covered yet are users and certs commands
Diffstat (limited to 'eurephiadm/commands/fwprofiles.c')
-rw-r--r-- | eurephiadm/commands/fwprofiles.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/eurephiadm/commands/fwprofiles.c b/eurephiadm/commands/fwprofiles.c index 3f79017..e864dfc 100644 --- a/eurephiadm/commands/fwprofiles.c +++ b/eurephiadm/commands/fwprofiles.c @@ -246,7 +246,8 @@ int list_profiles(eurephiaCTX *ctx, eurephiaSESSION *sess, eurephiaVALUES *cfg, int addelete_profile(eurephiaCTX *ctx, eurephiaSESSION *sess, eurephiaVALUES *cfg, int argc, char **argv) { xmlDoc *result_xml = NULL, *srch_xml = NULL; - xmlNode *fmap_n = NULL, *res_n = NULL, *srch_n = NULL; + xmlNode *fmap_n = NULL, *srch_n = NULL; + eurephiaRESULT *res = NULL; int i = 0, rc = 1, mode = 0; e_options addargs[] = { @@ -314,20 +315,21 @@ int addelete_profile(eurephiaCTX *ctx, eurephiaSESSION *sess, eurephiaVALUES *cf return 1; } - res_n = eurephiaXML_getRoot(ctx, result_xml, NULL, 1); - if( res_n == NULL ) { + res = eurephiaXML_ParseResultMsg(ctx, result_xml); + if( res == NULL ) { fprintf(stderr, "%s: Error registering firewall profiles. No results returned\n", MODULE); return 1; - } - - if( xmlStrcmp(res_n->name, (xmlChar *) "Error") == 0 ) { - fprintf(stderr, "%s: %s\n", MODULE, xmlExtractContent(res_n)); - rc = 1; } else { - fprintf(stdout, "%s: %s\n", MODULE, xmlExtractContent(res_n)); - rc = 0; + if( res->resultType == exmlERROR ) { + fprintf(stderr, "%s: %s\n", MODULE, res->message); + rc = 1; + } else { + fprintf(stdout, "%s: %s\n", MODULE, res->message); + rc = 0; + } } + free_nullsafe(ctx, res); xmlFreeDoc(result_xml); return rc; |