44 if (parm == NULL)
return NULL;
47 for (; *parm != NULL; parm++) {
48 const char *p = *parm;
50 if (strncmp(p, name, len) == 0) {
51 if (p[len] ==
'=')
return p + len + 1;
52 if (p[len] ==
'\0')
return p + len;
79 return p != NULL ? atoi(p) : def;
116 if (d->
type != type)
continue;
123 const char *err = newd->
Start(NULL);
139 const char *parms[32];
143 parm = strchr(buffer,
':');
150 if (np <
lengthof(parms) - 1) parms[np++] = parm;
151 while (*parm !=
'\0' && *parm !=
',') parm++;
152 }
while (*parm ==
',');
162 if (d->
type != type)
continue;
165 if (strcasecmp(buffer, d->
name) != 0)
continue;
170 const char *err = newd->
Start(parms);
173 usererror(
"Unable to load driver '%s'. The error was: %s", d->
name, err);
220 type(type), priority(priority), name(name), description(description)
227 const char *longname =
stredup(buf);
229 std::pair<Drivers::iterator, bool> P =
GetDrivers().insert(Drivers::value_type(longname,
this));
243 Drivers::iterator it =
GetDrivers().find(buf);
246 const char *longname = (*it).first;