- sprintf( pattern, "%s=([^ \n]*)", name);
- regcomp(&pat_cmdline, pattern, REG_EXTENDED);
- if (!regexec(&pat_cmdline, line, 2, matches, 0)) {
- line[matches[1].rm_eo] = '\0';
- tty = (line + matches[1].rm_so);
- strncpy(out, tty, len);
- tty[len-1] = '\0';
- res = out;
- }
+ line[r] = 0;
+
+ for (c = strtok_r(line, " \t\n", &sptr); c;
+ c = strtok_r(NULL, " \t\n", &sptr)) {
+ char *sep = strchr(c, '=');
+ ssize_t klen = sep - c;
+ if (klen < 0 || strncmp(name, c, klen) || name[klen] != 0)
+ continue;