On Fri, Jun 27, 2008 at 07:13:50PM +0100, peter green <[EMAIL PROTECTED]> was 
heard to say:
> tags 488132 +patch
> thanks
>
> DO NOT SEND THIS MESSAGE YET
>
>> I'd like to verify the
>> fix, but there doesn't seem to be an amd64 emulator in the archive...
>
>
> I have added int casts to all the printf calls the compiler was  
> complaining about and the package now builds.

  Ah, thanks -- that's why I wanted to check (I only knew about the
first one, so the fix didn't fix it).

> patch is attatched
>
> BTW in the qemu package I see
>
> /usr/bin/qemu-system-x86_64
> /usr/bin/qemu-x86_64
>
> But I imagine they will be pretty slow.

  I'm fine with slow for this purpose.  I actually checked qemu, but its
package description said it doesn't have an emulator for x86_64 (or
rather, that it only has them for powerpc, sparc, and x86).  I'll file a
bug about that.

>    for(vector<pkgCache::VerIterator>::size_type i = 0;
>        i < choices.size(); ++i)
> -    cout << ssprintf(" (%d) %s", i+1, archives_text(choices[i]).c_str()) << 
> endl;
> +    cout << ssprintf(" (%d) %s", (int)(i+1), 
> archives_text(choices[i]).c_str()) << endl;

  That one I fixed already.

> -     cerr << ssprintf(_("Invalid response.  Please enter an integer between 
> 1 and %d."), choices.size()) << endl;
> +     cerr << ssprintf(_("Invalid response.  Please enter an integer between 
> 1 and %d."), (int)choices.size()) << endl;

  This is fine since the choices list will always be less than the
largest possible int ;-).

>        else
>       return choices[i];
>      }
> @@ -561,8 +561,8 @@
>         resolver_manager::state state = resman->state_snapshot();
>  
>         spin.set_msg(ssprintf(_("open: %d; closed: %d; defer: %d; conflict: 
> %d"),
> -                             state.open_size, state.closed_size,
> -                             state.deferred_size, state.conflicts_size));
> +                             (int)(state.open_size), 
> (int)(state.closed_size),
> +                             (int)(state.deferred_size), 
> (int)(state.conflicts_size)));

  Again, the number of search nodes examined should be less than the
largest possible int, so this is ok.  OTOH, these guys are *actually*
size_t values, so maybe I'll consider using %zd instead.

>       output_fragments.push_back(cw::text_fragment(ssprintf(ngettext("There 
> is %d newly obsolete package.",
>                                                                      "There 
> are %d newly obsolete packages.",
>                                                                      
> new_obsolete.size()),
> -                                                           
> new_obsolete.size())));
> +                                                           
> (int)new_obsolete.size())));

  I expect that less than 1<<31 packages will be obsolete, so this will
work.

    Thanks,
  Daniel



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to