1) be stricter which number of arguments is accepted (1 or 2) 2) basename already returns a pointer to "." is argv[0] is "" 3) No need to check for *p != '/', because basename() only returns a string beginning with '/' which has length 1, so if strlen(p) == 1, the only way for suffix to be "evaluated" is for off to be > 0, being equal to suffix being "", but "" != "/". 4) don't calculate strlen twice for each string. Store it in a ssize_t and check if it's > 0.
5.6 KiB
5.6 KiB