avicap32 patch

Maarten Lankhorst m.b.lankhorst at gmail.com
Mon Apr 25 16:03:27 CDT 2005


Juan Lang wrote:

>Hi Maarten,
>
>You need to include "winnls.h" unconditionally, capGetDriverDescriptionW
>is always compiled with calls to MultiByteToWideChar.
>
>  
>
Oops, didn't see it, my fault -- fixed

>>+   sprintf(device, "/dev/video%i", devnum);
>>    
>>
>
>Why not use snprintf(device, sizeof(device) ...) instead?
>
>  
>
it's not like it can overflow.. but ok fixed

>>+      strcpy(name, caps.card);
>>    
>>
>
>Ug.  Please don't use strcpy.  Even though caps.card and name happen to be
>declared of the same size, and caps.card is very likely null-terminated,
>it takes a bit of searching around to make sure that's the case.  It's
>easier to verify it's correct if you use lstrncpyA or memcpy instead. 
>Since you NULL-terminate in the next line, I'd suggest memcpy.
>
>  
>
>>+      sprintf(version, "%s v%u.%u.%u",
>>    
>>
>
>It's also not obvious how large version is.  I'd recommend passing in the
>length of the buffer and using snprintf instead.  You might as well pass
>in the length of name, too.
>
>  
>
Fixed those 2

>>+   strncpy(lpszName, devname, cbName);
>>    
>>
>
>You won't be able to use strncpy anymore, see Alexandre's commit:
>http://www.winehq.org/hypermail/wine-cvs/2005/04/0275.html
>
>--Juan
>
>  
>
When I just compiled cvs again, I noticed the error message hehe

>__________________________________________________
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>  
>
Tired of annoying mailers that add such messages ;)

Also, thanks to a gentoo user I found out why #include 
<linux/videodev.h> sometimes fails,
and added a fixing #include <sys/time.h> to the configure scripts
I suppose the patch is ready for submitting in the cvs this time now :)



More information about the wine-devel mailing list