summarylogtreecommitdiffstats
path: root/file-name-length-limit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'file-name-length-limit.patch')
-rw-r--r--file-name-length-limit.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/file-name-length-limit.patch b/file-name-length-limit.patch
new file mode 100644
index 000000000000..580a388c9649
--- /dev/null
+++ b/file-name-length-limit.patch
@@ -0,0 +1,23 @@
+--- a/infinitychan.py
++++ b/infinitychan.py
+@@ -301,11 +301,18 @@
+ else:
+ name = file['tim']
+ if mode == 'unix_original':
+- name += '_' + file['filename']
++ if len(''.join([name, '_', file['filename'],
++ file['ext']]).encode('utf-8')) \
++ <= os.statvfs(os.getcwd()).f_namemax:
++ name += '_' + file['filename']
+ elif mode == 'plain':
+ name = file['tim']
+ elif mode == 'original':
+- name = file['filename']
++ if len((file['filename'] + file['ext']).encode('utf-8')) \
++ <= os.statvfs(os.getcwd()).f_namemax:
++ name = file['filename']
++ else:
++ name = file['tim']
+ else:
+ raise RuntimeError("Unknown mode {}".format(mode))
+ name += file['ext']