vfs, seqfile: make mangle_path() global
authorTörök Edwin <edwintorok@gmail.com>
Sat, 22 Nov 2008 11:28:48 +0000 (13:28 +0200)
committerIngo Molnar <mingo@elte.hu>
Sun, 23 Nov 2008 08:45:39 +0000 (09:45 +0100)
Impact: expose new VFS API

make mangle_path() available, as per the suggestions of Christoph Hellwig
and Al Viro:

  http://lkml.org/lkml/2008/11/4/338

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
fs/seq_file.c
include/linux/seq_file.h

index eba2eabcd2b86a40495845053d9d647e228540f9..f5b61cc1cc1a4bb9a61d5302e8468af9c506b347 100644 (file)
@@ -357,7 +357,18 @@ int seq_printf(struct seq_file *m, const char *f, ...)
 }
 EXPORT_SYMBOL(seq_printf);
 
-static char *mangle_path(char *s, char *p, char *esc)
+/**
+ *     mangle_path - mangle and copy path to buffer beginning
+ *     @s - buffer start
+ *     @p - beginning of path in above buffer
+ *      @esc - set of characters that need escaping
+ *
+ *      Copy the path from @p to @s, replacing each occurrence of character from
+ *      @esc with usual octal escape.
+ *      Returns pointer past last written character in @s, or NULL in case of
+ *      failure.
+ */
+char *mangle_path(char *s, char *p, char *esc)
 {
        while (s <= p) {
                char c = *p++;
@@ -376,6 +387,7 @@ static char *mangle_path(char *s, char *p, char *esc)
        }
        return NULL;
 }
+EXPORT_SYMBOL_GPL(mangle_path);
 
 /*
  * return the absolute path of 'dentry' residing in mount 'mnt'.
index dc50bcc282a888ba1611a5485c53467d4a2ab953..b3dfa72f13b902bd48275ac923b551f0375d7e0f 100644 (file)
@@ -34,6 +34,7 @@ struct seq_operations {
 
 #define SEQ_SKIP 1
 
+char *mangle_path(char *s, char *p, char *esc);
 int seq_open(struct file *, const struct seq_operations *);
 ssize_t seq_read(struct file *, char __user *, size_t, loff_t *);
 loff_t seq_lseek(struct file *, loff_t, int);