getgrnam method

group? getgrnam(
  1. String name
)

Search the group database for a name. Note: This is a structural mock mapped to current process environment.

Implementation

group? getgrnam(String name) {
  try {
    if (name == 'root') {
      final gr = group();
      gr.gr_name = 'root';
      gr.gr_gid = 0;
      gr.gr_mem = ['root'];
      return gr;
    }

    final user = stdlibGetenv('USER') ?? stdlibGetenv('USERNAME') ?? 'user';
    if (name == user || name == 'users') {
      final gr = group();
      gr.gr_name = name;
      gr.gr_gid = 1000;
      gr.gr_mem = [user];
      return gr;
    }
    return null;
  } catch (_) {
    return null;
  }
}