Implement symbolic link object in wineserver.

Vitaliy Margolen wine-devel at kievinfo.com
Tue Nov 29 19:16:33 CST 2005


Tuesday, November 29, 2005, 4:47:47 PM, Robert Shearman wrote:
> Hi Vitaliy,

> This patch looks pretty good, but needs some finishing touches. Are you
> planning to continue the directory work to get objects to start
> supporting it?
Yes I do. It should be a straight forward for events, sections, mutants,
semaphores and timers. But named pipes, mail slots and winstations with
desktops will have to wait a bit. I'm not sure yet how to properly
separate name spaces (you should not be able to create an event in the
named pipe name space. And wise-versa).

> Vitaliy Margolen wrote:
>>+struct syboliclink *create_syboliclink( struct directory *root, const struct unicode_str *name,
>>+                                        unsigned int attr, const struct unicode_str *target )
>>  
>>
> Spelling mistake again. Also, should match whatever name is decided for
> the name of the object.

Damn. How in the world did gcc compiled this then? With so many errors?!
I don't know why didn't I see this before. Of course I will change it to
"symlink".

>>+
>>+/* Global initialization */
>>+void init_syboliclinks(void)
>>+{
>>+}
>>+
>>+void close_syboliclinks(void)
>>+{
>>+}
>>  
>>
> It would probably be nicer to have all of the namespace initialisation
> done in one place, e.g. directory.c
> That would mean exporting the create_symlink function, but then 
> init_symboliclinks and close_symboliclinks would no longer have to be 
> exported.
Yup are you right. Done.

>>+    if (req->rootdir && !(root = get_directory_obj(
>>current->process, req->rootdir, 0 )))
>>+        return;
>>  
>>
> Does NT really allow you to open a directory without having any specific
> access rights?
Yup. In the tests I'm opening directory with "directory query" rights
only. And it works when I'm using it as the RootDirectory. Even when
creating new objects in it.

Vitaliy








More information about the wine-devel mailing list