X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Far65%2Fmain.c;h=48561027fb109972479810378b301f8977acc35c;hb=88d1d20cd0d45b3c32bdfcaaff89f78e1b469a57;hp=5877520de4be5d0d1db9402d8f8b48971acb3a37;hpb=7b847321a8020038c91df45e5e57cfd4466204c9;p=cc65 diff --git a/src/ar65/main.c b/src/ar65/main.c index 5877520de..48561027f 100644 --- a/src/ar65/main.c +++ b/src/ar65/main.c @@ -1,34 +1,34 @@ /*****************************************************************************/ -/* */ -/* main.c */ -/* */ -/* Main program for the ar65 archiver */ -/* */ -/* */ -/* */ -/* (C) 1998-2009, Ullrich von Bassewitz */ +/* */ +/* main.c */ +/* */ +/* Main program for the ar65 archiver */ +/* */ +/* */ +/* */ +/* (C) 1998-2013, Ullrich von Bassewitz */ /* Roemerstrasse 52 */ /* D-70794 Filderstadt */ /* EMail: uz@cc65.org */ -/* */ -/* */ -/* This software is provided 'as-is', without any expressed or implied */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ /* warranty. In no event will the authors be held liable for any damages */ -/* arising from the use of this software. */ -/* */ +/* arising from the use of this software. */ +/* */ /* Permission is granted to anyone to use this software for any purpose, */ /* including commercial applications, and to alter it and redistribute it */ -/* freely, subject to the following restrictions: */ -/* */ +/* freely, subject to the following restrictions: */ +/* */ /* 1. The origin of this software must not be misrepresented; you must not */ /* claim that you wrote the original software. If you use this software */ /* in a product, an acknowledgment in the product documentation would be */ -/* appreciated but is not required. */ +/* appreciated but is not required. */ /* 2. Altered source versions must be plainly marked as such, and must not */ -/* be misrepresented as being the original software. */ -/* 3. This notice may not be removed or altered from any source */ -/* distribution. */ -/* */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ /*****************************************************************************/ @@ -52,7 +52,7 @@ /*****************************************************************************/ -/* Code */ +/* Code */ /*****************************************************************************/ @@ -60,11 +60,12 @@ static void Usage (void) /* Print usage information and exit */ { - printf ("Usage: %s lib file|module ...\n" - "Operation is one of:\n" - "\ta\tAdd modules\n" + fprintf (stderr, "Usage: %s lib file|module ...\n" + "Operations are some of:\n" + "\tr\tAdd modules\n" "\td\tDelete modules\n" - "\tl\tList library contents\n" + "\tt\tList library table\n" + "\tv\tIncrease verbosity (put before other operation)\n" "\tx\tExtract modules\n" "\tV\tPrint the archiver version\n", ProgName); @@ -83,61 +84,57 @@ int main (int argc, char* argv []) /* We must have a file name */ if (ArgCount < 2) { - Usage (); + Usage (); } /* Check the parameters */ I = 1; while (I < ArgCount) { - /* Get the argument */ - const char* Arg = ArgVec [I]; + /* Get the argument */ + const char* Arg = ArgVec [I]; - /* Check for an option */ - if (strlen (Arg) != 1) { - Usage (); - } - switch (Arg [0]) { + switch (Arg [0]) { - case 'a': - AddObjFiles (ArgCount - I - 1, &ArgVec[I+1]); - break; + case 'r': /* POSIX.2 */ + case 'a': /* staying compatible */ + AddObjFiles (ArgCount - I - 1, &ArgVec[I+1]); + break; - case 'd': - DelObjFiles (ArgCount - I - 1, &ArgVec [I+1]); - break; + case 'd': + DelObjFiles (ArgCount - I - 1, &ArgVec [I+1]); + break; - case 'l': - ListObjFiles (ArgCount - I - 1, &ArgVec [I+1]); - break; + case 't': /* POSIX.2 */ + case 'l': /* staying compatible */ + if (Arg [1] == 'v') { + ++Verbosity; + } + ListObjFiles (ArgCount - I - 1, &ArgVec [I+1]); + break; - case 'v': - ++Verbosity; - break; + case 'v': + ++Verbosity; + break; - case 'x': - ExtractObjFiles (ArgCount - I - 1, &ArgVec [I+1]); - break; + case 'x': + ExtractObjFiles (ArgCount - I - 1, &ArgVec [I+1]); + break; - case 'V': - fprintf (stderr, - "ar65 V%s - (C) Copyright 1998-2009 Ullrich von Bassewitz\n", - GetVersionAsString ()); - break; + case 'V': + fprintf (stderr, "%s V%s\n", ProgName, GetVersionAsString ()); + break; - default: - fprintf (stderr, "Unknown option: %s\n", Arg); - Usage (); + default: + fprintf (stderr, "Unknown option: %s\n", Arg); + Usage (); - } + } - /* Next argument */ - ++I; + /* Next argument */ + ++I; } /* Return an apropriate exit code */ return EXIT_SUCCESS; } - - -