148a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen/* 248a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * Copyright (C) 2015 The Android Open Source Project 348a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * 448a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * Licensed under the Apache License, Version 2.0 (the "License"); 548a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * you may not use this file except in compliance with the License. 648a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * You may obtain a copy of the License at 748a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * 848a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * http://www.apache.org/licenses/LICENSE-2.0 948a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * 1048a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * Unless required by applicable law or agreed to in writing, software 1148a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * distributed under the License is distributed on an "AS IS" BASIS, 1248a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1348a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * See the License for the specific language governing permissions and 1448a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * limitations under the License. 1548a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen */ 1648a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 1748a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen/* 1848a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen * Zip tool to remove dynamic timestamps 1948a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen */ 2048a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen#include "ZipFile.h" 2148a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 2248a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen#include <stdlib.h> 2348a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen#include <stdio.h> 2448a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 2548a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsenusing namespace android; 2648a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 2748a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsenstatic void usage(void) 2848a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen{ 2948a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen fprintf(stderr, "Zip timestamp utility\n"); 3048a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen fprintf(stderr, "Copyright (C) 2015 The Android Open Source Project\n\n"); 3148a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen fprintf(stderr, "Usage: ziptime file.zip\n"); 3248a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen} 3348a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 3448a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsenint main(int argc, char* const argv[]) 3548a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen{ 3648a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen if (argc != 2) { 3748a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen usage(); 3848a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen return 2; 3948a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen } 4048a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 4148a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen ZipFile zip; 4248a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen if (zip.rewrite(argv[1]) != 0) { 4348a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen fprintf(stderr, "Unable to rewrite '%s' as zip archive\n", argv[1]); 4448a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen return 1; 4548a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen } 4648a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen 4748a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen return 0; 4848a621c2779c74cba3555c96e3fbc7b1989ac90bDan Willemsen} 49