rem: sprintf(buffer, "%i,%i", (dock->on_right_side ? -ICON_SIZE : 0),
add: snprintf(buffer, sizeof(buffer), "%i,%i", (dock->on_right_side ? -ICON_SIZE : 0),
context: dockSaveState(WDock *dock){    int i;    proplist_t icon_info;    proplist_t list=NULL, dock_state=NULL;    proplist_t value, key;    char buffer[256];    list = PLMakeArrayFromElements(NULL);    for (i=(dock->type==WM_DOCK ? 0 : 1); i<dock->max_icons; i++) {        WAppIcon *btn = dock->icon_array[i];        if (!btn || btn->attracted)            continue;        if ((icon_info = make_icon_state(dock->icon_array[i]))) {            list = PLAppendArrayElement(list, icon_info);            PLRelease(icon_info);        }    }        dock_state = PLMakeDictionaryFromEntries(dApplications, list, 					     NULL);    if (dock->type == WM_DOCK) {	sprintf(buffer, "Applications%i", dock->screen_ptr->scr_height);	key = PLMakeString(buffer);	PLInsertDictionaryEntry(dock_state, key, list);	PLRelease(key);	        sprintf(buffer, "%i,%i", (dock->on_right_side ? -ICON_SIZE : 0),                                  dock->y_pos);        value = PLMakeString(buffer);        PLInsertDictionaryEntry(dock_state, dPosition, value);        PLRelease(value);    }    PLRelease(list);    value = (dock->lowered ? dYes : dNo);    PLInsertDictionaryEntry(dock_state, dLowered, value);    if (dock->type == WM_CLIP) {        value = (dock->collapsed ? dYes : dNo);        PLInsertDictionaryEntry(dock_state, dCollapsed, value);        value = (dock->auto_collapse ? dYes : dNo);	PLInsertDictionaryEntry(dock_state, dAutoCollapse, value);        value = (dock->auto_raise_lower ? dYes : dNo);	PLInsertDictionaryEntry(dock_state, dAutoRaiseLower, value);        value = (dock->attract_icons ? dYes : dNo);        PLInsertDictionaryEntry(dock_state, dAutoAttractIcons, value);    }    return dock_state;}