mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
Make the NSXMLNode ivar a union.
Having the same ivar exposed as different types in different compilation units is probably a bad idea in general and will break with the new ObjC ABI, where we have link-time checks for this. It would also confuse reflection and any languages that use reflection for bridging in exciting ways.
This commit is contained in:
parent
146d823689
commit
9b7e3a8fff
6 changed files with 97 additions and 85 deletions
|
@ -26,7 +26,6 @@
|
|||
|
||||
#if defined(HAVE_LIBXML)
|
||||
|
||||
#define GS_XMLNODETYPE xmlDtd
|
||||
#define GSInternal NSXMLDTDInternal
|
||||
|
||||
#import "NSXMLPrivate.h"
|
||||
|
@ -57,7 +56,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
- (NSXMLDTDNode*) attributeDeclarationForName: (NSString*)name
|
||||
elementName: (NSString*)elementName
|
||||
{
|
||||
xmlDtdPtr theNode = internal->node;
|
||||
xmlDtdPtr theNode = internal->node.dtd;
|
||||
xmlNodePtr children = NULL;
|
||||
const xmlChar *xmlName = XMLSTRING(name);
|
||||
const xmlChar *xmlElementName = XMLSTRING(elementName);
|
||||
|
@ -87,7 +86,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (NSXMLDTDNode*) elementDeclarationForName: (NSString*)name
|
||||
{
|
||||
xmlDtdPtr theNode = internal->node;
|
||||
xmlDtdPtr theNode = internal->node.dtd;
|
||||
xmlNodePtr children = NULL;
|
||||
const xmlChar *xmlName = XMLSTRING(name);
|
||||
|
||||
|
@ -116,7 +115,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
- (NSXMLDTDNode*) entityDeclarationForName: (NSString*)name
|
||||
{
|
||||
//xmlGetEntityFromDtd
|
||||
xmlDtdPtr theNode = internal->node;
|
||||
xmlDtdPtr theNode = internal->node.dtd;
|
||||
xmlNodePtr children = NULL;
|
||||
const xmlChar *xmlName = XMLSTRING(name);
|
||||
|
||||
|
@ -241,7 +240,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (NSXMLDTDNode*) notationDeclarationForName: (NSString*)name
|
||||
{
|
||||
xmlDtdPtr theNode = internal->node;
|
||||
xmlDtdPtr theNode = internal->node.dtd;
|
||||
xmlNodePtr children = NULL;
|
||||
const xmlChar *xmlName = XMLSTRING(name);
|
||||
|
||||
|
@ -267,7 +266,7 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (NSString*) publicID
|
||||
{
|
||||
xmlDtd *theNode = internal->node;
|
||||
xmlDtd *theNode = internal->node.dtd;
|
||||
|
||||
return StringFromXMLStringPtr(theNode->ExternalID);
|
||||
}
|
||||
|
@ -306,21 +305,21 @@ GS_PRIVATE_INTERNAL(NSXMLDTD)
|
|||
|
||||
- (void) setPublicID: (NSString*)publicID
|
||||
{
|
||||
xmlDtd *theNode = internal->node;
|
||||
xmlDtd *theNode = internal->node.dtd;
|
||||
|
||||
theNode->ExternalID = XMLStringCopy(publicID);
|
||||
}
|
||||
|
||||
- (void) setSystemID: (NSString*)systemID
|
||||
{
|
||||
xmlDtd *theNode = internal->node;
|
||||
xmlDtd *theNode = internal->node.dtd;
|
||||
|
||||
theNode->SystemID = XMLStringCopy(systemID);
|
||||
}
|
||||
|
||||
- (NSString*) systemID
|
||||
{
|
||||
xmlDtd *theNode = internal->node;
|
||||
xmlDtd *theNode = internal->node.dtd;
|
||||
|
||||
return StringFromXMLStringPtr(theNode->SystemID);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue