bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch #1599] [Patch #1599] store_typed_open on file name doesn't call s


From: noreply
Subject: [patch #1599] [Patch #1599] store_typed_open on file name doesn't call store_open
Date: Thu, 31 Jul 2003 17:17:39 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686) Gecko/20030714 Galeon/1.3.5 Debian/1.3.5.20030714-2

Patch #1599 has been updated. 

Project: 
Category: libstore
Status: Closed
Summary: store_typed_open on file name doesn't call store_open

Follow-Ups:

Date: Thu 07/31/2003 at 23:17
By: marcus

Comment:
This patch is definitely wrong.  The code should do the following:

FOO:BAR - Open the class FOO with parameter BAR
FOO: - Open the class FOO with no parameter
:BAR - Open the file BAR (with store_open)
BAZ - Try to find a class BAZ, and open that with no parameter, but if class is 
not found, open file BAZ with store_open.

Look at the code:

  const char *clname_end = strchrnul (name, ':');
                                                                                
  if (clname_end == name)
    /* Open NAME with store_open.  */
    return store_open (name + 1, flags, classes, store);

This covers the ":BAR" case.  You make the code look in that case for a class 
"".  Then come all the other cases, which (potentially) start with a class 
name.  So we search for classes, either in the statically linked list, or by 
dynamically loading a library with that class.

Only if that fails, and there is no ':', then we know we have a BAZ case where 
BAZ is not a class, but a file.  Then open the file.

I think the only bug here is that the dynamic loading mechanism segfaults, 
which you probably have fixed with your linker change.  So I am closing this.  
If I overlooked something, we can reopen it.

-------------------------------------------------------

-------------------------------------------------------
For more info, visit:

http://savannah.gnu.org/patch/?func=detailpatch&patch_id=1599&group_id=30

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]