rgblib: use full commands instead of letters ("add" instead of "a")

This commit is contained in:
bentley
2010-01-17 15:28:28 -07:00
parent bd568d9afc
commit 7d6fac9c00

View File

@@ -47,20 +47,20 @@ main(int argc, char *argv[])
lib = lib_Read(libname = argv[argn++]); lib = lib_Read(libname = argv[argn++]);
argc -= 1; argc -= 1;
if (strlen(argv[argn]) == 1) { if (strcmp(argv[argn], "add")) {
command = argv[argn++][0]; argn += 1;
argc -= 1; argc -= 1;
switch (tolower(command)) {
case 'a':
while (argc) { while (argc) {
lib = lib_AddReplace(lib, argv[argn++]); lib = lib_AddReplace(lib, argv[argn++]);
argc -= 1; argc -= 1;
} }
lib_Write(lib, libname); lib_Write(lib, libname);
lib_Free(lib); lib_Free(lib);
break; } else if (strcmp(argv[argn], "delete")) {
case 'd': argn += 1;
argc -= 1;
while (argc) { while (argc) {
lib = lib =
lib_DeleteModule(lib, argv[argn++]); lib_DeleteModule(lib, argv[argn++]);
@@ -68,22 +68,10 @@ main(int argc, char *argv[])
} }
lib_Write(lib, libname); lib_Write(lib, libname);
lib_Free(lib); lib_Free(lib);
break; } else if (strcmp(argv[argn], "extract")) {
case 'l': argn += 1;
{ argc -= 1;
sLibrary *l;
l = lib;
while (l) {
printf("%10ld %s\n",
l->nByteLength,
l->tName);
l = l->pNext;
}
}
break;
case 'x':
while (argc) { while (argc) {
sLibrary *l; sLibrary *l;
@@ -110,17 +98,24 @@ main(int argc, char *argv[])
argc -= 1; argc -= 1;
} }
lib_Free(lib); lib_Free(lib);
break; } else if (strcmp(argv[argn], "list")) {
default: argn += 1;
errx(EX_USAGE, "Invalid command"); argc -= 1;
break;
}
} else { sLibrary *l;
errx(EX_USAGE, "Invalid command");
l = lib;
while (l) {
printf("%10ld %s\n",
l->nByteLength,
l->tName);
l = l->pNext;
} }
} else } else
PrintUsage(); PrintUsage();
} else
PrintUsage();
return (0); return (0);
} }