Hello,

On Sep 28 18:59 Olaf Meeuwissen wrote (excerpt):
With the sequencing issues, we can only speculate at what
the intended behaviour is, so we can't really fix things.
That notwithstanding, I think we can make a decent, educated
guess at a fix for both cases and make the warning go away :-|

I don't know if the following sequencing bug was already found:

In sane-backends-git20150928 in backend/microtek2.c
there is line 7456:

        ms->buf.current_src = ++ms->buf.current_src % 2;

My "decent educated guess" is that

        ++ms->buf.current_src;
        ms->buf.current_src = ms->buf.current_src % 2;

is meant.

For sequencing issues I would assume the original author was not
actually a sufficient C expert who fully understood those issues
(otherwise he would not have made ambiguous code) so that
to fix those issues one could assume that any kind of

  foo = something where ++foo is used;

was meant as

  foo++; /* or "++foo;" or "foo = foo + 1;" as one likes */
  foo = something where foo is used;

and any kind of

  foo = something where foo++ is used;

was meant as

  foo = something where foo is used;
  foo++; /* or "++foo;" or "foo = foo + 1;" as one likes */

and same reasoning for "--foo" and "foo--".


Kind Regards
Johannes Meixner
--
SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard,
Graham Norton - HRB 21284 (AG Nuernberg)


--
sane-devel mailing list: sane-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
            to sane-devel-requ...@lists.alioth.debian.org

Reply via email to