コード例 #1
0
ファイル: diag_device.c プロジェクト: Julia117/embox
static size_t diag_read(void *buf, size_t size, size_t count, void *file) {
	char *ch_buf = (char *) buf;
	int n = count * size;

	if (nonblocking) {
		for (int i = 0; i < n; ++i) {
			if (!diag_kbhit()) {
				if (0 == i) {
					return -EAGAIN;
				}
				return i;
			}
			if (save_to_buf(ch_buf, diag_getc())) {
				ch_buf++;
			}
		}
	} else {
		int i = n;
		while (i--) {
			if (save_to_buf(ch_buf, diag_getc())) {
				ch_buf++;
			}
		}
	}

	return n;
}
コード例 #2
0
int race_is_car_moved(void) {
	return !diag_kbhit() && ' ' == diag_getc();
}