"PHP" / Говнокод #27269 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); 

if($_POST['SESS_PARAM'] && $_POST['SESS_PARAM'] !='' && $_POST['SESS_PARAM_VALUE'] && $_POST['SESS_PARAM_VALUE'] !=''){

	$_SESSION[$_POST['SESS_PARAM']] = $_POST['SESS_PARAM_VALUE'];
	echo 'ok';
}else{
	echo 'error';
}

утверждают что сайт им писали лучшие из лучших

BroadcastAddress BroadcastAddress, (Updated )

Комментарии (8, +8)

Кресты / Говнокод #27267 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
#include <iostream>
#include <ctime>
using namespace std;

#define SIZE 200000000

struct StackRazrivator {
	int data[SIZE];
};

void razorvi() {
	cout << "nachinau razrivat\n";
	StackRazrivator r;
}

void razrivator() {
	cout << "razrivator\n";
	razorvi();
}

int main() {
    cout << "start" << endl;
	razrivator();
	return 0;
}

Что выведет программа, если скомпилировать без оптимизаций и почему?

https://godbolt.org/z/75Yzer

3_dar 3_dar, (Updated )

Комментарии (27, +27)

Няшная / Говнокод #27266 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
// https://deadlockempire.github.io/
// Игра, где надо играть за планировщик чтоб вызвать дедлок

// https://deadlockempire.github.io/#2-flags

// First Army

while (true) {
  while (flag != false) {
    ;
  }
  flag = true;
  critical_section();
  flag = false;
}

// Second Army

while (true) {
  while (flag != false) {
    ;
  }
  flag = true;
  critical_section();
  flag = false;
}

The day finally came. The Deadlock Empire opened its gates and from them surged massive amounts of soldiers, loyal servants of the evil Parallel Wizard. The Wizard has many strengths - his armies are fast, and he can do a lot of stuff that we can't. But now he set out to conquer the world, and we cannot have that.

You are our best Scheduler, commander! We have fewer troops and simpler ones, so we will need your help. Already two armies of the Deadlock Empire are approaching our border keeps. They are poorly equipped and poorly trained, however. You might be able to desync them and break their morale.

j123123 j123123, (Updated )

Комментарии (58, +58)

ЙажаСценарий / Говнокод #27265 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
function main()
{
	f1();
}

function f1(a = 10)
{    
    return a;
}

// code for 1

module @"1.ts"  {
  func @main() {
    %c0_i32 = constant 0 : i32
    %0 = typescript.undef : i32
    %1 = call @f1(%c0_i32, %0) : (i32, i32) -> i32
    return
  }
  func private @f1(%arg0: i32, %arg1: i32) -> i32 attributes {OptionalFrom = 1 : i8} {
    %c10_i32 = constant 10 : i32
    %c1_i32 = constant 1 : i32
    %0 = alloca() : memref<i32>
    %1 = cmpi ult, %arg0, %c1_i32 : i32
    %2 = scf.if %1 -> (i32) {
      scf.yield %c10_i32 : i32
    } else {
      scf.yield %arg1 : i32
    }
    store %2, %0[] : memref<i32>
    %3 = load %0[] : memref<i32>
    return %3 : i32
  }
}

// code for 2

; ModuleID = 'LLVMDialectModule'
source_filename = "LLVMDialectModule"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

declare i8* @malloc(i64)

declare void @free(i8*)

define void @main() !dbg !3 {
  %1 = call i32 @f1(i32 0, i32 undef), !dbg !7
  ret void, !dbg !9
}

define i32 @f1(i32 %0, i32 %1) !dbg !10 {
  %3 = alloca i32, i64 ptrtoint (i32* getelementptr (i32, i32* null, i64 1) to i64), align 4, !dbg !11
  %4 = insertvalue { i32*, i32*, i64 } undef, i32* %3, 0, !dbg !11
  %5 = insertvalue { i32*, i32*, i64 } %4, i32* %3, 1, !dbg !11
  %6 = insertvalue { i32*, i32*, i64 } %5, i64 0, 2, !dbg !11
  %7 = icmp ult i32 %0, 1, !dbg !11
  br i1 %7, label %8, label %9, !dbg !11

8:                                                ; preds = %2
  br label %10, !dbg !11

9:                                                ; preds = %2
  br label %10, !dbg !11

10:                                               ; preds = %8, %9
  %11 = phi i32 [ %1, %9 ], [ 10, %8 ]
  br label %12, !dbg !11

12:                                               ; preds = %10
  %13 = extractvalue { i32*, i32*, i64 } %6, 1, !dbg !11
  store i32 %11, i32* %13, align 4, !dbg !11
  %14 = extractvalue { i32*, i32*, i64 } %6, 1, !dbg !11
  %15 = load i32, i32* %14, align 4, !dbg !11
  ret i32 %15, !dbg !13
}

