mirror of
https://github.com/StevenBlack/hosts.git
synced 2025-03-14 10:36:53 +00:00
FIX: Remove Hardcoded Offset in Compression
An offset of 7 was hardcoded in the function compress_file, presumably to skip over the default target IP address of 0.0.0.0 in a hosts file. However, this causes problems when the default is overridden using the --ip or -i flag, causing visibly garbled output in the generated hosts file. Fix is to calculate the length of target IP at runtime.
This commit is contained in:
@ -667,6 +667,7 @@ def compress_file(input_file, target_ip, output_file):
|
||||
input_file.seek(0) # reset file pointer
|
||||
write_data(output_file, '\n')
|
||||
|
||||
target_ip_len = len(target_ip)
|
||||
lines = [target_ip]
|
||||
lines_index = 0
|
||||
for line in input_file.readlines():
|
||||
@ -674,7 +675,8 @@ def compress_file(input_file, target_ip, output_file):
|
||||
|
||||
if line.startswith(target_ip):
|
||||
if lines[lines_index].count(' ') < 9:
|
||||
lines[lines_index] += ' ' + line[7:line.find('#')].strip()
|
||||
lines[lines_index] += ' ' \
|
||||
+ line[target_ip_len:line.find('#')].strip()
|
||||
else:
|
||||
lines[lines_index] += '\n'
|
||||
lines.append(line[:line.find('#')].strip())
|
||||
|
Reference in New Issue
Block a user