# dmd.dinifile

Parses compiler settings from a .ini file.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: dinifile.d

Documentation: https://dlang.org/phobos/dmd_dinifile.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dinifile.d

- `findConfFile`

  #### Declaration

  `const(char)[] `findConfFile`(const(char)[] `argv0`, const(char)[] `inifile`);`

  Find the config file

  #### Parameters

  `const(char)[] `argv0`` | program name (argv[0])
  `const(char)[] `inifile`` | .ini file name

  #### Return Value

  file path of the config file or NULL

  Note: this is a memory leak

- `readFromEnv`

  #### Declaration

  `const(char)* `readFromEnv`(ref const StringTable!(char*) `environment`, const(char)* `name`);`

  Read from `environment`, looking for cached value first.

  #### Parameters

  `StringTable!(char*) `environment`` | cached copy of the `environment`
  `const(char)* `name`` | `name` to look for

  #### Return Value

  `environment` value corresponding to `name`

- `updateRealEnvironment`

  #### Declaration

  `void `updateRealEnvironment`(ref StringTable!(char*) `environment`);`

  Update real `environment` with our copy.

  #### Parameters

  `StringTable!(char*) `environment`` | our copy of the `environment`

- `parseConfFile`

  #### Declaration

  `void `parseConfFile`(ref StringTable!(char*) `environment`, const(char)[] `filename`, const(char)[] `path`, const(ubyte)[] `buffer`, const(Strings)* `sections`);`

  Read and analyze .ini file. Write the entries into `environment` as well as any entries in one of the specified section(s).

  #### Parameters

  `StringTable!(char*) `environment`` | our own cache of the program `environment`
  `const(char)[] `filename`` | name of the file being parsed
  `const(char)[] `path`` | what @P will expand to
  `const(ubyte)[] `buffer`` | contents of configuration file
  `const(Strings)* `sections`` | section names