| … | |
… | |
| 334 | if (! token) |
334 | if (! token) |
| 335 | continue; |
335 | continue; |
| 336 | |
336 | |
| 337 | entry = rc_xstrdup (token); |
337 | entry = rc_xstrdup (token); |
| 338 | |
338 | |
|
|
339 | /* Preserve shell coloring */ |
|
|
340 | if (*p == '$') |
|
|
341 | token = p; |
|
|
342 | else |
| 339 | do { |
343 | do { |
| 340 | /* Bash variables are usually quoted */ |
344 | /* Bash variables are usually quoted */ |
| 341 | token = strsep (&p, "\"\'"); |
345 | token = strsep (&p, "\"\'"); |
| 342 | } while ((token) && (strlen (token) == 0)); |
346 | } while ((token) && (strlen (token) == 0)); |
| 343 | |
347 | |
| 344 | /* Drop a newline if that's all we have */ |
348 | /* Drop a newline if that's all we have */ |
| 345 | i = strlen (token) - 1; |
349 | i = strlen (token) - 1; |
| 346 | if (token[i] == 10) |
350 | if (token[i] == 10) |
| 347 | token[i] = 0; |
351 | token[i] = 0; |