-
Notifications
You must be signed in to change notification settings - Fork 35
Description
Hello!
This is a cool bit of work.
I am looking to cancel a diff (on large files where the diff takes time), I want to pass a channel into the function that gets checked for a message (on a switch case) and if a value comes off the channel, it cancels the diff and stops in its tracks and cleans up.
My questions.
Where best to put the channel? I am thinking to fork your work.
There is the line of code:
Lines 234 to 240 in 190e7de
| for scan < len(nbuf) { | |
| var oldscore int | |
| scan += length | |
| for scsc := scan; scan < len(nbuf); scan++ { | |
| pos, length = search(I, obuf, nbuf[scan:], 0, len(obuf)) | |
| for ; scsc < scan+length; scsc++ { |
I.e the
for scan < len(nbuf) {
line of code.
If I pass a channel into this function, and then inside the for loop, do a switch case can I stop the diff safely and destroy whatever diffing has already occured and pass back a success message?
Its just because on larger files diffing can take some time and I'd like to be able to stop it...
Thanks!