Невозможно найти исходный код для функции xv6 - PullRequest
0 голосов
/ 16 января 2020

В настоящее время я изучаю исходный код xv6 и нашел эту строку в коде функции getcmd (буклет: строка 8688):

gets(buf, nbuf);

Я попытался найти источник для получения функции в буклете (https://pdos.csail.mit.edu/6.828/2018/xv6/xv6-rev11.pdf) и в официальном репо (https://github.com/mit-pdos/xv6-public), но сделать это не удалось. Можете ли вы дать мне ссылку или объяснить, почему нет источника для функции получает?

1 Ответ

1 голос
/ 16 января 2020

Регистрация в ulib. c файле в том же репо. Он определяется как

char*
gets(char *buf, int max)
{
  int i, cc;
  char c;

  for(i=0; i+1 < max; ){
    cc = read(0, &c, 1);
    if(cc < 1)
      break;
    buf[i++] = c;
    if(c == '\n' || c == '\r')
      break;
  }
  buf[i] = '\0';
  return buf;
}
...