Subject: bug#74971: closed (Re: bug#74971: [PATCH] Fix format specifier warnings in nsterm.m)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 26 Dec 2024 15:15:03 +0000

Your bug report

#74971: [PATCH] Fix format specifier warnings in nsterm.m

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
74971: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74971
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#74971: [PATCH] Fix format specifier warnings in nsterm.m
From: Stefan Kangas <[email-masked]>
To: Gerd Möllmann <[email-masked]>, Eli Zaretskii <[email-masked]>
Cc: Charalampos Mitrodimas <[email-masked]>, [email-masked]
Date: Thu, 26 Dec 2024 15:13:08 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 31.1

Gerd Möllmann <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>> Stefan and Gerd, would you please review this and advise or install?
>
> LGTM. Apparently clang 19 became more picky.

Thanks, installed on master as commit ab388851569.  Closing.

Subject: [PATCH] Fix format specifier warnings in nsterm.m
From: Charalampos Mitrodimas <[email-masked]>
To: [email-masked]
Cc: Charalampos Mitrodimas <[email-masked]>
Date: Thu, 19 Dec 2024 13:28:05 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Resolve warnings caused by mismatched format specifiers in `NSLog` and
`fprintf` calls.

This was observed when compiled with Clang version
19.1.6 (arm64-apple-darwin).

* src/nsterm.m: Cast `IOReturn` (aka `int`) to `unsigned int` for `%x`
  format specifiers in `NSLog`.

Warnings fixed:
- "format specifies type 'unsigned int' but the argument has type
  'IOReturn' (aka 'int')"
---
 src/nsterm.m | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index c705a3c78f4..5793bb961e8 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6955,8 +6955,12 @@ In that case we use UCKeyTranslate (ns_get_shifted_character)
 
 #ifndef NS_IMPL_GNUSTEP
       if (NS_KEYLOG)
-        fprintf (stderr, "keyDown: code =%x\tfnKey =%x\tflags = %x\tmods = %x\n",
-                 code, fnKeysym, flags, emacs_event->modifiers);
+	fprintf (stderr,
+		 "keyDown: code = %x\tfnKey = %x\tflags = %x\tmods = "
+		 "%x\n",
+		 (unsigned int) code, (unsigned int) fnKeysym,
+		 (unsigned int) flags,
+		 (unsigned int) emacs_event->modifiers);
 #endif
 
       /* If it was a function key or had control-like modifiers, pass
@@ -10761,7 +10765,7 @@ - (CGContextRef) getContext
 
       IOReturn lockStatus = IOSurfaceLock (surface, 0, nil);
       if (lockStatus != kIOReturnSuccess)
-        NSLog (@"Failed to lock surface: %x", lockStatus);
+        NSLog (@"Failed to lock surface: %x", (unsigned int)lockStatus);
 
       [self copyContentsTo:surface];
 
@@ -10808,7 +10812,7 @@ - (void) releaseContext
 
   IOReturn lockStatus = IOSurfaceUnlock (currentSurface, 0, nil);
   if (lockStatus != kIOReturnSuccess)
-    NSLog (@"Failed to unlock surface: %x", lockStatus);
+    NSLog (@"Failed to unlock surface: %x", (unsigned int)lockStatus);
 }

@@ -10849,7 +10853,8 @@ - (void) copyContentsTo: (IOSurfaceRef) destination
 
   lockStatus = IOSurfaceLock (source, kIOSurfaceLockReadOnly, nil);
   if (lockStatus != kIOReturnSuccess)
-    NSLog (@"Failed to lock source surface: %x", lockStatus);
+    NSLog (@"Failed to lock source surface: %x",
+	   (unsigned int) lockStatus);
 
   sourceData = IOSurfaceGetBaseAddress (source);
   destinationData = IOSurfaceGetBaseAddress (destination);
@@ -10861,7 +10866,7 @@ - (void) copyContentsTo: (IOSurfaceRef) destination
 
   lockStatus = IOSurfaceUnlock (source, kIOSurfaceLockReadOnly, nil);
   if (lockStatus != kIOReturnSuccess)
-    NSLog (@"Failed to unlock source surface: %x", lockStatus);
+    NSLog (@"Failed to unlock source surface: %x", (unsigned int)lockStatus);
 }
 
 #undef CACHE_MAX_SIZE
-- 
2.47.1