diff options
author | Eugeni Dodonov <eugeni.dodonov@intel.com> | 2011-10-17 17:48:18 -0200 |
---|---|---|
committer | Eugeni Dodonov <eugeni.dodonov@intel.com> | 2011-10-17 17:50:39 -0200 |
commit | e98f308994711b3bc22d70c782bdf800eb253a0f (patch) | |
tree | 81fd45d5c3a0166d0252608de9b1128fdca7033a /tools | |
parent | f312f89f4ae65ee969ec30657724b1fd5a1ebd44 (diff) |
Allow intel_dump_decode to read data from stdin.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/intel_dump_decode.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/intel_dump_decode.c b/tools/intel_dump_decode.c index 012c9441..26d57f56 100644 --- a/tools/intel_dump_decode.c +++ b/tools/intel_dump_decode.c @@ -43,7 +43,10 @@ read_bin_file(uint32_t devid, const char * filename) uint32_t buf[16384]; int fd, offset, ret; - fd = open (filename, O_RDONLY); + if (!strcmp(filename, "-")) + fd = fileno(stdin); + else + fd = open (filename, O_RDONLY); if (fd < 0) { fprintf (stderr, "Failed to open %s: %s\n", filename, strerror (errno)); @@ -69,7 +72,11 @@ read_data_file(uint32_t devid, const char * filename) uint32_t offset, value; uint32_t gtt_offset = 0; - file = fopen (filename, "r"); + if (!strcmp(filename, "-")) + file = stdin; + else + file = fopen (filename, "r"); + if (file == NULL) { fprintf (stderr, "Failed to open %s: %s\n", filename, strerror (errno)); @@ -179,6 +186,11 @@ main (int argc, char *argv[]) } for (i = optind; i < argc; i++) { + /* For stdin input, let's read as data file */ + if (!strcmp(argv[i], "-")) { + read_data_file(devid, argv[i]); + continue; + } if (binary == 1) read_bin_file(devid, argv[i]); else if (binary == 0) |