Severity: 8192
Message: Function create_function() is deprecated
Filename: geshi/geshi.php
Line Number: 4698
Backtrace:
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 693
Function: getPaste
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once
#include "DoubleLinkedList.h" // инициализация двусвязного списка void InitDList(DList *L) { L->left = NULL; L->right = NULL; L->ptr = NULL; DListError = DListEmpty; } // включить элемент в список перед рабочим указателем void PrevPutDList(DList *L, BaseType E) { PtrEl next = NULL; // сохранение следующего значения PtrEl prev = NULL; // сохранение предыдущего значения PtrEl NewEl = new elementDList [1]; // если не получилось выделить память if (NewEl == NULL) { DListError = DListNotMem; return; } // если список пуст, то нужно указатели на левую и правую часть // списка переназначить на новый элемент if (EmptyDList(L)) { L->left = NewEl; L->right = L->left; L->ptr = L->left; } else { next = L->ptr; // запомнить текущий элемнент prev = L->ptr->prev; // запомнить указатель на предыдущий элемент L->ptr->prev = NewEl; L->ptr = NewEl; if (BeginDList(L)) { L->left = L->ptr; } else { prev->next = NewEl; } } L->ptr->next = next; L->ptr->prev = prev; L->ptr->data = E; DListError = DListOk; } // включить элемент в список после рабочего указателя void NextPutDList(DList *L, BaseType E) { PtrEl next = NULL; PtrEl prev = NULL; PtrEl NewEl = new elementDList [1]; if (NewEl == NULL) { DListError = DListNotMem; return; } if (EmptyDList(L)) { L->left = NewEl; L->right = L->left; L->ptr = L->left; } else { next = L->ptr->next; prev = L->ptr; L->ptr->next = NewEl; L->ptr = NewEl; if (EndDList(L)) { L->right = NewEl; } else { next->prev = NewEl; } } L->ptr->next = next; L->ptr->prev = prev; L->ptr->data = E; DListError = DListOk; } // исключить элемент из списка до указателя void PrevGetDList(DList *L, BaseType *E) { if (EmptyDList(L)) { return; } ReadDList(L, E); if (L->left == L->right && L->left == L->ptr) { *E = L->ptr->data; delete L->ptr; L->ptr = NULL; L->left = NULL; L->right = NULL; return; } if (BeginDList(L)) { return; } else { *E = L->ptr->prev->data; if (L->ptr->prev->prev) { PtrEl pntr = L->ptr->prev; delete L->ptr->prev; L->ptr->prev = pntr->prev; pntr->prev->next = L->ptr; } else { L->left = L->ptr; delete L->ptr->prev; L->ptr->prev = NULL; } } } // исключить элемент из списка после указателя void NextGetDList(DList *L, BaseType *E) { if (EmptyDList(L)) { return; } if (L->left == L->right && L->left == L->ptr) { *E = L->ptr->data; delete L->ptr; L->ptr = NULL; L->left = NULL; L->right = NULL; return; } if (EndDList(L)) { return; } else { *E = L->ptr->next->data; if (L->ptr->next->next) { PtrEl pntr = L->ptr->next->next; delete L->ptr->next; L->ptr->next = pntr; L->ptr->next->prev = L->ptr; } else { L->right = L->ptr; delete L->ptr->next; L->ptr->next = NULL; } } } // прочитать текущий элемент из списка void ReadDList(DList *L, BaseType *E) { if (EmptyDList(L)) { return; } *E = L->ptr->data; } // удалить список void DoneDList(DList *L) { BeginPtrDList(L); BaseType e; while (!EmptyDList(L)) { NextGetDList(L, &e); } NextGetDList(L, &e); } // передвинуть указатель вперед void NextMoveDList(DList *L) { if (!EndDList(L)) { L->ptr = L->ptr->next; } } // передвинуть указатель назад void PrevMoveDList(DList *L) { if (!BeginDList(L)) { L->ptr = L->ptr->prev; } } // проверить, пуст ли список int EmptyDList(DList *L) { if (!L->left && !L->right) { DListError = DListEmpty; return 1; } return 0; } // проверить, на начале ли списка установлен рабочий указатель int BeginDList(DList *L) { if (EmptyDList(L) || !L->ptr->prev) { DListError = DListBegin; return 1; } return 0; } // проверить, в конце ли списка установлен рабочий указатель int EndDList(DList *L) { if (EmptyDList(L) || !L->ptr->next) { DListError = DListEnd; return 1; } return 0; } // установить указатель в начало void BeginPtrDList(DList *L) { L->ptr = L->left; BeginDList(L); } // установить указатель в конец void EndPtrDList(DList *L) { L->ptr = L->right; EndDList(L); } // получить последнюю ошибку списка int GetLastErrorDList() { return DListError; }