| Index: third_party/libxslt/libxslt/xsltutils.c
|
| diff --git a/third_party/libxslt/libxslt/xsltutils.c b/third_party/libxslt/libxslt/xsltutils.c
|
| index ab981a4237274e6ea44604250f047b9c6c844ead..1646c44931ed531885ce6f2ae74b314154b36239 100644
|
| --- a/third_party/libxslt/libxslt/xsltutils.c
|
| +++ b/third_party/libxslt/libxslt/xsltutils.c
|
| @@ -519,7 +519,7 @@ xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
|
| *
|
| * Default handler for out of context error messages.
|
| */
|
| -static void
|
| +static void LIBXSLT_ATTR_FORMAT(2,3)
|
| xsltGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
|
| va_list args;
|
|
|
| @@ -565,7 +565,7 @@ xsltSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
|
| *
|
| * Default handler for out of context error messages.
|
| */
|
| -static void
|
| +static void LIBXSLT_ATTR_FORMAT(2,3)
|
| xsltGenericDebugDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
|
| va_list args;
|
|
|
| @@ -1963,7 +1963,7 @@ xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
|
| int nb, i,j,k,l;
|
| int max;
|
| int total;
|
| - long totalt;
|
| + unsigned long totalt;
|
| xsltTemplatePtr *templates;
|
| xsltStylesheetPtr style;
|
| xsltTemplatePtr templ1,templ2;
|
| @@ -2076,7 +2076,7 @@ xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
|
|
|
| for (i = 0; i < nb; i++) {
|
| char ix_str[20], timep_str[20], times_str[20], timec_str[20], called_str[20];
|
| - int t;
|
| + unsigned long t;
|
|
|
| templ1 = templates[i];
|
| /* callers */
|
| @@ -2087,9 +2087,9 @@ xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
|
| break;
|
| }
|
| t=templ2?templ2->time:totalt;
|
| - sprintf(times_str,"%8.3f",(float)t/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| - sprintf(timec_str,"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| - sprintf(called_str,"%6d/%d",
|
| + snprintf(times_str,sizeof(times_str),"%8.3f",(float)t/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(timec_str,sizeof(timec_str),"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(called_str,sizeof(called_str),"%6d/%d",
|
| templ1->templCountTab[j], /* number of times caller calls 'this' */
|
| templ1->nbCalls); /* total number of calls to 'this' */
|
|
|
| @@ -2098,10 +2098,10 @@ xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
|
| (templ2?(templ2->name?(char *)templ2->name:pretty_templ_match(templ2)):"-"),k);
|
| }
|
| /* this */
|
| - sprintf(ix_str,"[%d]",i);
|
| - sprintf(timep_str,"%6.2f",(float)templ1->time*100.0/totalt);
|
| - sprintf(times_str,"%8.3f",(float)templ1->time/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| - sprintf(timec_str,"%8.3f",(float)childt[i]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(ix_str,sizeof(ix_str),"[%d]",i);
|
| + snprintf(timep_str,sizeof(timep_str),"%6.2f",(float)templ1->time*100.0/totalt);
|
| + snprintf(times_str,sizeof(times_str),"%8.3f",(float)templ1->time/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(timec_str,sizeof(timec_str),"%8.3f",(float)childt[i]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| fprintf(output, "%-5s %-6s %-8s %-8s %6d %s [%d]\n",
|
| ix_str, timep_str,times_str,timec_str,
|
| templ1->nbCalls,
|
| @@ -2123,9 +2123,9 @@ xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
|
| templ2 = templates[k];
|
| for (l = 0; l < templ2->templNr; l++) {
|
| if (templ2->templCalledTab[l] == templ1) {
|
| - sprintf(times_str,"%8.3f",(float)templ2->time/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| - sprintf(timec_str,"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| - sprintf(called_str,"%6d/%d",
|
| + snprintf(times_str,sizeof(times_str),"%8.3f",(float)templ2->time/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(timec_str,sizeof(timec_str),"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
|
| + snprintf(called_str,sizeof(called_str),"%6d/%d",
|
| templ2->templCountTab[l], /* number of times 'this' calls callee */
|
| total); /* total number of calls from 'this' */
|
| fprintf(output, " %-8s %-8s %-12s %s [%d]\n",
|
| @@ -2245,19 +2245,19 @@ xsltGetProfileInformation(xsltTransformContextPtr ctxt)
|
|
|
| for (i = 0; i < nb; i++) {
|
| child = xmlNewChild(root, NULL, BAD_CAST "template", NULL);
|
| - sprintf(buf, "%d", i + 1);
|
| + snprintf(buf, sizeof(buf), "%d", i + 1);
|
| xmlSetProp(child, BAD_CAST "rank", BAD_CAST buf);
|
| xmlSetProp(child, BAD_CAST "match", BAD_CAST templates[i]->match);
|
| xmlSetProp(child, BAD_CAST "name", BAD_CAST templates[i]->name);
|
| xmlSetProp(child, BAD_CAST "mode", BAD_CAST templates[i]->mode);
|
|
|
| - sprintf(buf, "%d", templates[i]->nbCalls);
|
| + snprintf(buf, sizeof(buf), "%d", templates[i]->nbCalls);
|
| xmlSetProp(child, BAD_CAST "calls", BAD_CAST buf);
|
|
|
| - sprintf(buf, "%ld", templates[i]->time);
|
| + snprintf(buf, sizeof(buf), "%ld", templates[i]->time);
|
| xmlSetProp(child, BAD_CAST "time", BAD_CAST buf);
|
|
|
| - sprintf(buf, "%ld", templates[i]->time / templates[i]->nbCalls);
|
| + snprintf(buf, sizeof(buf), "%ld", templates[i]->time / templates[i]->nbCalls);
|
| xmlSetProp(child, BAD_CAST "average", BAD_CAST buf);
|
| };
|
|
|
|
|