An issue with msvcp110 test's design

YongHao Hu christopherwuy at
Sun Mar 15 19:03:53 CDT 2015

If just add varibables name msvcp110, I will need to add another #define 

#define ANOTHER_SETNOFAIL(x,y) x = (void*)GetProcAddress(msvcp110,y)

Good point. I just copy the test code from origin ios.c and what you mentioned was a typo.

  629     msvcr = LoadLibraryA("msvcr90.dll");
  630     msvcp = LoadLibraryA("msvcp90.dll");
  631     if(!msvcr || !msvcp) {
  632         win_skip("msvcp90.dll or msvcrt90.dll not installed\n");
  633         return FALSE;
  634     }

It should be msvcrt90.dll not installed. So in my patch it should be 
Thank you. : )

On 2015年03月15日 18:38, André Hentschel wrote:
> Am 15.03.2015 um 09:50 schrieb YongHao Hu:
>> Hi, all
>> Thanks for Piotr's comment on my GSOC ideas.
>> In order to have a good knowledge of functions from tr2 namespace, I had made a test and written some functions' implementation.
>> However, I had an issue with msvcp test's design when I need to free library of msvcp90 and load msvcp110.
>> 619 static HMODULE msvcr, msvcp;
>>   620 #define SETNOFAIL(x,y) x = (void*)GetProcAddress(msvcp,y)
>>   621 #define SET(x,y) do { SETNOFAIL(x,y); ok(x != NULL, "Export '%s' not found\     n", y); } while(0)
>> In my patch, I use a hmodule variable named msvcp90 to save msvcp90 hmodule and then reuse msvcp to save msvcp110.
>> As far as I am concerned, the name msvcp90 or msvcp90_saver is not good enough. Could you give it a good name?
> Hi,
> i'd simply add variables named e.g. msvcp110
>> And the other method I came up with is  undefining SETNOFAIL and SET and using msvcp110 to define it again, which I think is ugly.
>> By the way, my crosstest on all the testbots[1] show that msvcp110.dll or msvcrt110.dll not installed.
>> It seems testbot doesn't install msvcp110.
> Are you sure about msvcrt110 or do you mean msvcr110 (notice the t)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the wine-devel mailing list