Konstantin Petrov wrote:
Your Patch is much to large.
> dlls/svrapi/Makefile,
> dlls/svrapi/libsvrapi.def,
This files are created automatic by the build-system.
> +16 stdcall NetShareAdd (str long str long) WIN98_NetShareAdd
> +17 stdcall NetShareDel(str str long) WIN98_NetShareDel
> +18 stdcall NetShareEnum(str long ptr long ptr ptr) WIN98_NetShareEnum
> +19 stub NetShareGetInfo
> +20 stub NetShareSetInfo
Are the ordinals needed / Which app import this Functions by Ordinal?
> --- /dev/null 2006-07-03 10:36:18 +0400
> +++ dlls/svrapi/svrapi_main.c 2006-07-24 15:08:49 +0400
I suggest to send a Patch, that has only "DllMain" in this File to
reduce the size.
Add a stub with description in a separate Patch.
> +//SHPWLEN is not known !!!!!!
C++ - Comments are not allowed in wine (it's not portable)
> +#define SHPWLEN LM20_PWLEN
> +typedef struct _share_info_1 {
> + char shi1_netname[LM20_NNLEN+1];
> + char shi1_pad1;
> + unsigned short shi1_type;
> + char* shi1_remark;
> +} share_info_1;
> +typedef struct _share_info_50 {
> + char shi50_netname[LM20_NNLEN+1];
> + unsigned char shi50_type;
> + unsigned short shi50_flags;
> + char* shi50_remark;
> + char* shi50_path;
> + char shi50_rw_password[SHPWLEN+1];
> + char shi50_ro_password[SHPWLEN+1];
> +} share_info_50;
This seems to be the wrong location here. (svrapi.h)
Should be the first patch (only this include-file)
> +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID
> fImpLoad)
> +{
> + TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
> +
> + switch(fdwReason) {
Do not forget "DLL_WINE_PREATTACH"
> +
> + FIXME("Stub (%s %d %p %d %p %p)\n", (pszServer ?
> pszServer:"NULL"), sLevel, pbBuffer,
> + cbBuffer, pcEntriesRead, pcTotalAvail);
you need debugstr_a()
> + if (pbBuffer != NULL)
> + HeapFree(GetProcessHeap(), 0, pbBuffer);
HeapFree() handles NULL; we removed similar unneeded "if" recently.
> + if(pszServer != NULL) return NERR_NetNameNotFound;
Many Functions in other dll's handle an empty Servername as an alias for
the local Computer (the same way as an NULL-Parameter).
Did you test this?
> + // if ((sLevel == 50) && (cbBuffer ==
> sizeof(share_info_50))) //in real
Why do you not use this code, when it reflects the windows-behavior?
--
By By ...
... Detlef