17aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley/* basename.c - Return non-directory portion of a pathname 2acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley * 3acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley * Copyright 2012 Tryn Mirell <tryn@mirell.org> 4acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley * 5acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley * See http://opengroup.org/onlinepubs/9699919799/utilities/basename.html 6acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley 7de584eb24173d6b708170ee1900fcec47091365eTryn Mirell 8ffdfdc2fbd552d8bd1ba8a6696a5a4febd4945d6Tryn MirellUSE_BASENAME(NEWTOY(basename, "<1>2", TOYFLAG_USR|TOYFLAG_BIN)) 9de584eb24173d6b708170ee1900fcec47091365eTryn Mirell 10de584eb24173d6b708170ee1900fcec47091365eTryn Mirellconfig BASENAME 117aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley bool "basename" 127aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley default y 137aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley help 147aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley usage: basename string [suffix] 15acf4b10aa8d0f944cd8cbbc28b8912472af95003Rob Landley 167aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley Return non-directory portion of a pathname removing suffix 17de584eb24173d6b708170ee1900fcec47091365eTryn Mirell*/ 18de584eb24173d6b708170ee1900fcec47091365eTryn Mirell 19de584eb24173d6b708170ee1900fcec47091365eTryn Mirell#include "toys.h" 20de584eb24173d6b708170ee1900fcec47091365eTryn Mirell 21de584eb24173d6b708170ee1900fcec47091365eTryn Mirellvoid basename_main(void) 22de584eb24173d6b708170ee1900fcec47091365eTryn Mirell{ 2390e8605ea587c4ebd00de77e3c71551b6e26b7c0Rob Landley char *base = basename(*toys.optargs), *suffix = toys.optargs[1]; 247aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley 257aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley // chop off the suffix if provided 26d74b562f508475192b6783b0b2d4dae4e5c2fa93Rob Landley if (suffix && *suffix && (suffix = strend(base, suffix))) *suffix = 0; 277aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley 287aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley puts(base); 29de584eb24173d6b708170ee1900fcec47091365eTryn Mirell} 30