Context Navigation


Changeset 449


Ignore:
Timestamp:
Jul 22, 2020, 12:28:25 PM (5 years ago)
Author:
coas-nagasima
Message:

fdとidの扱いが間違っているのを修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/ntshell/src/stdio_stub.c

    r442 r449
    380380}
    381381
    382static void serial_rx_irq_handler(int fd)
    383{
    384 struct SHELL_FILE *fp = fd_to_fp(fd);
    382static void serial_rx_irq_handler(struct SHELL_FILE *fp)
    383{
    385384 stdio_sio_t *uart = (stdio_sio_t *)((struct ntstdio_t *)fp->exinf)->exinf;
    386385 serial_t *serial = (serial_t *)&uart->serial;
    389388 unsigned char c = (unsigned char)serial_getc(serial);
    390389
    391 if (f(削除) (削除ここまで)d != STDIN_FILENO) {
    390 if (f(追記) p->f (追記ここまで)d != STDIN_FILENO) {
    392391 ER ret;
    393392 FLGPTN flgptn = 0;
    399398 if (fp->readevt_w == fp->readevt_r) fp->readevt_w++;
    400399
    401 FD_SET(f(削除) (削除ここまで)d, (fd_set *)&flgptn);
    400 FD_SET(f(追記) p->f (追記ここまで)d, (fd_set *)&flgptn);
    402401
    403402 ret = set_flg(FLG_SELECT_WAIT, flgptn);
    475474}
    476475
    477static void serial_tx_irq_handler(int fd)
    478{
    479 struct SHELL_FILE *fp = fd_to_fp(fd);
    476static void serial_tx_irq_handler(struct SHELL_FILE *fp)
    477{
    480478 stdio_sio_t *uart = (stdio_sio_t *)((struct ntstdio_t *)fp->exinf)->exinf;
    481479 serial_t *serial = (serial_t *)&uart->serial;
    486484
    487485 FLGPTN flgptn = 0;
    488 FD_SET(f(削除) (削除ここまで)d, (fd_set *)&flgptn);
    486 FD_SET(f(追記) p->f (追記ここまで)d, (fd_set *)&flgptn);
    489487
    490488 ret = set_flg(FLG_SELECT_WAIT, flgptn);
    517515 switch (event) {
    518516 case RxIrq:
    519 serial_rx_irq_handler((削除) STDIN_FILENO (削除ここまで));
    517 serial_rx_irq_handler((追記) fd_to_fp(STDIN_FILENO) (追記ここまで));
    520518 break;
    521519 case TxIrq:
    522 serial_tx_irq_handler((削除) STDOUT_FILENO (削除ここまで));
    520 serial_tx_irq_handler((追記) fd_to_fp(STDOUT_FILENO) (追記ここまで));
    523521 break;
    524522 }
    527525void sio_serial_irq_handler(uint32_t id, SerialIrq event)
    528526{
    529 struct SHELL_FILE *fp = (削除) fd_to_fp( (削除ここまで)id);
    530 if ((削除) (fp == NULL) || (fp->type != &IO_TYPE_SIO) (削除ここまで))
    527 struct SHELL_FILE *fp = (追記) id_to_fd(&IO_TYPE_SIO, (追記ここまで)id);
    528 if ((追記) fp == NULL (追記ここまで))
    531529 return;
    532530
    533531 switch (event) {
    534532 case RxIrq:
    535 serial_rx_irq_handler((削除) id (削除ここまで));
    533 serial_rx_irq_handler((追記) fp (追記ここまで));
    536534 break;
    537535 case TxIrq:
    538 serial_tx_irq_handler((削除) id (削除ここまで));
    536 serial_tx_irq_handler((追記) fp (追記ここまで));
    539537 break;
    540538 }
Note: See TracChangeset for help on using the changeset viewer.

AltStyle によって変換されたページ (->オリジナル) /