ext4fixup_main.c revision 671cd2188e2f224aaeac4955785199f228235719
1/* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#include <unistd.h> 18#include <libgen.h> 19#include <stdio.h> 20#include <stdlib.h> 21#include "ext4fixup.h" 22 23static void usage(char *me) 24{ 25 fprintf(stderr, "%s: usage: %s [-vn] <image or block device>\n", me, me); 26} 27 28int main(int argc, char **argv) 29{ 30 int opt; 31 int verbose = 0; 32 int no_write = 0; 33 char *fsdev; 34 char *me; 35 36 me = basename(argv[0]); 37 38 while ((opt = getopt(argc, argv, "vn")) != -1) { 39 switch (opt) { 40 case 'v': 41 verbose = 1; 42 break; 43 case 'n': 44 no_write = 1; 45 break; 46 } 47 } 48 49 if (optind >= argc) { 50 fprintf(stderr, "expected image or block device after options\n"); 51 usage(me); 52 exit(EXIT_FAILURE); 53 } 54 55 fsdev = argv[optind++]; 56 57 if (optind < argc) { 58 fprintf(stderr, "Unexpected argument: %s\n", argv[optind]); 59 usage(me); 60 exit(EXIT_FAILURE); 61 } 62 63 return ext4fixup_internal(fsdev, verbose, no_write); 64} 65