t_action *push_swap(t_push *lista) { t_push *listb; t_action *actions; listb = NULL; actions = NULL; add_action(&actions, cpy_list(lista), cpy_list(listb), "START"); order_a(&lista, &listb, &actions); while (checklen(listb)) { push_a(&lista, &listb, &actions); order_a(&lista, &listb, &actions); } return (actions); }
void swap_b(t_push **lista, t_push **listb, t_action **action) { t_push *tmp; int swap; if (checklen(*listb) > 1) { tmp = *listb; while (tmp->next) tmp = tmp->next; swap = tmp->nb; tmp->nb = tmp->prev->nb; tmp->prev->nb = swap; tmp->color = ON; tmp->prev->color = ON; add_action(action, cpy_list((*lista)), cpy_list((*listb)), "sb"); reset_color(listb); } }
void ft_env(char **args, t_list *env) { int i; t_list *mirror; i = 0; while (args[i] && ft_strcmp(args[i], "-i")) i++; if (!args[i]) mirror = cpy_list(env, &env_node); else mirror = NULL; update_env(args, &mirror, &i); if (!args[i]) printenv(mirror); else { get_home(args + i, mirror); route_me(args + i, mirror); } ft_dellist(&mirror); }
static void cpy_ALGraph(struct ALGraph* dst, struct ALGraph* src) { int i = 0; dst->point_array = (struct point_t*)malloc(src->point_num * sizeof(struct point_t)); dst->edge_array = (struct my_edge_t*)malloc(src->edge_num * sizeof(struct my_edge_t)); dst->point_num = src->point_num; for (i = 0 ; i < src->point_num; i++) { dst->point_array[i].val = src->point_array[i].val; dst->point_array[i].next = NULL; cpy_list(dst->point_array + i, src->point_array[i].next); } dst->edge_num = src->edge_num; for (i = 0; i < src->edge_num; i++) { dst->edge_array[i] = src->edge_array[i]; } }
INT_PTR CALLBACK ConnDlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch( Msg ) { case WM_INITDIALOG: { HWND hList = GetDlgItem(hWnd, IDC_CONNLIST); ListView_SetExtendedListViewStyle(hList, LVS_EX_FULLROWSELECT); LV_COLUMN lvc = { 0 }; lvc.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH; lvc.fmt = LVCFMT_LEFT; lvc.cx = 40; lvc.pszText = _T("ID"); ListView_InsertColumn(hList, 0, &lvc); lvc.cx = 50; lvc.pszText = TranslateT("User"); ListView_InsertColumn(hList, 1, &lvc); lvc.cx = 250; lvc.pszText = TranslateT("File"); ListView_InsertColumn(hList, 2, &lvc); lvc.cx = 50; lvc.pszText = TranslateT("Access"); ListView_InsertColumn(hList, 3, &lvc); KillTimer(NULL, 777); lst = cpy_list(&list); if (IsUserAnAdmin()) SetTimer(NULL, 777, TIME, TimerProc); else MessageBox(NULL, TranslateT("Plugin WhoUsesMyFiles requires admin privileges in order to work."), _T("Miranda NG"), MB_OK); ShowList(lst, hList); } Utils_RestoreWindowPosition(hWnd, NULL, MODULENAME,"conn"); return TRUE; case WM_CLOSE: PostMessage( hWnd, WM_COMMAND, IDCANCEL, 0l ); break; case WM_COMMAND: switch( LOWORD(wParam)) { case IDOK: case IDCANCEL: PostMessage(hWnd, WM_DESTROY, 0, 0); break; } break; case WM_SIZE: { UTILRESIZEDIALOG urd = { sizeof(urd) }; urd.hwndDlg = hWnd; urd.hInstance = hInst; urd.lpTemplate = MAKEINTRESOURCEA(IDD_CONNLIST); urd.lParam = (LPARAM)NULL; urd.pfnResizer = DlgResizer; CallService(MS_UTILS_RESIZEDIALOG, 0, (LPARAM)&urd); } Utils_SaveWindowPosition(hWnd, NULL, MODULENAME,"conn"); return TRUE; case WM_MOVE: Utils_SaveWindowPosition(hWnd, NULL, MODULENAME,"conn"); break; case WM_NOTIFY: switch (((LPNMHDR) lParam)->code) { case LVN_GETDISPINFO: OnGetDispInfo((NMLVDISPINFO*)lParam); break; } break; case WM_DESTROY: del_all(&lst); PostQuitMessage(0); break; } return FALSE; }