subject_check(const char *pattern, const char *subject) {
    for (; '\0' != *pattern && '\0' != *subject; subject++) {
	if (*subject == *pattern) {
	    pattern++;
	} else if ('*' == *pattern) {
	    for (; '\0' != *subject && '.' != *subject; subject++) {
	    }
	    if ('\0' == *subject) {
		return true;
	    }
	    pattern++;
	} else if ('>' == *pattern) {
	    return true;
	} else {
	    break;
	}
    }
    return '\0' == *pattern && '\0' == *subject;
}
subject_check(const char *pattern, const char *subject) {
    for (; '\0' != *pattern && '\0' != *subject; subject++) {
	if (*subject == *pattern) {
	    pattern++;
	} else if ('*' == *pattern) {
	    for (; '\0' != *subject && '.' != *subject; subject++) {
	    }
	    if ('\0' == *subject) {
		return true;
	    }
	    pattern++;
	} else if ('>' == *pattern) {
	    return true;
	} else {
	    break;
	}
    }
    return '\0' == *pattern && '\0' == *subject;
}