on 15/06/2010 11:03 Kostik Belousov said the following: > On Tue, Jun 15, 2010 at 07:06:54AM +0000, Andriy Gapon wrote: >> Author: avg >> Date: Tue Jun 15 07:06:54 2010 >> New Revision: 209193 >> URL: http://svn.freebsd.org/changeset/base/209193 >> >> Log: >> sound/pcm: use non-const string as a value with SYSCTL_STRING >> >> Although the sysctls are marked with CTLFLAG_RD and the values will stay >> immutable, current sysctl implementation stores value pointer in >> void* type, which means that const qualifier is discarded anyway >> and some newer compilers complaint about that. >> We can't use de-const trick in sysctl implementation, because in that >> case we could miss an opposite situation where a const value is used >> with CTLFLAG_RW sysctl. >> >> Complaint from: gcc 4.4, clang >> MFC after: 2 weeks > This is arguably the change for worse then better.
Arguably - yes, practically - I am not sure. See almost every other instance of SYSCTL_STRING usage, kern_mib.c most prominently. > You could add SYSCTL_STRING_CONST or the like instead. But we already have CTLFLAG_RD vs CTLFLAG_RW... Perhaps, we could have a union of void* and const void* and then assign value to the appropriate member based on the flags. But I am not sure if the benefit would be worth the effort. -- Andriy Gapon _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"