1. Список говнокодов пользователя elenbert

    Всего: 3

  2. Си / Говнокод #6349

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    void
    syslog(int pri, const char *fmt, ...)
    {
    	va_list ap;
    
    	va_start(ap, fmt);
    	vsyslog(pri, fmt, ap);
    	va_end(ap);
    }
    ......................................
    void
    vsyslog(int pri, const char *fmt, va_list ap)
    {
    	vsyslog_r(pri, &sdata, fmt, ap);
    }
    ....................................
    void
    vsyslog_r(int pri, struct syslog_data *data, const char *fmt, va_list ap)
    {
    	int cnt;
    	char ch, *p, *t;
    	time_t now;
    	int fd, saved_errno, error;
    #define	TBUF_LEN	2048
    #define	FMT_LEN		1024
    	char *stdp = NULL, tbuf[TBUF_LEN], fmt_cpy[FMT_LEN];
    	int tbuf_left, fmt_left, prlen;
    
    #define	INTERNALLOG	LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID
    	/* Check for invalid bits. */
    	if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) {
    		if (data == &sdata) {
    			syslog(INTERNALLOG,
    			    "syslog: unknown facility/priority: %x", pri);
    		} else {
    			syslog_r(INTERNALLOG, data,
    			    "syslog_r: unknown facility/priority: %x", pri);
    		}
    		pri &= LOG_PRIMASK|LOG_FACMASK;
    	}
    .......................
    }
    ......................

    Из исходников Bioninc - Android libc.
    В реализации сислога, в случае ошибки, вызывается syslog

    elenbert, 14 Апреля 2011

    Комментарии (5)
  3. C++ / Говнокод #6348

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    //main.cpp
    #include "head.h"
    int main()
    {
    //fcii.cpp
    #include "head.h"
    void odin (vector<Zapis> &mas)
    {
    Zapis buf;
    cout<<"Введите номер УДК: ";
    cin>>buf.id;
    cout<<"Введите фамилию и инициалы автора: ";
    cin>>buf.fio;
    cout<<"Введите название книги: ";
    cin>>buf.nazv;
    cout<<"Введите год издания: ";
    cin>>buf.god;
    cout<<"Введите количество экземпляров: ";
    cin>>buf.kol;
    mas.resize(mas.size()+1,buf);
    vivod (mas);
    }
    void dva (vector<Zapis> &mas)
    {
    char udk[4];
    cout<<"Введите УДК книги, которую необходимо удалить: ";
    cin>>udk;
    int flag=1;
    int k=0;
    for (vector<Zapis>::iterator i=mas.begin();i!=mas.end();i++)
    {
    flag=1;
    if (strlen(udk)==strlen(mas[k].id))
    for (int j=0;udk[j]!=0;j++)
    if (udk[j]!=mas[k].id[j])
    flag=0;
    if (flag==1)
    {
    mas.erase(i);
    flag=-1;
    break;
    }
    k++;
    }
    
    if (flag!=-1)
    {
    cout<<endl<<"Книги с данным УДК не существует"<<endl;
    }
    else vivod(mas);
    }
    void tri(vector<Zapis> &mas)
    {
    vector<int> mas_buf(mas.size());
    for (int i=0;i<mas.size();i++)
    mas_buf[i]=mas[i].god;
    sort(mas_buf.begin(),mas_buf.end()) ;
    for (int i=0;i<mas.size();i++)
    mas[i].god=mas_buf[i];
    vivod(mas);
    }
    int zapros (vector<Zapis> &mas)
    {
    int otvet;
    cout<<endl<<"Если вы хотите добавить данные о книгах - нажмите 1;"<<endl;
    cout<<"Если вы хотите удалить данные о списываемых книгах - нажмите 2;"<<endl;
    cout<<"Если вы хотите упорядочить книги по годам издания - нажмите 3;"<<endl;
    cout<<"Если вы хотите завершить работу программы - нажмите 0."<<endl;
    cin>>otvet;
    
    switch (otvet)
    {
    case 0: {return 0;}
    case 1: {
    odin(mas);
    zapros(mas);break;
    }

    Взято отсюда: http://programmersforum.ru/forumdisplay.php?f=14

    elenbert, 14 Апреля 2011

    Комментарии (14)
  4. C++ / Говнокод #6347

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    Ckey::Ckey(const String& name, const String& suffix1, const String& suffix2, const String& suffix3)
    {
    	ASSERT(name.Size(), "Key with emty name are invalid!");
    
    	if (!name.Size())
    	{
    		return;
    	}
    	PushBack(name);
    
    	if (!suffix1.Size())
    	{
    		return;
    	}
    	PushBack(suffix1);
    
    	if (!suffix2.Size())
    	{
    		return;
    	}
    	PushBack(suffix2);
    
    	if (!suffix3.Size())
    	{
    		return;
    	}
    	PushBack(suffix3);
    }

    Ну просто замечательный конструктор класса.
    Собственно сам класс унаследован (public-ом, причем) от местной реализации класса vector, отсюда загадочные методы PushBack.
    А String - это не менее замечательная, местная, реализация строк.

    elenbert, 14 Апреля 2011

    Комментарии (10)