From f03042a2b7289e7e31dfbd0a8a80c08d548cee11 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Fri, 8 Aug 2025 15:45:23 +0200 Subject: [PATCH] dix: fix int mismatches related to MakeAtom() Signed-off-by: Enrico Weigelt, metux IT consult --- dix/atom.c | 6 +++--- dix/dix_priv.h | 4 ++-- randr/rrmonitor.c | 2 +- xkb/xkmread.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dix/atom.c b/dix/atom.c index 2210b167ed..9a6fd73c29 100644 --- a/dix/atom.c +++ b/dix/atom.c @@ -81,8 +81,8 @@ MakeAtom(const char *string, unsigned len, Bool makeit) np = &atomRoot; for (unsigned int i = 0; i < (len + 1) / 2; i++) { - fp = fp * 27 + string[i]; - fp = fp * 27 + string[len - 1 - i]; + fp = fp * 27 + (unsigned int)string[i]; + fp = fp * 27 + (unsigned int)string[len - 1 - i]; } while (*np != NULL) { if (fp < (*np)->fingerPrint) @@ -90,7 +90,7 @@ MakeAtom(const char *string, unsigned len, Bool makeit) else if (fp > (*np)->fingerPrint) np = &((*np)->right); else { /* now start testing the strings */ - comp = strncmp(string, (*np)->string, (int) len); + comp = strncmp(string, (*np)->string, len); if ((comp < 0) || ((comp == 0) && (len < strlen((*np)->string)))) np = &((*np)->left); else if (comp > 0) diff --git a/dix/dix_priv.h b/dix/dix_priv.h index 5be93faa8b..13422298e1 100644 --- a/dix/dix_priv.h +++ b/dix/dix_priv.h @@ -720,7 +720,7 @@ static inline int WriteRpcbufToClient(ClientPtr pClient, * @return atom ID */ static inline Atom dixAddAtom(const char *name) { - return MakeAtom(name, strlen(name), TRUE); + return MakeAtom(name, (unsigned int)strlen(name), TRUE); } /* @@ -732,7 +732,7 @@ static inline Atom dixAddAtom(const char *name) { * @return atom ID */ static inline Atom dixGetAtomID(const char *name) { - return MakeAtom(name, strlen(name), FALSE); + return MakeAtom(name, (unsigned int)strlen(name), FALSE); } #endif /* _XSERVER_DIX_PRIV_H */ diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c index 585ed6465f..8f64a43359 100644 --- a/randr/rrmonitor.c +++ b/randr/rrmonitor.c @@ -34,7 +34,7 @@ RRMonitorCrtcName(RRCrtcPtr crtc) if (crtc->numOutputs) { RROutputPtr output = crtc->outputs[0]; - return MakeAtom(output->name, output->nameLength, TRUE); + return MakeAtom(output->name, (unsigned int)output->nameLength, TRUE); } sprintf(name, "Monitor-%08lx", (unsigned long int)crtc->id); return dixAddAtom(name); diff --git a/xkb/xkmread.c b/xkb/xkmread.c index 932a41fc40..fa8bae8a5f 100644 --- a/xkb/xkmread.c +++ b/xkb/xkmread.c @@ -49,7 +49,7 @@ XkbInternAtom(char *str, Bool only_if_exists) { if (str == NULL) return None; - return MakeAtom(str, strlen(str), !only_if_exists); + return MakeAtom(str, (unsigned int)strlen(str), !only_if_exists); } /***====================================================================***/