]> granicus.if.org Git - clang/commitdiff
Printf argument checking now supports dynamically-passed precision
authorTed Kremenek <kremenek@apple.com>
Fri, 12 Oct 2007 00:11:27 +0000 (00:11 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 12 Oct 2007 00:11:27 +0000 (00:11 +0000)
specifiers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42886 91177308-0d34-0410-b5e6-96231b3b80d8

Sema/SemaChecking.cpp

index 863882ec98609fda45c30b9732bdbce994bd0973..ea63b7dc1ca065f3c1c0e53e4b201a79e46f9f32 100644 (file)
@@ -282,11 +282,16 @@ Sema::CheckPrintfArguments(Expr *Fn,
 
     // Seen '%'.  Now processing a format conversion.
     switch (Str[StrIdx]) {
+        // Handle dynamic precision specifier.     
+      case '*':
+        if (Str[StrIdx-1] == '.') ++numConversions;          
+        break;
+        
       // Characters which can terminate a format conversion
       // (e.g. "%d").  Characters that specify length modifiers or
       // other flags are handled by the default case below.
       //
-      // TODO: additional checks will go into the following cases.
+      // FIXME: additional checks will go into the following cases.                
       case 'i':
       case 'd':
       case 'o':