Print this page
12826 update to smatch 0.6.1-rc1-il-6

*** 13,22 **** --- 13,24 ---- * * You should have received a copy of the GNU General Public License * along with this program; if not, see http://www.gnu.org/copyleft/gpl.txt */ + #define _GNU_SOURCE + #include <assert.h> #include <ctype.h> #include <string.h> #include "smatch.h" #include "smatch_slist.h"
*** 205,215 **** spec->type = FORMAT_TYPE_CHAR; return ++fmt - start; case 's': ! if (qualifier) sm_warning("qualifier '%c' ignored for %%s specifier", qualifier); spec->type = FORMAT_TYPE_STR; return ++fmt - start; --- 207,217 ---- spec->type = FORMAT_TYPE_CHAR; return ++fmt - start; case 's': ! if (qualifier && qualifier != 'l') sm_warning("qualifier '%c' ignored for %%s specifier", qualifier); spec->type = FORMAT_TYPE_STR; return ++fmt - start;
*** 670,679 **** --- 672,687 ---- if (!is_ptr_type(type)) { sm_error("%%p expects pointer argument, but argument %d has type '%s'", vaidx, type_to_str(type)); return; } + + /* error pointers */ + if (*fmt == 'e') + fmt++; + + /* Just plain %p, nothing to check. */ if (!isalnum(*fmt)) return; basetype = get_real_base_type(type);