X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=clients%2Fgtk2%2Fhublist-xml.c;h=46a53ce732d1f67960acc791cf1047a5944be376;hb=2f4cd43c4483070e81c0862582a80b59a208f0dd;hp=e67f7177fa103fe6f18619e9a47310ab7f51c555;hpb=d05758f6eda21695e6215d60d28b9747d0b8aaa3;p=doldaconnect.git diff --git a/clients/gtk2/hublist-xml.c b/clients/gtk2/hublist-xml.c index e67f717..46a53ce 100644 --- a/clients/gtk2/hublist-xml.c +++ b/clients/gtk2/hublist-xml.c @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2007 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2007 Fredrik Tolf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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; } }