rexpat icon indicating copy to clipboard operation
rexpat copied to clipboard

Change types in XML_ParserStruct

Open rinon opened this issue 5 years ago • 2 comments

We'll start by planning out changes here, then incrementally make those changes through the codebase.

Raw pointer fields that need replacing:

  • [ ] pub m_userData: *mut c_void
  • [ ] pub m_handlerArg: *mut c_void
  • [ ] pub m_buffer: *mut c_char
  • [ ] pub m_mem: crate::expat_h::XML_Memory_Handling_Suite
  • [ ] pub m_bufferPtr: *const c_char
  • [ ] pub m_bufferEnd: *mut c_char
  • [ ] pub m_bufferLim: *const c_char
  • [ ] pub m_parseEndPtr: *const c_char
  • [ ] pub m_dataBuf: *mut crate::expat_external_h::XML_Char
  • [ ] pub m_dataBufEnd: *mut crate::expat_external_h::XML_Char
  • [x] pub m_startElementHandler: crate::expat_h::XML_StartElementHandler
  • [x] pub m_endElementHandler: crate::expat_h::XML_EndElementHandler
  • [x] pub m_characterDataHandler: crate::expat_h::XML_CharacterDataHandler
  • [x] pub m_processingInstructionHandler: crate::expat_h::XML_ProcessingInstructionHandler
  • [x] pub m_commentHandler: crate::expat_h::XML_CommentHandler
  • [x] pub m_startCdataSectionHandler: crate::expat_h::XML_StartCdataSectionHandler
  • [x] pub m_endCdataSectionHandler: crate::expat_h::XML_EndCdataSectionHandler
  • [x] pub m_defaultHandler: crate::expat_h::XML_DefaultHandler
  • [x] pub m_startDoctypeDeclHandler: crate::expat_h::XML_StartDoctypeDeclHandler
  • [x] pub m_endDoctypeDeclHandler: crate::expat_h::XML_EndDoctypeDeclHandler
  • [x] pub m_unparsedEntityDeclHandler: crate::expat_h::XML_UnparsedEntityDeclHandler
  • [x] pub m_notationDeclHandler: crate::expat_h::XML_NotationDeclHandler
  • [x] pub m_startNamespaceDeclHandler: crate::expat_h::XML_StartNamespaceDeclHandler
  • [x] pub m_endNamespaceDeclHandler: crate::expat_h::XML_EndNamespaceDeclHandler
  • [x] pub m_notStandaloneHandler: crate::expat_h::XML_NotStandaloneHandler
  • [x] pub m_externalEntityRefHandler: crate::expat_h::XML_ExternalEntityRefHandler
  • [x] pub m_externalEntityRefHandlerArg: crate::expat_h::XML_Parser
  • [x] pub m_skippedEntityHandler: crate::expat_h::XML_SkippedEntityHandler
  • [x] pub m_unknownEncodingHandler: crate::expat_h::XML_UnknownEncodingHandler
  • [x] pub m_elementDeclHandler: crate::expat_h::XML_ElementDeclHandler
  • [x] pub m_attlistDeclHandler: crate::expat_h::XML_AttlistDeclHandler
  • [x] pub m_entityDeclHandler: crate::expat_h::XML_EntityDeclHandler
  • [x] pub m_xmlDeclHandler: crate::expat_h::XML_XmlDeclHandler
  • [ ] pub m_encoding: *const crate::src::lib::xmltok::ENCODING
  • [x] pub m_initEncoding: crate::src::lib::xmltok::INIT_ENCODING
  • [x] pub m_internalEncoding: *const crate::src::lib::xmltok::ENCODING
  • [ ] pub m_protocolEncodingName: *const crate::expat_external_h::XML_Char
  • [x] pub m_unknownEncodingMem: *mut c_void
  • [ ] pub m_unknownEncodingData: *mut c_void
  • [ ] pub m_unknownEncodingHandlerData: *mut c_void
  • [ ] pub m_unknownEncodingRelease: Option<unsafe extern "C" fn(_: *mut c_void) -> ()>
  • [ ] pub m_processor: Option<Processor>
  • [ ] pub m_eventPtr: *const c_char
  • [ ] pub m_eventEndPtr: *const c_char
  • [ ] pub m_positionPtr: *const c_char
  • [ ] pub m_openInternalEntities: *mut OPEN_INTERNAL_ENTITY
  • [ ] pub m_freeInternalEntities: *mut OPEN_INTERNAL_ENTITY
  • [ ] pub m_declEntity: *mut ENTITY
  • [ ] pub m_doctypeName: *const crate::expat_external_h::XML_Char
  • [ ] pub m_doctypeSysid: *const crate::expat_external_h::XML_Char
  • [ ] pub m_doctypePubid: *const crate::expat_external_h::XML_Char
  • [ ] pub m_declAttributeType: *const crate::expat_external_h::XML_Char
  • [ ] pub m_declNotationName: *const crate::expat_external_h::XML_Char
  • [ ] pub m_declNotationPublicId: *const crate::expat_external_h::XML_Char
  • [ ] pub m_declElementType: *mut ELEMENT_TYPE
  • [ ] pub m_declAttributeId: *mut ATTRIBUTE_ID
  • [ ] pub m_dtd: *mut DTD
  • [ ] pub m_curBase: *const crate::expat_external_h::XML_Char
  • [ ] pub m_tagStack: *mut TAG
  • [ ] pub m_freeTagList: *mut TAG
  • [ ] pub m_inheritedBindings: *mut BINDING
  • [ ] pub m_freeBindingList: *mut BINDING
  • [ ] pub m_atts: *mut crate::src::lib::xmltok::ATTRIBUTE
  • [ ] pub m_nsAtts: *mut NS_ATT
  • [ ] pub m_tempPool: STRING_POOL
  • [ ] pub m_temp2Pool: STRING_POOL
  • [ ] pub m_groupConnector: *mut c_char
  • [ ] pub m_parentParser: crate::expat_h::XML_Parser

rinon avatar Jan 14 '20 19:01 rinon

Handler fields were replaced in #9.

rinon avatar Jan 23 '20 22:01 rinon

m_initEncoding, m_unknownEncodingMem, and m_internalEncoding were made safe in #19.

rinon avatar Jan 23 '20 22:01 rinon