// deal with in/out tasks, for either stdin/stdout or network/XML stream
//
+#include "globaldefs.h"
#include "cmdlib.h"
#include "mathlib.h"
#include "polylib.h"
#include <sys/types.h>
#include <sys/stat.h>
-#ifdef WIN32
+#if GDEF_OS_WINDOWS
#include <direct.h>
#include <windows.h>
#endif
// utf8 conversion
#include <glib.h>
-#include <glib/gconvert.h>
-#include <glib/gmem.h>
-#ifdef WIN32
+#if GDEF_OS_WINDOWS
HWND hwndOut = NULL;
qboolean lookedForServer = qfalse;
UINT wm_BroadcastCommand = -1;
netmessage_t msg;
qboolean verbose = qfalse;
+qboolean werror = qfalse;
// our main document
// is streamed through the network to Radiant
char buf[1024];
sprintf( buf, "%f %f %f", v[0], v[1], v[2] );
- ret = xmlNewNode( NULL, "point" );
- xmlNodeSetContent( ret, buf );
+ ret = xmlNewNode( NULL, (xmlChar*)"point" );
+ xmlNodeSetContent( ret, (xmlChar*)buf );
return ret;
}
// l_net library defines an upper limit of MAX_NETMESSAGE
// there are some size check errors, so we use MAX_NETMESSAGE-10 to be safe
// if the size of the buffer exceeds MAX_NETMESSAGE-10 we'll send in several network messages
- while ( pos < xml_buf->use )
+ while ( pos < (int)xml_buf->use )
{
// what size are we gonna send now?
( xml_buf->use - pos < MAX_NETMESSAGE - 10 ) ? ( size = xml_buf->use - pos ) : ( size = MAX_NETMESSAGE - 10 );
// now build a proper "select" XML node
sprintf( buf, "Entity %i, Brush %i: %s", entitynum, brushnum, msg );
- node = xmlNewNode( NULL, "select" );
- xmlNodeSetContent( node, buf );
+ node = xmlNewNode( NULL, (xmlChar*)"select" );
+ xmlNodeSetContent( node, (xmlChar*)buf );
level[0] = (int)'0' + ( bError ? SYS_ERR : SYS_WRN ) ;
level[1] = 0;
- xmlSetProp( node, "level", (char *)&level );
+ xmlSetProp( node, (xmlChar*)"level", (xmlChar*)&level );
// a 'select' information
sprintf( buf, "%i %i", entitynum, brushnum );
- select = xmlNewNode( NULL, "brush" );
- xmlNodeSetContent( select, buf );
+ select = xmlNewNode( NULL, (xmlChar*)"brush" );
+ xmlNodeSetContent( select, (xmlChar*)buf );
xmlAddChild( node, select );
xml_SendNode( node );
char buf[1024];
char level[2];
- node = xmlNewNode( NULL, "pointmsg" );
- xmlNodeSetContent( node, msg );
+ node = xmlNewNode( NULL, (xmlChar*)"pointmsg" );
+ xmlNodeSetContent( node, (xmlChar*)msg );
level[0] = (int)'0' + SYS_ERR;
level[1] = 0;
- xmlSetProp( node, "level", (char *)&level );
+ xmlSetProp( node, (xmlChar*)"level", (xmlChar *)&level );
// a 'point' node
sprintf( buf, "%g %g %g", pt[0], pt[1], pt[2] );
- point = xmlNewNode( NULL, "point" );
- xmlNodeSetContent( point, buf );
+ point = xmlNewNode( NULL, (xmlChar*)"point" );
+ xmlNodeSetContent( point, (xmlChar*)buf );
xmlAddChild( node, point );
xml_SendNode( node );
char level[2];
int i;
- node = xmlNewNode( NULL, "windingmsg" );
- xmlNodeSetContent( node, msg );
+ node = xmlNewNode( NULL, (xmlChar*)"windingmsg" );
+ xmlNodeSetContent( node, (xmlChar*)msg );
level[0] = (int)'0' + SYS_ERR;
level[1] = 0;
- xmlSetProp( node, "level", (char *)&level );
+ xmlSetProp( node, (xmlChar*)"level", (xmlChar *)&level );
// a 'winding' node
sprintf( buf, "%i ", numpoints );
for ( i = 0; i < numpoints; i++ )
strcat( buf, smlbuf );
}
- winding = xmlNewNode( NULL, "winding" );
- xmlNodeSetContent( winding, buf );
+ winding = xmlNewNode( NULL, (xmlChar*)"winding" );
+ xmlNodeSetContent( winding, (xmlChar*)buf );
xmlAddChild( node, winding );
xml_SendNode( node );
char sMsg[1024];
Net_Setup();
- Net_StringToAddress( (char *)dest, &address );
+ Net_StringToAddress( dest, &address );
brdcst_socket = Net_Connect( &address, 0 );
if ( brdcst_socket ) {
// send in a header
*/
if ( !bGotXML ) {
// initialize
- doc = xmlNewDoc( "1.0" );
- doc->children = xmlNewDocRawNode( doc, NULL, "q3map_feedback", NULL );
+ doc = xmlNewDoc( (xmlChar*)"1.0" );
+ doc->children = xmlNewDocRawNode( doc, NULL, (xmlChar*)"q3map_feedback", NULL );
bGotXML = qtrue;
}
- node = xmlNewNode( NULL, "message" );
+ node = xmlNewNode( NULL, (xmlChar*)"message" );
{
gchar* utf8 = g_locale_to_utf8( buf, -1, NULL, NULL, NULL );
- xmlNodeSetContent( node, utf8 );
+ xmlNodeSetContent( node, (xmlChar*)utf8 );
g_free( utf8 );
}
level[0] = (int)'0' + flag;
level[1] = 0;
- xmlSetProp( node, "level", (char *)&level );
+ xmlSetProp( node, (xmlChar*)"level", (xmlChar *)&level );
xml_SendNode( node );
}
vsprintf( out_buffer, format, argptr );
va_end( argptr );
+ if ( ( flag == SYS_WRN ) && ( werror == qtrue ) ) {
+ Error( out_buffer );
+ return;
+ }
+
FPrintf( flag, out_buffer );
}