• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <sys/types.h>
2 #include <fcntl.h>
3 #ifdef _MSC_VER
4 #  include <io.h>
5 #else
6 #  include <unistd.h>
7 #endif
8 
9 #include <iostream>
10 #include <vector>
11 
12 #include "dns-proto.h"
13 
14 namespace ares {
15 
ShowFile(const char * filename)16 static void ShowFile(const char* filename) {
17   int fd = open(filename, O_RDONLY);
18   if (fd < 0) {
19     std::cerr << "Failed to open '" << filename << "'" << std::endl;
20     return;
21   }
22   std::vector<unsigned char> contents;
23   while (true) {
24     unsigned char buffer[1024];
25     int len = read(fd, buffer, sizeof(buffer));
26     if (len <= 0) break;
27     contents.insert(contents.end(), buffer, buffer + len);
28   }
29   std::cout << PacketToString(contents) << std::endl;
30 }
31 
32 }  // namespace ares
33 
main(int argc,char * argv[])34 int main(int argc, char* argv[]) {
35   for (int ii = 1; ii < argc; ++ii) {
36     ares::ShowFile(argv[ii]);
37   }
38   return 0;
39 }
40 
41