specials = back->get_specials(backhandle);
if (back) specials = back->get_specials(backhandle); else specials = NULL;
void update_specials_menu(void *frontend){    HMENU m = GetSystemMenu(hwnd, FALSE);    int menu_already_exists = (specials != NULL);    int i, j;    specials = back->get_specials(backhandle);    if (specials) {	HMENU p = CreateMenu();	for (i = 0; specials[i].name; i++) {	    assert(IDM_SPECIAL_MIN + 0x10 * i < IDM_SPECIAL_MAX);	    if (*specials[i].name)		AppendMenu(p, MF_ENABLED, IDM_SPECIAL_MIN + 0x10 * i,			   specials[i].name);	    else		AppendMenu(p, MF_SEPARATOR, 0, 0);	}	for (j = 0; j < lenof(popup_menus); j++) {	    if (menu_already_exists)		DeleteMenu(popup_menus[j].menu,			   popup_menus[j].specials_submenu_pos,			   MF_BYPOSITION);	    else		InsertMenu(popup_menus[j].menu,			   popup_menus[j].specials_submenu_pos,			   MF_BYPOSITION | MF_SEPARATOR, 0, 0);	    InsertMenu(popup_menus[j].menu,		       popup_menus[j].specials_submenu_pos,		       MF_BYPOSITION | MF_POPUP | MF_ENABLED,		       (UINT) p, "Special Command");	}    }}