История о том как я компайлер писал. (предисторию знают думаю все). Посмотрите на код и сравните с ужасным кодом на С. Это простенький javascript который тоже може быть скомпиленным в исполняемый год. а что для этого надо. просто несколько шагов.

1) компилим код через чудо компилятор tsc.exe --emit=mlir-affine c:\1.ts



а дальше может получить LLVM IL который можно компилировать

2) компилим код через чудо компилятор tsc.exe --emit=mlir-llvm c:\1.ts



а далее компилим код

llc.exe --filetype=obj -o=out.o 1.ll


запускаем a.exe

и оно работает :)

ASD_77 ASD_77, (Updated )

Комментарии (30, +30)

mysql_real_escape_string / Говнокод #27264 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
SELECT sum(t4.value) as "План", STR_TO_DATE(t4.date, '%d-%m-%Y') AS "time" FROM
(SELECT  t.id, t.subject, t3.depth, t.value, 
   CASE WHEN t.field_name = "Август 2020 (план)" THEN "2020-08-01"
  WHEN t.field_name = "Август 2020 (факт)" THEN "2020-08-01"
  WHEN t.field_name = "Апрель 2020 (план)" THEN "2020-04-01"
  WHEN t.field_name = "Апрель 2020 (факт)" THEN "2020-04-01"
  WHEN t.field_name = "Декабрь 2020 (план)" THEN "2020-12-01"
  WHEN t.field_name = "Декабрь 2020 (факт)" THEN "2020-12-01"
  WHEN t.field_name = "Июль 2020 (план)" THEN "2020-07-01"
  WHEN t.field_name = "Июль 2020 (факт)" THEN "2020-07-01"
  WHEN t.field_name = "Июнь 2020 (план)" THEN "2020-06-01"
  WHEN t.field_name = "Июнь 2020 (факт)" THEN "2020-06-01"
  WHEN t.field_name = "Май 2020 (план)" THEN "2020-05-01"
  WHEN t.field_name = "Май 2020 (факт)" THEN "2020-05-01"
  WHEN t.field_name = "Март 2020 (план)" THEN "2020-03-01"
  WHEN t.field_name = "Март 2020 (факт)" THEN "2020-03-01"
  WHEN t.field_name = "Ноябрь 2020 (план)" THEN "2020-11-01"
  WHEN t.field_name = "Ноябрь 2020 (факт)" THEN "2020-11-01"
  WHEN t.field_name = "Октябрь 2020 (план)" THEN "2020-10-01"
  WHEN t.field_name = "Октябрь 2020 (факт)" THEN "2020-10-01"
  WHEN t.field_name = "Сентябрь 2020 (план)" THEN "2020-09-01"
  WHEN t.field_name = "Сентябрь 2020 (факт)" THEN "2020-09-01"
  WHEN t.field_name = "Февраль 2020 (план)" THEN "2020-02-01"
  WHEN t.field_name = "Февраль 2020 (факт)" THEN "2020-02-01"
  WHEN t.field_name = "Январь 2020 (план)" THEN "2020-01-01"
  WHEN t.field_name = "Январь 2020 (факт)" THEN "2020-01-01" end AS DATE
   FROM (
          SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
            cf.name AS field_name,
            cv.value AS value
          FROM issues i
        LEFT JOIN custom_values cv
            ON i.id = cv.customized_id
        LEFT JOIN custom_fields cf
            ON cv.custom_field_id=cf.id      
         WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t 
   LEFT join
   (SELECT  t2.id,
  GROUP_CONCAT(DISTINCT(CASE WHEN t2.field_name = "Код бюджета" THEN t2.value else null END)) AS depth   
   FROM (
          SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
            cf.name AS field_name,
            cv.value AS value
          FROM issues i
        LEFT JOIN custom_values cv
            ON i.id = cv.customized_id
        LEFT JOIN custom_fields cf
            ON cv.custom_field_id=cf.id      
         WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t2
   GROUP BY t2.id) t3        
   ON t.id=t3.id
   WHERE INSTR(t.field_name, "план")>0 ) t4
   WHERE substr(t4.date,1,7) in ($time)  and t4.value!=0 and t4.depth=1 and t4.subject = 'Себестоимость реализованной готовой продукции (товаров, работ, услуг)'
   group by t4.date

https://t.me/dba_ru/131122

Fike Fike, (Updated )

Комментарии (8, +8)

Beri bash i ebash / Говнокод #27263 Ссылка на оригинал

0

  1. 1
  2. 2
~ >>> ls -1 text.txt | xargs cat
cat: ''$'\033''[0m'$'\033''[00;32mtext.txt'$'\033''[0m': No such file or directory

Ну охуеть теперь.

zsh c подстветкой синтаксиса бля.
кастую СёмаРиал, объясни, что надо сделать с терминфо

vistefan vistefan, (Updated )

Комментарии (56, +56)

ЙажаСценарий / Говнокод #27262 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
function check_cur_zak(id_zak, obj)
{
	obj.getElementsByTagName('img')[0].style.display='none';
	obj.getElementsByTagName('img')[1].style.display='block';
	var ch_ids_tree_dse = arr2_ids_dse[id_zak].split('|');
	var ch_names_tree_dse = arr2_names_dse[id_zak].split('|');
	var ch_obozs_tree_dse = arr2_obozs_dse[id_zak].split('|');
	var ch_child_tree_dse = arr2_child_dse[id_zak].split('|');
	var cur_tree_dse = '';

	if(document.getElementById('nav_tekysh_3').name>0)
	{
		console.log(arr_oprs_c_r_2)
		var spl_op_res = arr_oprs_c_r_2[document.getElementById('nav_tekysh_3').name].split('|');
		var spl_op_res_arr = [];

		for (var spl_f_ar=0; spl_f_ar<spl_op_res.length; spl_f_ar++)
			spl_op_res_arr[spl_op_res[spl_f_ar]] = spl_op_res[spl_f_ar];
	}

	for (var ch_t_f_d=0; ch_t_f_d < (ch_ids_tree_dse.length-1); ch_t_f_d++)
	{
		var cur_tree_oper_cur_dse = '';
		var jv3_arr_full_tbl_1_spl = jv2_arr_full_tbl_1_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_2_spl = jv2_arr_full_tbl_2_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_3_spl = jv2_arr_full_tbl_3_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_4_spl = jv2_arr_full_tbl_4_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_5_spl = jv2_arr_full_tbl_5_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_5_1_spl = jv2_arr_full_tbl_5_1_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_6_spl = jv2_arr_full_tbl_6_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_7_spl = jv2_arr_full_tbl_7_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_8_spl = jv2_arr_full_tbl_8_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_9_spl = jv2_arr_full_tbl_9_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_10_spl = jv2_arr_full_tbl_10_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_11_spl = jv2_arr_full_tbl_11_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_12_spl = jv2_arr_full_tbl_12_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_14_spl = jv2_arr_full_tbl_14_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_15_spl = jv2_arr_full_tbl_15_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		var jv3_arr_full_tbl_16_spl = jv2_arr_full_tbl_16_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');

		jv3_arr_full_tbl_17_spl = jv2_arr_full_tbl_17_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		jv3_arr_full_tbl_18_spl = jv2_arr_full_tbl_18_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');
		jv3_arr_full_tbl_19_spl = jv2_arr_full_tbl_19_spl[ch_ids_tree_dse[ch_t_f_d]].split('|');

		var cur_dse_op_dse = '';
		var cur_id_op_dse = '';
		var cur_vp_op_dse = '';
		
		for (var ch_t_f_o=0; ch_t_f_o < (jv3_arr_full_tbl_1_spl.length-1); ch_t_f_o++)
		{
			var clas_tr_col = 'fff';
			var clas_tr_br = 'fff';
			var clas_tr_pr = 'fff';
			var clas_tr_park = 'fff';
			var zadel_op = 0;
			var stl_b_tr_pr = '';
			var js_vp_op = '0<br>0.00';
			var js_ksz_op = '0<br>0.00';
			// if (jv3_arr_full_tbl_14_spl[ch_t_f_o]>0)
			// 	{
			// 			clas_tr_col='ddffdd';
			// 			clas_tr_br='ddffdd';
			// 			clas_tr_pr='ddffdd';
			// 			clas_tr_park='ddffdd';
			// 	}

			if(document.getElementById('nav_tekysh_3').name>0)
			{
				if (spl_op_res_arr[jv3_arr_full_tbl_16_spl[ch_t_f_o]])
					{
						clas_tr_pr='99ff99';
						stl_b_tr_pr = 'font-size:150%; color:#13BD13;padding-left:5px';
					}
			var parks_for_cur_res = document.getElementById('park_sel_cur_res').options.length;
				for (var p_f_c_r=0; p_f_c_r<parks_for_cur_res; p_f_c_r++)
				{
					if ((document.getElementById('park_sel_cur_res').options[p_f_c_r].value !== '0')&&(document.getElementById('park_sel_cur_res').options[p_f_c_r].value !== ''))
					{
						if (jv3_arr_full_tbl_5_1_spl[ch_t_f_o]==document.getElementById('park_sel_cur_res').options[p_f_c_r].value)
									clas_tr_park='99ddff';
					}
				}
			}

			if (jv3_arr_full_tbl_12_spl[ch_t_f_o]==1)
					clas_tr_br='ff9999';

			if (jv3_arr_full_tbl_15_spl[ch_t_f_o]==0)
			{

				if(jv3_arr_full_tbl_3_spl[ch_t_f_o]=='')
					jv3_arr_full_tbl_3_spl[ch_t_f_o]='0';

				if(jv3_arr_full_tbl_6_spl[ch_t_f_o]=='')
					jv3_arr_full_tbl_6_spl[ch_t_f_o]='0.00';

				if(jv3_arr_full_tbl_7_spl[ch_t_f_o]=='')
					jv3_arr_full_tbl_7_spl[ch_t_f_o]='0';

				if(jv3_arr_full_tbl_8_spl[ch_t_f_o]=='')

kib0rg kib0rg, (Updated )

Комментарии (11, +11)

Goвно / Говнокод #27261 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
// https://docs.docker.com/engine/api/v1.24/#create-a-container

POST /v1.24/containers/create HTTP/1.1
Content-Type: application/json
Content-Length: 12345

{
       "Hostname": "",
       "Domainname": "",
       "User": "",
       "AttachStdin": false,
       "AttachStdout": true,
       "AttachStderr": true,
       "Tty": false,
       "OpenStdin": false,
       "StdinOnce": false,
       "Env": [
               "FOO=bar",
               "BAZ=quux"
       ],
       ...
}

Ядро предоставляет сисколл execve. Execve принимает переменные окружения в виде массива строк A=B -
не знаю конкретных причин, почему так сделано, но скорее всего просто потому что писать хэшмапу под
это дело, которая еще и будет выкинута из памяти через относительно небольшое время - дело дорогое и
ненужное, плюс наверняка какой-нибудь лишний пердолинг со стеком.
https://man7.org/linux/man-pages/man2/execve.2.html

Го, "человеческий язык" с поддержкой обычных мап из коробки, ничтоже сумляшеся не замечает никакой
проблемы и заставляет пользователя передавать переменные окружения в том же формате, потому что у
языка не только синтаксис должен быть таким же тупым, как программист на нём и вообще мы же тут
делаем вид, что мы C, только лучше.
https://golang.org/pkg/os/exec/#example_Command_environment

Докер, "человеческий сервис" с HTTP API, использующим формат JSON с поддержкой обычных мап из коробки,
ничтоже сумляшеся не замечает никакой проблемы и заставляет пользователя передавать переменные
окружения в том же формате, потому что на программист на языке должен быть тупым, как этот язык.
https://docs.docker.com/engine/api/v1.24/#create-a-container

В результате мы имеем пачку долбоебов, из-за которых оперирующие (мапами / объектами / словарями / как угодно назовите)
нормальные люди должны вести себя как типичные гошники.

Fike Fike, (Updated )

Комментарии (42, +42)

Куча говна / Говнокод #27260 Ссылка на оригинал

0

  1. 1
Питушня #13

#1: https://govnokod.ru/26692 https://govnokod.xyz/_26692
#2: https://govnokod.ru/26891 https://govnokod.xyz/_26891
#3: https://govnokod.ru/26893 https://govnokod.xyz/_26893
#4: https://govnokod.ru/26935 https://govnokod.xyz/_26935
#5: (vanished) https://govnokod.xyz/_26954
#6: (vanished) https://govnokod.xyz/_26956
#7: https://govnokod.ru/26964 https://govnokod.xyz/_26964
#8: https://govnokod.ru/26966 https://govnokod.xyz/_26966
#9: https://govnokod.ru/27017 https://govnokod.xyz/_27017
#10: https://govnokod.ru/27045 https://govnokod.xyz/_27045
#11: https://govnokod.ru/27058 https://govnokod.xyz/_27058
#12: https://govnokod.ru/27182 https://govnokod.xyz/_27182

nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (185, +185)