Browse Source

Fix: find & case-insensitive filesystem

On case-insensitive filesystem,
`inbox` and `Inbox` are the same path.
Running `find Inbox inbox [expr]` will print twice the same information.

Use shell glob instead:
`find` will descend into path `inbox`,
ignoring letter cases, only once.

Fix #828.
pull/852/head
f380cedric 2 years ago
parent
commit
3a2f4a55fa
1 changed files with 2 additions and 6 deletions
  1. +2
    -6
      bin/mailsync

+ 2
- 6
bin/mailsync View File

@@ -56,12 +56,8 @@ syncandnotify() {
acc="$(echo "$account" | sed "s/.*\///")" acc="$(echo "$account" | sed "s/.*\///")"
if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi
new=$(find\ new=$(find\
"$HOME/.local/share/mail/$acc/INBOX/new/"\
"$HOME/.local/share/mail/$acc/Inbox/new/"\
"$HOME/.local/share/mail/$acc/inbox/new/"\
"$HOME/.local/share/mail/$acc/INBOX/cur/"\
"$HOME/.local/share/mail/$acc/Inbox/cur/"\
"$HOME/.local/share/mail/$acc/inbox/cur/"\
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/new/\
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/cur/\
-type f -newer "$lastrun" 2> /dev/null) -type f -newer "$lastrun" 2> /dev/null)
newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l)
case 1 in case 1 in


Loading…
Cancel
Save