view toys/posix/dirname.c @ 1632:aafd2f28245a draft

When you include the posix header libgen.h, glibc #defines basename to some random other symbol name (because gnu) and this screws up nontrivial macro expansions of NEWTOY(basename), so work around it in portability.h.
author Rob Landley <rob@landley.net>
date Wed, 31 Dec 2014 16:22:31 -0600
parents 786841fdb1e0
children 5d003cc2fa16
line wrap: on
line source

/* dirname.c - show directory portion of path
 *
 * Copyright 2011 Rob Landley <rob@landley.net>
 *
 * See http://opengroup.org/onlinepubs/9699919799/utilities/dirname.html

USE_DIRNAME(NEWTOY(dirname, "<1", TOYFLAG_USR|TOYFLAG_BIN))

config DIRNAME
  bool "dirname"
  default y
  help
    usage: dirname PATH

    Show directory portion of path.
*/

#include "toys.h"
#include <libgen.h>

void dirname_main(void)
{
  puts(dirname(*toys.optargs));
}