Если затайпдефчен тип с указателем - то креатор упорно подставляет точку вместо стрелки в автозаполнении:
typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
struct _xmlNs *next; /* next Ns link for this node */
xmlNsType type; /* global or local */
const xmlChar *href; /* URL for the namespace */
const xmlChar *prefix; /* prefix for the namespace */
void *_private; /* application data */
struct _xmlDoc *context; /* normally an xmlDoc */
};
...
static CML_Error ReadNamespaces(CML_Node * root, xmlNsPtr ns, char marker)
{
while (ns)
{
ns = ns.next; // <-- Здесь должна быть стрелка
}
}
Зачем так тайпдефить вопрос к создателям libxml2. У них же и node->children->parent != node.
Версия 3.0.1, предполагаю наличие бага и в более поздних.