]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - windows/winctrls.c
Giant const-correctness patch of doom!
[PuTTY.git] / windows / winctrls.c
index 60e32f5e6ec3afb28c5482eb17cf6dd1435e8d7a..ea1cc1825eb6e8adb88ec44b25b876329efde8f6 100644 (file)
@@ -448,6 +448,8 @@ char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines)
 
     if (lines) *lines = nlines;
 
+    sfree(pwidths);
+
     return ret;
 }
 
@@ -1665,7 +1667,9 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
            winctrl_add_shortcuts(dp, c);
            if (actual_base_id == base_id)
                base_id += num_ids;
-       }
+       } else {
+            sfree(data);
+        }
 
        if (colstart >= 0) {
            /*
@@ -2402,7 +2406,7 @@ void dlg_beep(void *dlg)
     MessageBeep(0);
 }
 
-void dlg_error_msg(void *dlg, char *msg)
+void dlg_error_msg(void *dlg, const char *msg)
 {
     struct dlgparam *dp = (struct dlgparam *)dlg;
     MessageBox(dp->hwnd, msg,
@@ -2528,23 +2532,6 @@ void dlg_set_fixed_pitch_flag(void *dlg, int flag)
     dp->fixed_pitch_fonts = flag;
 }
 
-struct perctrl_privdata {
-    union control *ctrl;
-    void *data;
-    int needs_free;
-};
-
-static int perctrl_privdata_cmp(void *av, void *bv)
-{
-    struct perctrl_privdata *a = (struct perctrl_privdata *)av;
-    struct perctrl_privdata *b = (struct perctrl_privdata *)bv;
-    if (a->ctrl < b->ctrl)
-       return -1;
-    else if (a->ctrl > b->ctrl)
-       return +1;
-    return 0;
-}
-
 void dp_init(struct dlgparam *dp)
 {
     dp->nctrltrees = 0;
@@ -2554,7 +2541,6 @@ void dp_init(struct dlgparam *dp)
     memset(dp->shortcuts, 0, sizeof(dp->shortcuts));
     dp->hwnd = NULL;
     dp->wintitle = dp->errtitle = NULL;
-    dp->privdata = newtree234(perctrl_privdata_cmp);
     dp->fixed_pitch_fonts = TRUE;
 }
 
@@ -2566,67 +2552,6 @@ void dp_add_tree(struct dlgparam *dp, struct winctrls *wc)
 
 void dp_cleanup(struct dlgparam *dp)
 {
-    struct perctrl_privdata *p;
-
-    if (dp->privdata) {
-       while ( (p = index234(dp->privdata, 0)) != NULL ) {
-           del234(dp->privdata, p);
-           if (p->needs_free)
-               sfree(p->data);
-           sfree(p);
-       }
-       freetree234(dp->privdata);
-       dp->privdata = NULL;
-    }
     sfree(dp->wintitle);
     sfree(dp->errtitle);
 }
-
-void *dlg_get_privdata(union control *ctrl, void *dlg)
-{
-    struct dlgparam *dp = (struct dlgparam *)dlg;
-    struct perctrl_privdata tmp, *p;
-    tmp.ctrl = ctrl;
-    p = find234(dp->privdata, &tmp, NULL);
-    if (p)
-       return p->data;
-    else
-       return NULL;
-}
-
-void dlg_set_privdata(union control *ctrl, void *dlg, void *ptr)
-{
-    struct dlgparam *dp = (struct dlgparam *)dlg;
-    struct perctrl_privdata tmp, *p;
-    tmp.ctrl = ctrl;
-    p = find234(dp->privdata, &tmp, NULL);
-    if (!p) {
-       p = snew(struct perctrl_privdata);
-       p->ctrl = ctrl;
-       p->needs_free = FALSE;
-       add234(dp->privdata, p);
-    }
-    p->data = ptr;
-}
-
-void *dlg_alloc_privdata(union control *ctrl, void *dlg, size_t size)
-{
-    struct dlgparam *dp = (struct dlgparam *)dlg;
-    struct perctrl_privdata tmp, *p;
-    tmp.ctrl = ctrl;
-    p = find234(dp->privdata, &tmp, NULL);
-    if (!p) {
-       p = snew(struct perctrl_privdata);
-       p->ctrl = ctrl;
-       p->needs_free = FALSE;
-       add234(dp->privdata, p);
-    }
-    assert(!p->needs_free);
-    p->needs_free = TRUE;
-    /*
-     * This is an internal allocation routine, so it's allowed to
-     * use smalloc directly.
-     */
-    p->data = smalloc(size);
-    return p->data;
-}