Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void swapFrame(list_t** list)
- {
- list_t* curr = NULL, *targetP = NULL, *newP = NULL, *tmpTarget = NULL, *tmpNew = NULL;
- char target[MAX_NAME_SIZE] = { 0 };
- int index = 0, counter = 0;
- printf("enter the name of the frame\n");
- getString(target, MAX_NAME_SIZE);
- if (!frameExist(*list, target) || *list == NULL)
- {
- printf("this frame does not exist\n");
- }
- else
- {
- index = getValidIndex(*list);
- curr = *list;
- if (!strcmp(target, (*list)->frame->name))
- {
- targetP = *list;
- }
- else if (index == 1)
- {
- newP = *list;
- }
- while (curr->next && (!targetP || !newP))
- {
- counter++;
- if (!targetP && !strcmp(target, curr->next->frame->name))
- {
- targetP = curr;
- }
- if (!newP && counter + 1 == index)
- {
- newP = curr;
- }
- curr = curr->next;
- }
- if (newP != targetP)
- {
- if (targetP == *list)
- {
- tmpNew = newP->next->next;
- tmpTarget = targetP->next;
- (*list) = newP->next;
- (*list)->next = tmpTarget;
- newP->next = targetP;
- targetP->next = tmpNew;
- }
- else if (newP == *list)
- {
- tmpNew = newP->next;
- tmpTarget = targetP->next->next;
- (*list) = targetP->next;
- (*list)->next = tmpNew;
- targetP->next = newP;
- targetP->next->next = tmpTarget;
- }
- else
- {
- tmpNew = newP->next->next;
- tmpTarget = targetP->next->next;
- newP->next->next = tmpTarget;
- targetP->next->next = tmpNew;
- tmpTarget = targetP->next;
- tmpNew = newP->next;
- newP->next = tmpTarget;
- targetP->next = tmpNew;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement