#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>

static const char defshells[] = "/bin/sh\n/bin/csh\n";

static char* line;
static size_t linesize;
static FILE* f;

void endusershell(void) {
  if (f)
    fclose(f);
  f = 0;
}

void setusershell(void) {
  if (!f)
    f = fopen("/etc/shells", "rbe");
  if (!f)
    f = fmemopen((void*)defshells, sizeof defshells - 1, "rb");
}

char* getusershell(void) {
  ssize_t l;
  if (!f)
    setusershell();
  if (!f)
    return 0;
  l = getline(&line, &linesize, f);
  if (l <= 0)
    return 0;
  if (line[l - 1] == '\n')
    line[l - 1] = 0;
  return line;
}
