/* * I'm tired of doing "vsnprintf()" etc just to open a * file, so here's a "return static buffer with printf" * interface for paths. * * It's obviously not thread-safe. Sue me. But it's quite * useful for doing things like * * f = open(mkpath("%s/%s.perf", base, name), O_RDONLY); * * which is what it's designed for. */ #include "cache.h" #include "util.h" #include static char bad_path[] = "/bad-path/"; /* * One hack: */ static char *get_pathname(void) { static char pathname_array[4][PATH_MAX]; static int idx; return pathname_array[3 & ++idx]; } static char *cleanup_path(char *path) { /* Clean it up */ if (!memcmp(path, "./", 2)) { path += 2; while (*path == '/') path++; } return path; } char *mkpath(const char *fmt, ...) { va_list args; unsigned len; char *pathname = get_pathname(); va_start(args, fmt); len = vsnprintf(pathname, PATH_MAX, fmt, args); va_end(args); if (len >= PATH_MAX) return bad_path; return cleanup_path(pathname); } et'> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ohci-da8xx.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-27 16:01:52 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-27 16:01:52 +0100
commita3683e0c1410c5c8136a7a93b0336ce88d3b893a (patch)
treec022266622274ad38111664c23b5608b53bfe58e /drivers/usb/host/ohci-da8xx.c
parent83e526f2a2fa4b2e82b6bd3ddbb26b70acfa8947 (diff)
parent5d03a2fd2292e71936c4235885c35ccc3c94695b (diff)
Merge tag 'usb-serial-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes: USB-serial fixes for v4.10-rc6 Just a couple of new device ids. Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb/host/ohci-da8xx.c')