udf: Parameterize output length in udf_put_filename
[linux-2.6-block.git] / fs / udf / unicode.c
index e788a05aab83670de6be03dc48eb519e2d2ae5d9..47e61883275d440ea97b76fd13ee8b4fab21258d 100644 (file)
@@ -395,22 +395,22 @@ out1:
        return ret;
 }
 
-int udf_put_filename(struct super_block *sb, const uint8_t *sname,
-                    uint8_t *dname, int flen)
+int udf_put_filename(struct super_block *sb, const uint8_t *sname, int slen,
+                    uint8_t *dname, int dlen)
 {
        struct ustr unifilename;
        int namelen;
 
-       if (!udf_char_to_ustr(&unifilename, sname, flen))
+       if (!udf_char_to_ustr(&unifilename, sname, slen))
                return 0;
 
        if (UDF_QUERY_FLAG(sb, UDF_FLAG_UTF8)) {
-               namelen = udf_UTF8toCS0(dname, &unifilename, UDF_NAME_LEN);
+               namelen = udf_UTF8toCS0(dname, &unifilename, dlen);
                if (!namelen)
                        return 0;
        } else if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP)) {
                namelen = udf_NLStoCS0(UDF_SB(sb)->s_nls_map, dname,
-                                       &unifilename, UDF_NAME_LEN);
+                                       &unifilename, dlen);
                if (!namelen)
                        return 0;
        } else