Lines Matching refs:element

581 			// this counts for the next element
587 // this counts for the next element
703 computeRelativeUnit(parsed_element& element, struct tm& tm, int* _flags)
707 switch (element.unit) {
721 if ((element.flags & FLAG_RELATIVE) != 0) {
722 bigtime_t value = element.value;
723 if (element.modifier == MODIFY_MINUS)
724 value = -element.value;
726 if (element.unit == UNIT_MONTH)
728 else if (element.unit == UNIT_DAY)
730 else if (element.unit == UNIT_SECOND) {
733 } else if (element.unit == UNIT_YEAR)
735 } else if (element.base_type == TYPE_WEEKDAY) {
736 tm.tm_mday += element.value - tm.tm_wday;
738 if (element.modifier == MODIFY_NEXT)
740 else if (element.modifier == MODIFY_LAST)
742 } else if (element.base_type == TYPE_MONTH) {
743 tm.tm_mon = element.value - 1;
745 if (element.modifier == MODIFY_NEXT)
747 else if (element.modifier == MODIFY_LAST)
763 parsed_element* element = elements;
784 while (element->type != TYPE_END) {
800 switch (element->value_type) {
808 tm.tm_mday = element->value;
811 tm.tm_mon = element->value - 1;
815 tm.tm_hour = element->value;
818 tm.tm_min = element->value;
821 tm.tm_sec = element->value;
834 tm.tm_year = element->value;
854 = (element->value - element->value % 100) * 36
855 + (element->value % 100) * 60;
856 if (element->modifier == MODIFY_MINUS)
862 computeRelativeUnit(*element, tm, _flags);
865 // there is no TYPE_DASH element for this (just a flag)
875 // we'll apply this element later, if still necessary
877 computeRelativeUnit(*element, tm, _flags);
881 tm.tm_mon = element->value - 1;
884 tm.tm_sec += element->value;
888 tm.tm_sec -= element->value + timezone;
891 if ((element->flags & FLAG_NOW) != 0) {
897 computeRelativeUnit(*element, tm, _flags);
903 // format matched at this point, check next element
909 element++;
953 parsed_element* element = elements;
954 while (element->type != TYPE_END) {
965 switch (element->value_type) {
969 switch (element->type) {
993 if (element->type == TYPE_UNIT && format[0] != 'T')
998 if (element->value > 31)
1004 if (element->value > 12)
1011 if (element->value > 24)
1017 if (element->value > 59)
1023 if (element->value > 59)
1036 if ((element->modifier != MODIFY_MINUS
1037 && element->modifier != MODIFY_PLUS)
1038 || element->value > 2399)
1045 if ((element->flags & FLAG_HAS_DASH) != 0) {
1046 element--; // consider this element again
1059 if (element->type != TYPE_WEEKDAY)
1064 if (element->type != TYPE_MONTH)
1070 if (element->type != TYPE_MERIDIAN)
1075 if (element->type != TYPE_TIME_ZONE)
1079 if (element->type != TYPE_UNIT)
1090 // format matched at this point, check next element
1095 element++;
1099 // format didn't match element - let's see if the current
1111 // element)