driver.c
changeset 5170 817550aa5a5f
parent 2902 b13a5f9396f6
child 5305 fab86bb654da
equal deleted inserted replaced
5169:cd4113ed34f7 5170:817550aa5a5f
   204 	const char* p = GetDriverParam(parm, name);
   204 	const char* p = GetDriverParam(parm, name);
   205 	return p != NULL ? atoi(p) : def;
   205 	return p != NULL ? atoi(p) : def;
   206 }
   206 }
   207 
   207 
   208 
   208 
   209 char *GetDriverList(char* p)
   209 char *GetDriverList(char* p, const char *last)
   210 {
   210 {
   211 	const DriverClass* dc;
   211 	const DriverClass* dc;
   212 
   212 
   213 	for (dc = _driver_classes; dc != endof(_driver_classes); dc++) {
   213 	for (dc = _driver_classes; dc != endof(_driver_classes); dc++) {
   214 		const DriverDesc* dd;
   214 		const DriverDesc* dd;
   215 
   215 
   216 		p += sprintf(p, "List of %s drivers:\n", dc->name);
   216 		p += snprintf(p, last - p, "List of %s drivers:\n", dc->name);
   217 		for (dd = dc->descs; dd->name != NULL; dd++) {
   217 		for (dd = dc->descs; dd->name != NULL; dd++) {
   218 			p += sprintf(p, "%10s: %s\n", dd->name, dd->longname);
   218 			p += snprintf(p, last - p, "%10s: %s\n", dd->name, dd->longname);
   219 		}
   219 		}
   220 		p += sprintf(p, "\n");
   220 		p = strecpy(p, "\n", last);
   221 	}
   221 	}
   222 
   222 
   223 	return p;
   223 	return p;
   224 }
   224 }