* the start of the next line. If we run out of data, return a pointer to the
* end of the string. If we encounter an error, return NULL.
*
- * NOTE: We modify <b>line</b> as we parse it, by inserting NULs to terminate
- * the key and value.
+ * NOTE: We modify *<b>line</b> as we parse it, by inserting NULs
+ * to terminate the key and value.
*/
char *
parse_line_from_str(char *line, char **key_out, char **value_out)
while (*line && !TOR_ISSPACE(*line) && *line != '#')
++line;
- /* Skip until the value */
+ /* Skip until the value, writing nuls so key will be nul-terminated */
while (*line == ' ' || *line == '\t')
*line++ = '\0';
+
val = line;
/* Find the end of the line. */