Author: DavidCzech Date: 2009-01-13 23:33:04 -0500 (Tue, 13 Jan 2009) New Revision: 1478
Modified: trunk/concordance/src/Session.c trunk/concordance/src/utils.c Log: Version checking Modified: trunk/concordance/src/Session.c =================================================================== --- trunk/concordance/src/Session.c 2009-01-14 04:26:43 UTC (rev 1477) +++ trunk/concordance/src/Session.c 2009-01-14 04:33:04 UTC (rev 1478) @@ -534,12 +534,13 @@ in the concordCore_sessionRead just after the XMLParse call (above). */ if (g_ascii_strcasecmp(name, - "http://etherx.jabber.org/streams stream") == 0) + "http://etherx.jabber.org/streams stream") == 0){ + int major, minor = 0; /* need to test version and other important attributes - - */ - concordSession_reply_stream(session); + conSession_getVersion(concordSearchAttributes(atts,"version"),&major,&minor); + printf("Major %d Minor %d\n",major,minor); + concordSession_reply_stream(session);} else session->state = CONCORD_E_CLOSE; break; Modified: trunk/concordance/src/utils.c =================================================================== --- trunk/concordance/src/utils.c 2009-01-14 04:26:43 UTC (rev 1477) +++ trunk/concordance/src/utils.c 2009-01-14 04:33:04 UTC (rev 1478) @@ -175,3 +175,27 @@ printf("returning %i\n", r); return TRUE; } + +gchar* +conSession_getVersion(gchar * version,int * major, int * minor) { + //cdef : + gchar ** versions; + if (g_strrstr(version,".")!=NULL) { + versions = g_strsplit(version,".",2); // Separate Major from minor + if (g_strv_length(versions) >= 2){ + printf("versions[0], %s, versions[1], %s\n",versions[0],versions[1]); + if (!concordStrToUI(versions[0], major)) {printf("Error on major\n"); return "version ='0.0'";} + if (!concordStrToUI(versions[1], minor)) {printf("Error on minor\n"); return "version ='0.0'";} + if ((*major) < 1) // Unsupported version + return "version='0.0'"; + else if (((*major) == 1) && ((*minor) == 0))// Only 1.0 is supported + return "version='1.0'"; + } + } + // else (because it should have returned above) + (*major) = 0; + (*minor) = 0; + g_strfreev(versions); + return "version = '0.0'"; + +} _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn