Lines Matching defs:elements

547 preparseDate(const char* dateString, parsed_element* elements)
555 memset(&elements[0], 0, sizeof(parsed_element));
564 // if we're reached our maximum number of elements, bail out
569 elements[index].SetCharType(TYPE_COMMA);
571 elements[index].SetCharType(TYPE_DOT);
574 elements[index].SetCharType(TYPE_DASH);
576 elements[index].SetCharType(TYPE_COLON);
584 elements[index].flags = FLAG_HAS_DASH;
591 elements[index].type = TYPE_UNKNOWN;
592 elements[index].value_type = VALUE_NUMERICAL;
593 elements[index].value = atoll(dateString);
594 elements[index].modifier = modify;
603 const char* validSuffix = elements[index].value > 3
604 ? "th" : suffixes[elements[index].value];
642 if (elements[--index].value_type != VALUE_NUMERICAL
643 && !elements[index].IsNextLastThis())
646 elements[index].AdoptUnit(*identifier);
647 } else if (index > 0 && elements[index - 1].IsNextLastThis()) {
652 switch (elements[index].value) {
654 elements[index].modifier = MODIFY_LAST;
657 elements[index].modifier = MODIFY_THIS;
660 elements[index].modifier = MODIFY_NEXT;
663 elements[index].Adopt(*identifier);
664 elements[index].type = TYPE_UNIT;
668 elements[index].Adopt(*identifier);
675 && elements[index - 1].type == TYPE_MODIFIER
676 && (elements[index].flags & FLAG_NOT_MODIFIABLE) == 0) {
678 elements[index].modifier = elements[index - 1].modifier;
679 elements[index].value *= elements[index - 1].value;
680 elements[index].flags |= elements[index - 1].flags;
681 elements[index - 1] = elements[index];
688 memset(&elements[index], 0, sizeof(parsed_element));
691 // were there any elements?
695 elements[index].type = TYPE_END;
753 parsed elements and calculates the time value with respect to "now".
757 computeDate(const char* format, bool* optional, parsed_element* elements,
762 parsed_element* element = elements;
923 parsed_element elements[MAX_ELEMENTS];
925 if (preparseDate(dateString, elements) < B_OK) {
932 for (int32 index = 0; elements[index].type != TYPE_END; index++) {
933 parsed_element e = elements[index];
952 parsed_element* element = elements;
1119 return computeDate(sFormatsTable[index], optional, elements, now,