X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=clients%2Fgtk2%2Fhublist-xml.c;h=46a53ce732d1f67960acc791cf1047a5944be376;hb=d8813d883280b17c242473f3e662ad7e2c250bf1;hp=dd2c1cbdbf4e9740db7cfa81d227023a6a0da793;hpb=302a260054ea38d3cb97be6d1a3010082c09265d;p=doldaconnect.git diff --git a/clients/gtk2/hublist-xml.c b/clients/gtk2/hublist-xml.c index dd2c1cb..46a53ce 100644 --- a/clients/gtk2/hublist-xml.c +++ b/clients/gtk2/hublist-xml.c @@ -61,7 +61,7 @@ static int checkvalid(xmlNodePtr n) int pubhubxmlhandler(int op, char *buf, size_t len) { static xmlParserCtxtPtr ctxt = NULL; - int i; + int i, o; xmlNodePtr dr, r, cr, c, n; int numcols, *cols, sortcol; GType type, *types; @@ -119,6 +119,8 @@ int pubhubxmlhandler(int op, char *buf, size_t len) type = G_TYPE_STRING; else if(!strcmp(stype, "int")) type = G_TYPE_INT; + else if(!strcmp(stype, "percent")) + type = G_TYPE_INT; else if(!strcmp(stype, "bytes")) type = G_TYPE_INT64; } @@ -142,14 +144,16 @@ int pubhubxmlhandler(int op, char *buf, size_t len) } for(i = 0; i < numcols; i++) { - if(!strcmp(names[i], "Address")) + if(!strcasecmp(names[i], "Address")) { - name = names[0]; - names[0] = names[i]; - names[i] = name; - type = types[0]; - types[0] = types[i]; - types[i] = type; + for(o = i; o > 0; o--) { + name = names[o]; + type = types[o]; + names[o] = names[o - 1]; + types[o] = types[o - 1]; + names[o - 1] = name; + types[o - 1] = type; + } break; } }