xfree86: add xf86OptionListDuplicate()
Does what it says on the box. Some drivers need to duplicate option lists from the original device to ensure that devices created by the driver (driver-internal hotplugging) have the same list of options as the original device. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
This commit is contained in:
parent
9dca441670
commit
693e92d404
|
@ -84,6 +84,7 @@ extern _X_EXPORT pointer xf86NewOption(char *name, char *value );
|
||||||
extern _X_EXPORT pointer xf86NextOption(pointer list );
|
extern _X_EXPORT pointer xf86NextOption(pointer list );
|
||||||
extern _X_EXPORT pointer xf86OptionListCreate(const char **options, int count, int used);
|
extern _X_EXPORT pointer xf86OptionListCreate(const char **options, int count, int used);
|
||||||
extern _X_EXPORT pointer xf86OptionListMerge(pointer head, pointer tail);
|
extern _X_EXPORT pointer xf86OptionListMerge(pointer head, pointer tail);
|
||||||
|
extern _X_EXPORT pointer xf86OptionListDuplicate(pointer list);
|
||||||
extern _X_EXPORT void xf86OptionListFree(pointer opt);
|
extern _X_EXPORT void xf86OptionListFree(pointer opt);
|
||||||
extern _X_EXPORT char *xf86OptionName(pointer opt);
|
extern _X_EXPORT char *xf86OptionName(pointer opt);
|
||||||
extern _X_EXPORT char *xf86OptionValue(pointer opt);
|
extern _X_EXPORT char *xf86OptionValue(pointer opt);
|
||||||
|
|
|
@ -136,6 +136,25 @@ xf86CollectInputOptions(InputInfoPtr pInfo, const char **defaultOpts)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Duplicate the option list passed in. The returned pointer will be a newly
|
||||||
|
* allocated option list and must be freed by the caller.
|
||||||
|
*/
|
||||||
|
pointer
|
||||||
|
xf86OptionListDuplicate(pointer options)
|
||||||
|
{
|
||||||
|
pointer o = NULL;
|
||||||
|
|
||||||
|
while (options)
|
||||||
|
{
|
||||||
|
o = xf86AddNewOption(o, xf86OptionName(options), xf86OptionValue(options));
|
||||||
|
options = xf86nextOption(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Created for new XInput stuff -- essentially extensions to the parser */
|
/* Created for new XInput stuff -- essentially extensions to the parser */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in New Issue