static void _errorSAXFunc(void *xmlp, const char *msg, ...) { va_list args; va_start (args, msg); UT_String errorMessage; UT_String_vprintf (errorMessage,msg, args); va_end (args); // Handle 'nbsp' here UT_XML * pXML = reinterpret_cast<UT_XML *>(xmlp); pXML->incMinorErrors(); char * szErr = g_strdup(errorMessage.c_str() ); if(strstr(szErr,"'nbsp' not defined") != NULL) { UT_DEBUGMSG(("nbsp found in stream errs %d \n",pXML->getNumMinorErrors())); pXML->incRecoveredErrors(); const char buffer []= { (char)0xa0}; pXML->charData(buffer,1); } else if(strstr(szErr,"not defined") != NULL) { pXML->incRecoveredErrors(); } else { UT_DEBUGMSG(("SAX function error here \n")); UT_DEBUGMSG(("%s", errorMessage.c_str())); // This is a runtime error, an ASSERT is out of place. // UT_ASSERT(UT_SHOULD_NOT_HAPPEN); } FREEP(szErr); }
UT_String& UT_String_sprintf(UT_String & inStr, const char * inFormat, ...) { va_list args; va_start (args, inFormat); UT_String_vprintf (inStr, inFormat, args); va_end (args); return inStr; }
UT_String UT_String_sprintf(const char * inFormat, ...) { UT_String outStr (""); va_list args; va_start (args, inFormat); UT_String_vprintf (outStr, inFormat, args); va_end (args); return outStr; }
UT_UTF8String UT_UTF8String_sprintf(const char * inFormat, ...) { UT_String str (""); va_list args; va_start (args, inFormat); UT_String_vprintf (str, inFormat, args); va_end (args); // create & return a validated UTF-8 string based on the input return UT_UTF8String(str.c_str()); }
UT_UTF8String & UT_UTF8String_sprintf(UT_UTF8String & inStr, const char * inFormat, ...) { UT_String str (""); va_list args; va_start (args, inFormat); UT_String_vprintf (str, inFormat, args); va_end (args); // create a validated UTF-8 string based on the input inStr = str.c_str(); return inStr; }
/*! * Set the title of a gtk dialog */ void abiDialogSetTitle(GtkWidget * dlg, const char * title, ...) { if ( title != NULL && strlen ( title ) ) { UT_String titleStr ( "" ) ; va_list args; va_start (args, title); UT_String_vprintf (titleStr, title, args); va_end (args); // create the title gtk_window_set_title ( GTK_WINDOW(dlg), titleStr.c_str() ) ; } }
static void _fatalErrorSAXFunc(void *xmlp, const char *msg, ...) { va_list args; va_start (args, msg); UT_String errorMessage(UT_String_vprintf (msg, args)); va_end (args); UT_DEBUGMSG((" fatal SAX function error here \n")); UT_DEBUGMSG(("%s", errorMessage.c_str())); UT_XML * pXML = reinterpret_cast<UT_XML *>(xmlp); UT_DEBUGMSG((" userData pointer is %p \n",pXML)); UT_ASSERT(UT_SHOULD_NOT_HAPPEN); pXML->stop(); }
/*! * Create a new GtkDialog with this title */ GtkWidget * abiDialogNew(const char * role, gboolean resizable, const char * title, ...) { GtkWidget * dlg = abiDialogNew(role, resizable); if ( title != NULL && strlen ( title ) ) { UT_String titleStr ( "" ) ; va_list args; va_start (args, title); UT_String_vprintf (titleStr, title, args); va_end (args); // create the title gtk_window_set_title ( GTK_WINDOW(dlg), titleStr.c_str() ) ; } return dlg ; }
UT_String UT_String_vprintf(const UT_String & inFormat, va_list args1) { UT_String outStr (""); return UT_String_vprintf( outStr, inFormat, args1 ); }
UT_String& UT_String_vprintf (UT_String & inStr, const UT_String & format, va_list args1) { return UT_String_vprintf ( inStr, format.c_str(), args1 ) ; }