The flight recorder records all data in 32 bit words. Use uint32_t type
rather then unsigned int. Also remove bit-shift with multiply by sizeof
uint32_t.

Signed-off-by: Jan Friesse <[email protected]>
---
 tools/corosync-fplay.c |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/tools/corosync-fplay.c b/tools/corosync-fplay.c
index a1aedd9..96bb4f0 100644
--- a/tools/corosync-fplay.c
+++ b/tools/corosync-fplay.c
@@ -18,9 +18,9 @@
 
 #include <corosync/engine/logsys.h>
 
-unsigned int flt_data_size;
+uint32_t flt_data_size;
 
-unsigned int *flt_data;
+uint32_t *flt_data;
 #define FDHEAD_INDEX           (flt_data_size)
 #define FDTAIL_INDEX           (flt_data_size + 1)
 
@@ -343,13 +343,13 @@ static unsigned int printer_subsys_count =
 
 #define G_RECORD_SIZE  10000
 
-static unsigned int g_record[G_RECORD_SIZE];
+static uint32_t g_record[G_RECORD_SIZE];
 
 /*
  * Copy record, dealing with wrapping
  */
 static int logsys_rec_get (int rec_idx) {
-       unsigned int rec_size;
+       uint32_t rec_size;
        int firstcopy, secondcopy;
 
        rec_size = flt_data[rec_idx];
@@ -366,25 +366,25 @@ static int logsys_rec_get (int rec_idx) {
                firstcopy = flt_data_size - rec_idx;
                secondcopy -= firstcopy - rec_size;
        }
-       memcpy (&g_record[0], &flt_data[rec_idx], firstcopy<<2);
+       memcpy (&g_record[0], &flt_data[rec_idx], firstcopy * sizeof(uint32_t));
        if (secondcopy) {
-               memcpy (&g_record[firstcopy], &flt_data[0], secondcopy<<2);
+               memcpy (&g_record[firstcopy], &flt_data[0], secondcopy * 
sizeof(uint32_t));
        }
        return ((rec_idx + rec_size) % flt_data_size);
 }
 
 static void logsys_rec_print (const void *record)
 {
-       const unsigned int *buf_uint32t = record;
-       unsigned int rec_size;
-       unsigned int rec_ident;
-       unsigned int level;
-       unsigned int line;
-       unsigned int arg_size_idx;
+       const uint32_t *buf_uint32t = record;
+       uint32_t rec_size;
+       uint32_t rec_ident;
+       uint32_t level;
+       uint32_t line;
+       uint32_t arg_size_idx;
        unsigned int i;
        unsigned int j;
        unsigned int rec_idx = 0;
-       unsigned int record_number;
+       uint32_t record_number;
        unsigned int words_processed;
        unsigned int found;
        const char *arguments[64];
@@ -480,14 +480,14 @@ int main (void)
                return EXIT_FAILURE;
        }
 
-       n_required = sizeof (unsigned int);
+       n_required = sizeof (uint32_t);
        n_read = read (fd, &flt_data_size, n_required);
        if (n_read != n_required) {
                fprintf (stderr, "Unable to read fdata header\n");
                return EXIT_FAILURE;
        }
 
-       n_required = ((flt_data_size + 2) * sizeof(unsigned int));
+       n_required = ((flt_data_size + 2) * sizeof(uint32_t));
 
        if ((flt_data = malloc (n_required)) == NULL) {
                fprintf (stderr, "exhausted virtual memory\n");
-- 
1.6.2.5

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to