Send Linux-ha-cvs mailing list submissions to linux-ha-cvs@lists.linux-ha.org
To subscribe or unsubscribe via the World Wide Web, visit http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs or, via email, send a message with subject or body 'help' to [EMAIL PROTECTED] You can reach the person managing the list at [EMAIL PROTECTED] When replying, please edit your Subject line so it is more specific than "Re: Contents of Linux-ha-cvs digest..." Today's Topics: 1. Linux-HA CVS: lib by andrew from (linux-ha-cvs@lists.linux-ha.org) ---------------------------------------------------------------------- Message: 1 Date: Tue, 18 Jul 2006 00:16:12 -0600 (MDT) From: linux-ha-cvs@lists.linux-ha.org Subject: [Linux-ha-cvs] Linux-HA CVS: lib by andrew from To: [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> linux-ha CVS committal Author : andrew Host : Project : linux-ha Module : lib Dir : linux-ha/lib/crm/common Modified Files: xml.c Log Message: Extra functionality for ptest Support reading of compressed XML files By default, do not include optional actions and dependancies in ptest output --- crm/admin/cibadmin.c | 2 crm/admin/crm_mon.c | 7 + crm/admin/crm_resource.c | 7 + crm/admin/crm_verify.c | 2 crm/admin/xml_diff.c | 4 crm/cib/io.c | 2 crm/pengine/ptest.c | 33 +++-- crm/pengine/testcases/1360.dot | 20 --- crm/pengine/testcases/594.dot | 31 ----- crm/pengine/testcases/662.dot | 59 --------- crm/pengine/testcases/696.dot | 26 ---- crm/pengine/testcases/726.dot | 15 -- crm/pengine/testcases/735.dot | 19 --- crm/pengine/testcases/764.dot | 43 ------- crm/pengine/testcases/797.dot | 25 ---- crm/pengine/testcases/829.dot | 58 --------- crm/pengine/testcases/994.dot | 26 ---- crm/pengine/testcases/group1.dot | 5 crm/pengine/testcases/group10.dot | 70 ----------- crm/pengine/testcases/group11.dot | 7 - crm/pengine/testcases/group13.dot | 16 -- crm/pengine/testcases/group2.dot | 5 crm/pengine/testcases/group3.dot | 11 - crm/pengine/testcases/group4.dot | 38 ------ crm/pengine/testcases/group7.dot | 11 - crm/pengine/testcases/group8.dot | 14 -- crm/pengine/testcases/group9.dot | 15 -- crm/pengine/testcases/inc0.dot | 5 crm/pengine/testcases/inc1.dot | 5 crm/pengine/testcases/inc10.dot | 107 ----------------- crm/pengine/testcases/inc2.dot | 16 -- crm/pengine/testcases/inc3.dot | 35 ----- crm/pengine/testcases/inc5.dot | 128 --------------------- crm/pengine/testcases/inc6.dot | 111 ------------------ crm/pengine/testcases/inc7.dot | 11 - crm/pengine/testcases/inc8.dot | 14 -- crm/pengine/testcases/inc9.dot | 34 ----- crm/pengine/testcases/interleave-0.dot | 106 ----------------- crm/pengine/testcases/interleave-1.dot | 106 ----------------- crm/pengine/testcases/interleave-2.dot | 106 ----------------- crm/pengine/testcases/interleave-3.dot | 106 ----------------- crm/pengine/testcases/managed-0.dot | 135 ---------------------- crm/pengine/testcases/managed-1.dot | 99 ---------------- crm/pengine/testcases/managed-2.dot | 19 --- crm/pengine/testcases/master-0.dot | 15 -- crm/pengine/testcases/master-1.dot | 11 - crm/pengine/testcases/master-10.dot | 30 ----- crm/pengine/testcases/master-2.dot | 30 ----- crm/pengine/testcases/master-3.dot | 11 - crm/pengine/testcases/master-4.dot | 188 ------------------------------- crm/pengine/testcases/master-5.dot | 190 ------------------------------- crm/pengine/testcases/master-6.dot | 197 --------------------------------- crm/pengine/testcases/master-7.dot | 118 ------------------- crm/pengine/testcases/master-8.dot | 102 ----------------- crm/pengine/testcases/master-9.dot | 73 ------------ crm/pengine/testcases/multi1.dot | 3 crm/pengine/testcases/notify-0.dot | 18 --- crm/pengine/testcases/notify-1.dot | 44 ------- crm/pengine/testcases/notify-2.dot | 44 ------- crm/pengine/testcases/notify-3.dot | 23 --- crm/pengine/testcases/order5.dot | 24 ---- crm/pengine/testcases/order6.dot | 18 --- crm/pengine/testcases/order7.dot | 5 crm/pengine/testcases/orphan-0.dot | 24 ---- crm/pengine/testcases/orphan-1.dot | 26 ---- crm/pengine/testcases/params-0.dot | 30 ----- crm/pengine/testcases/params-1.dot | 24 ---- crm/pengine/testcases/probe-0.dot | 105 ----------------- crm/pengine/testcases/probe-1.dot | 2 crm/pengine/testcases/quorum-1.dot | 4 crm/pengine/testcases/quorum-2.dot | 6 - crm/pengine/testcases/quorum-3.dot | 5 crm/pengine/testcases/quorum-5.dot | 5 crm/pengine/testcases/quorum-6.dot | 5 crm/pengine/testcases/rec-node-11.dot | 8 - crm/pengine/testcases/rec-node-12.dot | 5 crm/pengine/testcases/rec-node-13.dot | 177 ----------------------------- crm/pengine/testcases/rec-node-2.dot | 10 - crm/pengine/testcases/rec-node-8.dot | 2 crm/pengine/testcases/rec-node-9.dot | 4 crm/pengine/testcases/rec-rsc-0.dot | 3 crm/pengine/testcases/rec-rsc-2.dot | 1 crm/pengine/testcases/rec-rsc-4.dot | 2 crm/pengine/testcases/rec-rsc-6.dot | 3 crm/pengine/testcases/rec-rsc-7.dot | 3 crm/pengine/testcases/rec-rsc-8.dot | 3 crm/pengine/testcases/rsc_dep2.dot | 8 - crm/pengine/testcases/rsc_dep4.dot | 4 crm/pengine/testcases/rsc_dep8.dot | 8 - crm/pengine/testcases/simple3.dot | 2 crm/pengine/testcases/simple4.dot | 2 crm/pengine/testcases/simple7.dot | 2 crm/pengine/testcases/simple8.dot | 40 ------ crm/pengine/testcases/standby.dot | 46 ------- crm/pengine/testcases/target-0.dot | 30 ----- crm/pengine/testcases/target-1.dot | 24 ---- crm/pengine/testcases/unrunnable-1.dot | 54 --------- crm/tengine/callbacks.c | 2 crm/tengine/ttest.c | 2 include/crm/common/xml.h | 2 lib/crm/common/xml.c | 89 +++++++++++--- 101 files changed, 109 insertions(+), 3521 deletions(-) =================================================================== RCS file: /home/cvs/linux-ha/linux-ha/lib/crm/common/xml.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- xml.c 8 Jul 2006 13:49:03 -0000 1.100 +++ xml.c 18 Jul 2006 06:16:09 -0000 1.101 @@ -1,4 +1,4 @@ -/* $Id: xml.c,v 1.100 2006/07/08 13:49:03 andrew Exp $ */ +/* $Id: xml.c,v 1.101 2006/07/18 06:16:09 andrew Exp $ */ /* * Copyright (C) 2004 Andrew Beekhof <[EMAIL PROTECTED]> * @@ -495,33 +495,80 @@ crm_data_t* -file2xml(FILE *input) +file2xml(FILE *input, gboolean compressed) { - + int rc = 0; char *buffer = NULL; + gboolean work_done = FALSE; crm_data_t *new_obj = NULL; - int start = 0, length = 0, read_len = 0; + size_t length = 0, read_len = 0; if(input == NULL) { crm_err("No file to read"); return NULL; } + + if(compressed) { +#if HAVE_BZLIB_H + BZFILE *bz_file = BZ2_bzReadOpen(&rc, input, 0, 0, NULL, 0); + if ( rc != BZ_OK ) { + BZ2_bzReadClose ( &rc, bz_file); + return NULL; + } + + rc = BZ_OK; + while ( rc == BZ_OK ) { + crm_realloc(buffer, XML_BUFFER_SIZE + length + 1); + read_len = BZ2_bzRead ( + &rc, bz_file, buffer + length, XML_BUFFER_SIZE); + + crm_debug_5("Read %ld bytes from file: %d", + (long)read_len, rc); + + if ( rc == BZ_OK || rc == BZ_STREAM_END) { + length += read_len; + } + } + + buffer[length] = '\0'; + read_len = length; + + if ( rc != BZ_STREAM_END ) { + crm_err("Couldnt read compressed xml from file"); + crm_free(buffer); + } + + BZ2_bzReadClose (&rc, bz_file); + if(buffer == NULL) { + return NULL; + } + + work_done = TRUE; +#else + crm_err("Cannot read compressed files:" + " bzlib was not available at compile time"); +#endif + } + if(work_done == FALSE) { + int start = 0; + start = ftell(input); + fseek(input, 0L, SEEK_END); + length = ftell(input); + fseek(input, 0L, start); + + CRM_ASSERT(start == ftell(input)); + + crm_debug_3("Reading %ld bytes from file", (long)length); + crm_malloc0(buffer, (length+1)); + read_len = fread(buffer, 1, length, input); + } + /* see how big the file is */ - start = ftell(input); - fseek(input, 0L, SEEK_END); - length = ftell(input); - fseek(input, 0L, start); - - CRM_ASSERT(start == ftell(input)); - - crm_debug_3("Reading %d bytes from file", length); - crm_malloc0(buffer, (length+1)); - read_len = fread(buffer, 1, length, input); if(read_len != length) { - crm_err("Calculated and read bytes differ: %d vs. %d", - length, read_len); - } else if(length > 0) { + crm_err("Calculated and read bytes differ: %ld vs. %ld", + (long)length, (long)read_len); + } else if(length > 0) { new_obj = string2xml(buffer); } else { crm_warn("File contained no XML"); @@ -599,8 +646,8 @@ } + if(compress) { #if HAVE_BZLIB_H - if(compress && is_done == FALSE) { int rc = BZ_OK; BZFILE *bz_file = NULL; unsigned int in = 0, out = 0; @@ -627,12 +674,10 @@ filename, in, out); } } - } +#else + crm_err("Cannot write compressed files:" + " bzlib was not available at compile time"); #endif - if(compress && is_done == FALSE) { - compress = FALSE; - crm_warn("bzlib failed or not installed." - " Writing uncompressed data to: %s",filename); } if(is_done == FALSE) { res = fprintf(file_output_strm, "%s", buffer); ------------------------------ _______________________________________________ Linux-ha-cvs mailing list Linux-ha-cvs@lists.linux-ha.org http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs End of Linux-ha-cvs Digest, Vol 32, Issue 53 ********************************************