blob: 7a515f51b341a2abe773f44c20f9fae2eaf574b9 [file] [log] [blame]
Dan Willemsen6e63e0f2016-10-17 15:33:58 -07001// Copyright 2016 Google Inc. All rights reserved
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// +build ignore
16
17// This command will dump the contents of a kati stamp file into a more portable
18// format for use by other tools. For now, it just exports the files read.
19// Later, this will be expanded to include the Glob and Shell commands, but
20// those require a more complicated output format.
21
22#include <stdio.h>
23
24#include <string>
25
26#include "io.h"
27#include "log.h"
28#include "strutil.h"
29
30int main(int argc, char* argv[]) {
31 if (argc == 1) {
32 fprintf(stderr, "Usage: ckati_stamp_dump <stamp>\n");
33 return 1;
34 }
35
36 FILE *fp = fopen(argv[1], "rb");
37 if(!fp)
38 PERROR("fopen");
39
40 ScopedFile sfp(fp);
41 double gen_time;
42 size_t r = fread(&gen_time, sizeof(gen_time), 1, fp);
43 if (r != 1)
44 ERROR("Incomplete stamp file");
45
46 int num_files = LoadInt(fp);
47 if (num_files < 0)
48 ERROR("Incomplete stamp file");
49 for (int i = 0; i < num_files; i++) {
50 string s;
Dan Willemsenf09d21d2016-10-20 17:04:07 -070051 if (!LoadString(fp, &s))
Dan Willemsen6e63e0f2016-10-17 15:33:58 -070052 ERROR("Incomplete stamp file");
53 printf("%s\n", s.c_str());
54 }
55
56 return 0;
57}