mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
date_parse.c: trim off
* ext/date/date_parse.c (date_zone_to_diff): trim off by zone name length.
This commit is contained in:
parent
d96feee37c
commit
3fc10eff1e
3 changed files with 10 additions and 13 deletions
|
@ -438,13 +438,13 @@ date_zone_to_diff(VALUE str)
|
|||
}
|
||||
{
|
||||
long sl = shrunk_size(s, l);
|
||||
if (sl) {
|
||||
if (sl > 0 && sl <= MAX_WORD_LENGTH) {
|
||||
char *d = ALLOCV_N(char, vbuf, sl);
|
||||
l = shrink_space(d, s, l);
|
||||
s = d;
|
||||
}
|
||||
}
|
||||
{
|
||||
if (l > 0 && l <= MAX_WORD_LENGTH) {
|
||||
const struct zone *z = zonetab(s, (unsigned int)l);
|
||||
if (z) {
|
||||
int d = z->offset;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.SUFFIXES: .list
|
||||
|
||||
.list.h:
|
||||
gperf --ignore-case -E -C -c -P -p -j1 -i 1 -g -o -t -N $(*F) $< \
|
||||
gperf --ignore-case -C -c -P -p -j1 -i 1 -g -o -t -N $(*F) $< \
|
||||
| sed -f $(top_srcdir)/tool/gperf.sed \
|
||||
> $(@F)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf --ignore-case -E -C -c -P -p -j1 -i 1 -g -o -t -N zonetab zonetab.list */
|
||||
/* Command-line: gperf --ignore-case -C -c -P -p -j1 -i 1 -g -o -t -N zonetab zonetab.list */
|
||||
/* Computed positions: -k'1-4,$' */
|
||||
|
||||
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
|
||||
|
@ -39,6 +39,12 @@ struct zone {
|
|||
static const struct zone *zonetab();
|
||||
#line 9 "zonetab.list"
|
||||
struct zone;
|
||||
|
||||
#define TOTAL_KEYWORDS 170
|
||||
#define MIN_WORD_LENGTH 1
|
||||
#define MAX_WORD_LENGTH 17
|
||||
#define MIN_HASH_VALUE 5
|
||||
#define MAX_HASH_VALUE 438
|
||||
/* maximum key range = 434, duplicates = 0 */
|
||||
|
||||
#ifndef GPERF_DOWNCASE
|
||||
|
@ -495,15 +501,6 @@ static const struct stringpool_t stringpool_contents =
|
|||
const struct zone *
|
||||
zonetab (register const char *str, register size_t len)
|
||||
{
|
||||
enum
|
||||
{
|
||||
TOTAL_KEYWORDS = 170,
|
||||
MIN_WORD_LENGTH = 1,
|
||||
MAX_WORD_LENGTH = 17,
|
||||
MIN_HASH_VALUE = 5,
|
||||
MAX_HASH_VALUE = 438
|
||||
};
|
||||
|
||||
static const struct zone wordlist[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1},
|
||||
|
|
Loading…
Add table
Reference in a new issue