linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 1/6] lib/string: introduce helper to get base file name from given path
       [not found] <1350388094-18805-1-git-send-email-andriy.shevchenko@linux.intel.com>
@ 2012-10-16 11:48 ` Andy Shevchenko
  2012-10-16 11:48 ` [PATCHv3 4/6] mm: reuse kbasename() functionality Andy Shevchenko
  1 sibling, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2012-10-16 11:48 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Joe Perches
  Cc: Andy Shevchenko, Jason Baron, YAMANE Toshiaki, Greg Kroah-Hartman,
	linux-mm, Steven Rostedt, Frederic Weisbecker

There are several places in the kernel that use functionality like basename(3)
with an exception: in case of '/foo/bar/' we expect to get an empty string.
Let's do it common helper for them.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Jason Baron <jbaron@redhat.com>
Cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-mm@kvack.org
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
---
 include/linux/string.h |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/include/linux/string.h b/include/linux/string.h
index 6301258..ac889c5 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -143,4 +143,15 @@ static inline bool strstarts(const char *str, const char *prefix)
 
 extern size_t memweight(const void *ptr, size_t bytes);
 
+/**
+ * kbasename - return the last part of a pathname.
+ *
+ * @path: path to extract the filename from.
+ */
+static inline const char *kbasename(const char *path)
+{
+	const char *tail = strrchr(path, '/');
+	return tail ? tail + 1 : path;
+}
+
 #endif /* _LINUX_STRING_H_ */
-- 
1.7.10.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCHv3 4/6] mm: reuse kbasename() functionality
       [not found] <1350388094-18805-1-git-send-email-andriy.shevchenko@linux.intel.com>
  2012-10-16 11:48 ` [PATCHv3 1/6] lib/string: introduce helper to get base file name from given path Andy Shevchenko
@ 2012-10-16 11:48 ` Andy Shevchenko
  1 sibling, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2012-10-16 11:48 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Joe Perches; +Cc: Andy Shevchenko, linux-mm

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-mm@kvack.org
---
 mm/memory.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index 5823f29..06158b7 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -58,6 +58,7 @@
 #include <linux/elf.h>
 #include <linux/gfp.h>
 #include <linux/migrate.h>
+#include <linux/string.h>
 
 #include <asm/io.h>
 #include <asm/pgalloc.h>
@@ -4034,15 +4035,12 @@ void print_vma_addr(char *prefix, unsigned long ip)
 		struct file *f = vma->vm_file;
 		char *buf = (char *)__get_free_page(GFP_KERNEL);
 		if (buf) {
-			char *p, *s;
+			char *p;
 
 			p = d_path(&f->f_path, buf, PAGE_SIZE);
 			if (IS_ERR(p))
 				p = "?";
-			s = strrchr(p, '/');
-			if (s)
-				p = s+1;
-			printk("%s%s[%lx+%lx]", prefix, p,
+			printk("%s%s[%lx+%lx]", prefix, kbasename(p),
 					vma->vm_start,
 					vma->vm_end - vma->vm_start);
 			free_page((unsigned long)buf);
-- 
1.7.10.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-10-16 11:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1350388094-18805-1-git-send-email-andriy.shevchenko@linux.intel.com>
2012-10-16 11:48 ` [PATCHv3 1/6] lib/string: introduce helper to get base file name from given path Andy Shevchenko
2012-10-16 11:48 ` [PATCHv3 4/6] mm: reuse kbasename() functionality Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).