Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: third_party/libxslt/libxslt/extra.c

Issue 2777943003: Roll libxslt to ac341cbd792ee572941cc9a66e73800219a1a386 (Closed)
Patch Set: Update README.chromium. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/libxslt/libxslt/extra.h ('k') | third_party/libxslt/libxslt/functions.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libxslt/libxslt/extra.c
diff --git a/third_party/libxslt/libxslt/extra.c b/third_party/libxslt/libxslt/extra.c
index 17df4baef7739082fe8c113a2369ab486fc2fb40..2c99e4c443e688125c5ac689f9175b8c8d6c6270 100644
--- a/third_party/libxslt/libxslt/extra.c
+++ b/third_party/libxslt/libxslt/extra.c
@@ -14,9 +14,6 @@
#include "libxslt.h"
#include <string.h>
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
@@ -148,134 +145,6 @@ xsltFunctionNodeSet(xmlXPathParserContextPtr ctxt, int nargs){
}
}
-
-/*
- * Okay the following really seems unportable and since it's not
- * part of any standard I'm not too ashamed to do this
- */
-#if defined(linux) || defined(__sun)
-#if defined(HAVE_MKTIME) && defined(HAVE_LOCALTIME) && defined(HAVE_ASCTIME)
-#define WITH_LOCALTIME
-
-/**
- * xsltFunctionLocalTime:
- * @ctxt: the XPath Parser context
- * @nargs: the number of arguments
- *
- * Implement the localTime XSLT function used by NORM
- * string localTime(???)
- *
- * This function is available in Norm's extension namespace
- * Code (and comments) contributed by Norm
- */
-static void
-xsltFunctionLocalTime(xmlXPathParserContextPtr ctxt, int nargs) {
- xmlXPathObjectPtr obj;
- char *str;
- char digits[5];
- char result[29];
- long int field;
- time_t gmt, lmt;
- struct tm gmt_tm;
- struct tm *local_tm;
-
- if (nargs != 1) {
- xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
- "localTime() : invalid number of args %d\n", nargs);
- ctxt->error = XPATH_INVALID_ARITY;
- return;
- }
-
- obj = valuePop(ctxt);
-
- if (obj->type != XPATH_STRING) {
- obj = xmlXPathConvertString(obj);
- }
- if (obj == NULL) {
- valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
- return;
- }
-
- str = (char *) obj->stringval;
-
- /* str = "$Date$" */
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+7, 4);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_year = field - 1900;
-
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+12, 2);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_mon = field - 1;
-
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+15, 2);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_mday = field;
-
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+18, 2);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_hour = field;
-
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+21, 2);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_min = field;
-
- memset(digits, 0, sizeof(digits));
- strncpy(digits, str+24, 2);
- field = strtol(digits, NULL, 10);
- gmt_tm.tm_sec = field;
-
- /* Now turn gmt_tm into a time. */
- gmt = mktime(&gmt_tm);
-
-
- /*
- * FIXME: it's been too long since I did manual memory management.
- * (I swore never to do it again.) Does this introduce a memory leak?
- */
- local_tm = localtime(&gmt);
-
- /*
- * Calling localtime() has the side-effect of setting timezone.
- * After we know the timezone, we can adjust for it
- */
-#if !defined(__FreeBSD__)
- lmt = gmt - timezone;
-#else /* FreeBSD DOESN'T have such side-ffect */
- lmt = gmt - local_tm->tm_gmtoff;
-#endif
- /*
- * FIXME: it's been too long since I did manual memory management.
- * (I swore never to do it again.) Does this introduce a memory leak?
- */
- local_tm = localtime(&lmt);
-
- /*
- * Now convert local_tm back into a string. This doesn't introduce
- * a memory leak, so says asctime(3).
- */
-
- str = asctime(local_tm); /* "Tue Jun 26 05:02:16 2001" */
- /* 0123456789 123456789 123 */
-
- memset(result, 0, sizeof(result)); /* "Thu, 26 Jun 2001" */
- /* 0123456789 12345 */
-
- strncpy(result, str, 20);
- strcpy(result+20, "???"); /* tzname doesn't work, fake it */
- strncpy(result+23, str+19, 5);
-
- /* Ok, now result contains the string I want to send back. */
- valuePush(ctxt, xmlXPathNewString((xmlChar *)result));
-}
-#endif
-#endif /* linux or sun */
-
-
/**
* xsltRegisterExtras:
* @ctxt: a XSLT process context
@@ -304,11 +173,6 @@ xsltRegisterAllExtras (void) {
xsltRegisterExtModuleFunction((const xmlChar *) "node-set",
XSLT_XT_NAMESPACE,
xsltFunctionNodeSet);
-#ifdef WITH_LOCALTIME
- xsltRegisterExtModuleFunction((const xmlChar *) "localTime",
- XSLT_NORM_SAXON_NAMESPACE,
- xsltFunctionLocalTime);
-#endif
xsltRegisterExtModuleElement((const xmlChar *) "debug",
XSLT_LIBXSLT_NAMESPACE,
NULL,
« no previous file with comments | « third_party/libxslt/libxslt/extra.h ('k') | third_party/libxslt/libxslt/functions.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698