Lines Matching refs:elements

548 preparseDate(const char* dateString, parsed_element* elements)
556 memset(&elements[0], 0, sizeof(parsed_element));
565 // if we're reached our maximum number of elements, bail out
570 elements[index].SetCharType(TYPE_COMMA);
572 elements[index].SetCharType(TYPE_DOT);
575 elements[index].SetCharType(TYPE_DASH);
577 elements[index].SetCharType(TYPE_COLON);
585 elements[index].flags = FLAG_HAS_DASH;
592 elements[index].type = TYPE_UNKNOWN;
593 elements[index].value_type = VALUE_NUMERICAL;
594 elements[index].value = atoll(dateString);
595 elements[index].modifier = modify;
604 const char* validSuffix = elements[index].value > 3
605 ? "th" : suffixes[elements[index].value];
643 if (elements[--index].value_type != VALUE_NUMERICAL
644 && !elements[index].IsNextLastThis())
647 elements[index].AdoptUnit(*identifier);
648 } else if (index > 0 && elements[index - 1].IsNextLastThis()) {
653 switch (elements[index].value) {
655 elements[index].modifier = MODIFY_LAST;
658 elements[index].modifier = MODIFY_THIS;
661 elements[index].modifier = MODIFY_NEXT;
664 elements[index].Adopt(*identifier);
665 elements[index].type = TYPE_UNIT;
669 elements[index].Adopt(*identifier);
676 && elements[index - 1].type == TYPE_MODIFIER
677 && (elements[index].flags & FLAG_NOT_MODIFIABLE) == 0) {
679 elements[index].modifier = elements[index - 1].modifier;
680 elements[index].value *= elements[index - 1].value;
681 elements[index].flags |= elements[index - 1].flags;
682 elements[index - 1] = elements[index];
689 memset(&elements[index], 0, sizeof(parsed_element));
692 // were there any elements?
696 elements[index].type = TYPE_END;
754 parsed elements and calculates the time value with respect to "now".
758 computeDate(const char* format, bool* optional, parsed_element* elements,
763 parsed_element* element = elements;
924 parsed_element elements[MAX_ELEMENTS];
926 if (preparseDate(dateString, elements) < B_OK) {
933 for (int32 index = 0; elements[index].type != TYPE_END; index++) {
934 parsed_element e = elements[index];
953 parsed_element* element = elements;
1125 return computeDate(sFormatsTable[index], optional, elements, now,