tools/reorder/addrs2text.cpp
author Gervase Markham <gerv@gerv.net>
Mon, 21 May 2012 12:12:37 +0100
changeset 94475 f4157e8c410708d76703f19e4dfb61859bfe32d8
parent 1 9b2a99adc05e53cd4010de512f50118594756650
permissions -rw-r--r--
Bug 716478 - update licence to MPL 2.

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*

  Converts a binary stream of address references to a text stream,
  hexadecimal, newline separated.

 */

#include <stdio.h>
#include <unistd.h>

int
main(int argc, char *argv[])
{
    unsigned int buf[1024];
    ssize_t cb;

    while ((cb = read(STDIN_FILENO, buf, sizeof buf)) > 0) {
        if (cb % sizeof buf[0])
            fprintf(stderr, "unaligned read\n");

        unsigned int *addr = buf;
        unsigned int *limit = buf + (cb / 4);

        for (; addr < limit; ++addr)
            printf("%x\n", *addr);
    }

    return 0;
}