← Back to team overview

desktop-packages team mailing list archive

[Bug 1085526]

 

(In reply to Adrian Johnson from comment #78)
> I agree that the two calls to doGetChars and updateHash should be merged but
> I don't think a for loop is the best way to process loops where the
> increment is not exactly the same on each iteration. Maybe something like
> this:
> 
>   void FormFieldSignature::hashSignedByteRange(SignatureHandler *handler,
>      Goffset start, Goffset len)
>   {
>     const int CHUNK_SIZE = 4096;
>     unsigned char buffer[CHUNK_SIZE];
>     Goffset i = 0;
>     int byte_count = CHUNK_SIZE;
> 
>     doc->getBaseStream()->setPos(start);
>     while (i < len)
>     {
>       if (i + CHUNK_SIZE > len)
>         byte_count = len - i;
> 
>       doc->getBaseStream()->doGetChars(byte_count, buffer);
>       handler->updateHash(buffer, byte_count);
>       i += byte_count;
>     }
>   }

I was thinking of something like

doc->getBaseStream()->setPos(start);
for (Goffset offset = 0; offset < len; offset += CHUNK_SIZE)
{
  const int byte_count = min(CHUNK_SIZE, len - offset);

  doc->getBaseStream()->doGetChars(byte_count, buffer);
  handler->updateHash(buffer, byte_count);
}

to make the loop more regular as we don't care if offset > len instead
of offset == len after the last iteration. (That code was not tested or
even compiled.)

> I don't mind if we fix all this later. It doesn't have to hold up the
> initial release.

Maybe if there is some external pressure to release this, but otherwise
I'd propose polishing it now, since there is a certain momentum not to
touch working code once it is released.

Best regards, Adam.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to evince in Ubuntu.
https://bugs.launchpad.net/bugs/1085526

Title:
  ubuntu pdf doc viewer will not let me sign a document

Status in Poppler:
  Confirmed
Status in evince package in Ubuntu:
  Triaged

Bug description:
  Just updated in last few weeks, i think ubuntu 12.4

  To sign the document i have to send it to my neighbors windows
  computer, open it, sign it, then send it, then I get a note from echo
  sign that the document was sent with my signature.

  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: evince 3.2.1-0ubuntu2.3
  ProcVersionSignature: Ubuntu 3.0.0-27.44-generic 3.0.45
  Uname: Linux 3.0.0-27-generic i686
  ApportVersion: 1.23-0ubuntu4
  Architecture: i386
  Date: Fri Nov 30 18:13:25 2012
  ExecutablePath: /usr/bin/evince
  InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
  ProcEnviron:
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: evince
  UpgradeStatus: Upgraded to oneiric on 2012-11-18 (12 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/poppler/+bug/1085526/+subscriptions