From c89e8df33f6d05132c39aece9246d5a7ee332a22 Mon Sep 17 00:00:00 2001 From: Christophe CURIS Date: Thu, 9 May 2013 17:34:02 +0200 Subject: [PATCH] WINGs: Added 'const' attribute to functions in wbutton, wframe, wlabel, wlist, wwindow This makes both the API and local function const-correct on their input parameters. --- WINGs/WINGs/WINGs.h | 24 ++++++++++++------------ WINGs/wbutton.c | 4 ++-- WINGs/wframe.c | 2 +- WINGs/wlabel.c | 2 +- WINGs/wlist.c | 14 ++++++++++---- WINGs/wwindow.c | 12 ++++++------ 6 files changed, 32 insertions(+), 26 deletions(-) diff --git a/WINGs/WINGs/WINGs.h b/WINGs/WINGs/WINGs.h index a8079960..ba7e536b 100644 --- a/WINGs/WINGs/WINGs.h +++ b/WINGs/WINGs/WINGs.h @@ -951,20 +951,20 @@ void WMSetBalloonEnabled(WMScreen *scr, Bool flag); /* ---[ WINGs/wwindow.c ]------------------------------------------------- */ -WMWindow* WMCreateWindow(WMScreen *screen, char *name); +WMWindow* WMCreateWindow(WMScreen *screen, const char *name); -WMWindow* WMCreateWindowWithStyle(WMScreen *screen, char *name, int style); +WMWindow* WMCreateWindowWithStyle(WMScreen *screen, const char *name, int style); -WMWindow* WMCreatePanelWithStyleForWindow(WMWindow *owner, char *name, +WMWindow* WMCreatePanelWithStyleForWindow(WMWindow *owner, const char *name, int style); -WMWindow* WMCreatePanelForWindow(WMWindow *owner, char *name); +WMWindow* WMCreatePanelForWindow(WMWindow *owner, const char *name); void WMChangePanelOwner(WMWindow *win, WMWindow *newOwner); -void WMSetWindowTitle(WMWindow *wPtr, char *title); +void WMSetWindowTitle(WMWindow *wPtr, const char *title); -void WMSetWindowMiniwindowTitle(WMWindow *win, char *title); +void WMSetWindowMiniwindowTitle(WMWindow *win, const char *title); void WMSetWindowMiniwindowImage(WMWindow *win, RImage *image); @@ -1025,9 +1025,9 @@ void WMSetButtonFont(WMButton *bPtr, WMFont *font); void WMSetButtonTextAlignment(WMButton *bPtr, WMAlignment alignment); -void WMSetButtonText(WMButton *bPtr, char *text); +void WMSetButtonText(WMButton *bPtr, const char *text); -void WMSetButtonAltText(WMButton *bPtr, char *text); +void WMSetButtonAltText(WMButton *bPtr, const char *text); void WMSetButtonTextColor(WMButton *bPtr, WMColor *color); @@ -1075,7 +1075,7 @@ void WMSetLabelTextAlignment(WMLabel *lPtr, WMAlignment alignment); void WMSetLabelRelief(WMLabel *lPtr, WMReliefType relief); -void WMSetLabelText(WMLabel *lPtr, char *text); +void WMSetLabelText(WMLabel *lPtr, const char *text); WMFont* WMGetLabelFont(WMLabel *lPtr); @@ -1091,7 +1091,7 @@ void WMSetFrameTitlePosition(WMFrame *fPtr, WMTitlePosition position); void WMSetFrameRelief(WMFrame *fPtr, WMReliefType relief); -void WMSetFrameTitle(WMFrame *fPtr, char *title); +void WMSetFrameTitle(WMFrame *fPtr, const char *title); /* ---[ WINGs/wtextfield.c ]---------------------------------------------- */ @@ -1170,13 +1170,13 @@ void WMSetListAllowEmptySelection(WMList *lPtr, Bool flag); #define WMAddListItem(lPtr, text) WMInsertListItem((lPtr), -1, (text)) -WMListItem* WMInsertListItem(WMList *lPtr, int row, char *text); +WMListItem* WMInsertListItem(WMList *lPtr, int row, const char *text); void WMSortListItems(WMList *lPtr); void WMSortListItemsWithComparer(WMList *lPtr, WMCompareDataProc *func); -int WMFindRowOfListItemWithTitle(WMList *lPtr, char *title); +int WMFindRowOfListItemWithTitle(WMList *lPtr, const char *title); WMListItem* WMGetListItem(WMList *lPtr, int row); diff --git a/WINGs/wbutton.c b/WINGs/wbutton.c index 3771684d..341bdc8f 100644 --- a/WINGs/wbutton.c +++ b/WINGs/wbutton.c @@ -309,7 +309,7 @@ void WMSetButtonTextAlignment(WMButton * bPtr, WMAlignment alignment) } } -void WMSetButtonText(WMButton * bPtr, char *text) +void WMSetButtonText(WMButton * bPtr, const char *text) { if (bPtr->caption) wfree(bPtr->caption); @@ -325,7 +325,7 @@ void WMSetButtonText(WMButton * bPtr, char *text) } } -void WMSetButtonAltText(WMButton * bPtr, char *text) +void WMSetButtonAltText(WMButton * bPtr, const char *text) { if (bPtr->altCaption) wfree(bPtr->altCaption); diff --git a/WINGs/wframe.c b/WINGs/wframe.c index b7b30b52..38547e73 100644 --- a/WINGs/wframe.c +++ b/WINGs/wframe.c @@ -40,7 +40,7 @@ void WMSetFrameRelief(WMFrame * fPtr, WMReliefType relief) } } -void WMSetFrameTitle(WMFrame * fPtr, char *title) +void WMSetFrameTitle(WMFrame * fPtr, const char *title) { if (fPtr->caption) wfree(fPtr->caption); diff --git a/WINGs/wlabel.c b/WINGs/wlabel.c index 589f4b3e..9726cb15 100644 --- a/WINGs/wlabel.c +++ b/WINGs/wlabel.c @@ -111,7 +111,7 @@ void WMSetLabelRelief(WMLabel * lPtr, WMReliefType relief) } } -void WMSetLabelText(WMLabel * lPtr, char *text) +void WMSetLabelText(WMLabel * lPtr, const char *text) { if (lPtr->caption) wfree(lPtr->caption); diff --git a/WINGs/wlist.c b/WINGs/wlist.c index e8557544..360bb6c1 100644 --- a/WINGs/wlist.c +++ b/WINGs/wlist.c @@ -179,7 +179,7 @@ void WMSortListItemsWithComparer(WMList * lPtr, WMCompareDataProc * func) paintList(lPtr); } -WMListItem *WMInsertListItem(WMList * lPtr, int row, char *text) +WMListItem *WMInsertListItem(WMList * lPtr, int row, const char *text) { WMListItem *item; @@ -635,12 +635,18 @@ static void handleEvents(XEvent * event, void *data) static int matchTitle(const void *item, const void *title) { - return (strcmp(((WMListItem *) item)->text, (char *)title) == 0 ? 1 : 0); + return (strcmp(((WMListItem *) item)->text, (const char *)title) == 0 ? 1 : 0); } -int WMFindRowOfListItemWithTitle(WMList * lPtr, char *title) +int WMFindRowOfListItemWithTitle(WMList * lPtr, const char *title) { - return WMFindInArray(lPtr->items, matchTitle, title); + /* + * We explicitely discard the 'const' attribute here because the + * call-back function handler must not be made with a const + * attribute, but our local call-back function (above) does have + * it properly set, so we're consistent + */ + return WMFindInArray(lPtr->items, matchTitle, (char *) title); } void WMSelectListItem(WMList * lPtr, int row) diff --git a/WINGs/wwindow.c b/WINGs/wwindow.c index 53b98e89..d14b46b0 100644 --- a/WINGs/wwindow.c +++ b/WINGs/wwindow.c @@ -98,7 +98,7 @@ static void realizeObserver(void *self, WMNotification * not) realizeWindow(self); } -WMWindow *WMCreatePanelWithStyleForWindow(WMWindow * owner, char *name, int style) +WMWindow *WMCreatePanelWithStyleForWindow(WMWindow * owner, const char *name, int style) { WMWindow *win; @@ -108,7 +108,7 @@ WMWindow *WMCreatePanelWithStyleForWindow(WMWindow * owner, char *name, int styl return win; } -WMWindow *WMCreatePanelForWindow(WMWindow * owner, char *name) +WMWindow *WMCreatePanelForWindow(WMWindow * owner, const char *name) { return WMCreatePanelWithStyleForWindow(owner, name, WMTitledWindowMask | WMClosableWindowMask | WMResizableWindowMask); @@ -123,14 +123,14 @@ void WMChangePanelOwner(WMWindow * win, WMWindow * newOwner) } } -WMWindow *WMCreateWindow(WMScreen * screen, char *name) +WMWindow *WMCreateWindow(WMScreen * screen, const char *name) { return WMCreateWindowWithStyle(screen, name, WMTitledWindowMask | WMClosableWindowMask | WMMiniaturizableWindowMask | WMResizableWindowMask); } -WMWindow *WMCreateWindowWithStyle(WMScreen * screen, char *name, int style) +WMWindow *WMCreateWindowWithStyle(WMScreen * screen, const char *name, int style) { _Window *win; @@ -250,7 +250,7 @@ static void setMiniwindow(WMWindow *win, RImage *image) wfree(data); } -void WMSetWindowTitle(WMWindow * win, char *title) +void WMSetWindowTitle(WMWindow * win, const char *title) { if (win->title != NULL) wfree(win->title); @@ -598,7 +598,7 @@ void WMSetWindowMiniwindowPixmap(WMWindow * win, WMPixmap * pixmap) } } -void WMSetWindowMiniwindowTitle(WMWindow * win, char *title) +void WMSetWindowMiniwindowTitle(WMWindow * win, const char *title) { if ((win->miniTitle && !title) || (!win->miniTitle && title) || (title && win->miniTitle && strcoll(title, win->miniTitle) != 0)) { -- 2.11.4.GIT