parseStringMap parses semicolon-separated key=value pairs and returns a map. Empty entries are skipped.
(env string)
| 210 | // parseStringMap parses semicolon-separated key=value pairs and returns a map. |
| 211 | // Empty entries are skipped. |
| 212 | func parseStringMap(env string) (map[string]string, error) { |
| 213 | result := make(map[string]string) |
| 214 | keyvalues := strings.SplitSeq(env, ";") |
| 215 | |
| 216 | for kv := range keyvalues { |
| 217 | kv = strings.TrimSpace(kv) |
| 218 | if len(kv) == 0 { |
| 219 | continue |
| 220 | } |
| 221 | |
| 222 | parts := strings.SplitN(kv, "=", 2) |
| 223 | if len(parts) != 2 { |
| 224 | return nil, fmt.Errorf("invalid key/value: %s", kv) |
| 225 | } |
| 226 | result[parts[0]] = parts[1] |
| 227 | } |
| 228 | |
| 229 | return result, nil |
| 230 | } |
| 231 | |
| 232 | // RegexpFromPattern creates a regexp from a wildcard pattern. |
| 233 | // Converts shell-style wildcards to regexp patterns. |