aboutsummaryrefslogtreecommitdiff
path: root/src/basename.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/basename.c')
-rw-r--r--src/basename.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/basename.c b/src/basename.c
index e07a7ee..1785754 100644
--- a/src/basename.c
+++ b/src/basename.c
@@ -4,8 +4,7 @@
#include <stdio.h>
#include <string.h>
-#define BASENAME_OUT_FMT "%s\n"
-#define BASENAME_USAGE "Usage: basename NAME [SUFFIX]\n"
+#define BASENAME_USAGE "Usage: basename NAME [SUFFIX]\n"
#define BASENAME_USE "Return non-directory portion of a pathname\n"
static char *remove_trailing_slashes(char *pathname) {
@@ -33,7 +32,7 @@ int basename_main(int argc, char *argv[]) {
if (getopt(argc, argv, "") != -1) {
- fprintf(stderr, BASENAME_USAGE);
+ fputs(BASENAME_USAGE, stderr);
return EXIT_FAILURE;
}
@@ -45,16 +44,16 @@ int basename_main(int argc, char *argv[]) {
result = argv[1];
suffix = argc == 3 ? argv[2] : NULL;
- /* Return "" on empty input string */
+ /* Return empty string on empty input string */
if (result[0] == '\0') {
- printf(BASENAME_OUT_FMT, "");
+ puts("");
return EXIT_SUCCESS;
}
/* Remove trailing whitespace and return "/" if the path was all slashes */
last_char = remove_trailing_slashes(result);
if (last_char == result) {
- printf(BASENAME_OUT_FMT, "/");
+ puts("/");
return EXIT_SUCCESS;
}
@@ -65,13 +64,13 @@ int basename_main(int argc, char *argv[]) {
/* Remove suffix or return it as is if it's equal to last_node */
if (suffix == NULL) {
- printf(BASENAME_OUT_FMT, result);
+ puts(result);
return EXIT_SUCCESS;
}
suffix_len = strlen(suffix);
if (suffix_len > strlen(result)) {
- printf(BASENAME_OUT_FMT, result);
+ puts(result);
return EXIT_SUCCESS;
}
@@ -88,6 +87,6 @@ int basename_main(int argc, char *argv[]) {
*cursor = '\0';
}
- printf(BASENAME_OUT_FMT, result);
+ puts(result);
return EXIT_SUCCESS;
}