Fixed a bug

This commit is contained in:
Pierre Pronchery 2004-02-29 04:34:14 +00:00
parent 35e42ec851
commit f457f2ab9e

View File

@ -7,18 +7,22 @@
#include <string.h> #include <string.h>
/* main */ /* usage */
int main(int argc, char * argv[]) static int usage(void)
{
char * str;
/* parse command line arguments */
if(argc != 2 && argc != 3)
{ {
fprintf(stderr, "%s", "Usage: basename string [suffix]\n"); fprintf(stderr, "%s", "Usage: basename string [suffix]\n");
return 1; return 1;
} }
/* main */
int main(int argc, char * argv[])
{
char * str;
/* check for errors */
if(argc != 2 && argc != 3)
return usage();
/* basename */ /* basename */
str = basename(argv[1]); str = basename(argv[1]);
if(argc == 3) if(argc == 3)
@ -26,12 +30,11 @@ int main(int argc, char * argv[])
int slen; int slen;
int alen; int alen;
slen = strlen(argv[1]); slen = strlen(str);
alen = strlen(argv[2]); alen = strlen(argv[2]);
if(alen < slen && strcmp(argv[2], &str[slen - alen]) == 0) if(alen < slen && strcmp(argv[2], &str[slen - alen]) == 0)
str[slen - alen] = '\0'; str[slen - alen] = '\0';
} }
printf("%s\n", str); printf("%s\n", str);
return 0; return 0;
} }