)]}'
{"partition.cpp":[{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fbdb23d6d02b49bab3b5a374912d9555b1da39e9","unresolved":true,"context_lines":[{"line_number":604,"context_line":"\t\t}"},{"line_number":605,"context_line":"\t}"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"\tif (Is_File_System(Fstab_File_System) \u0026\u0026 (Mount_Point \u003d\u003d \"/\" || Mount_Point \u003d\u003d \"/system\" || Mount_Point \u003d\u003d \"/system_root\")) {"},{"line_number":608,"context_line":"\t\tif (Sar_Detect) {"},{"line_number":609,"context_line":"\t\t\tMount_Point \u003d \"/s\";"},{"line_number":610,"context_line":"\t\t\tMount_Read_Only \u003d true;"}],"source_content_type":"text/x-c++src","patch_set":22,"id":"2a978fd9_ecded7ad","line":607,"updated":"2020-03-08 22:45:38.000000000","message":"Would it be possible to make this if statement in a new function to cut down on the size of the parent function?","commit_id":"14da5f235164f0ca8b5c1bba88af8b104f23ce37"}],"twrp.cpp":[{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fbdb23d6d02b49bab3b5a374912d9555b1da39e9","unresolved":true,"context_lines":[{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\tTWPartitionManager * TmpPartitionManager \u003d new TWPartitionManager;"},{"line_number":123,"context_line":"\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":124,"context_line":"\tif (!TmpPartitionManager-\u003eProcess_Fstab(fstab_filename, 1, 1)) {"},{"line_number":125,"context_line":"\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":22,"id":"6b651c18_6c910b44","line":122,"updated":"2020-03-08 22:45:38.000000000","message":"Could we add this to a new function for SAR detection?","commit_id":"14da5f235164f0ca8b5c1bba88af8b104f23ce37"},{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"4936a0efa31ef30c6919b0a6ca55b92778f86d7f","unresolved":true,"context_lines":[{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\tTWPartitionManager * TmpPartitionManager \u003d new TWPartitionManager;"},{"line_number":123,"context_line":"\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":124,"context_line":"\tif (!TmpPartitionManager-\u003eProcess_Fstab(fstab_filename, 1, 1)) {"},{"line_number":125,"context_line":"\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"36315187_054796c8","line":122,"updated":"2020-04-02 23:46:55.000000000","message":"why do we need another PartitionManager?","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":370,"name":"Chaosmaster","email":"chaosmaster@chaosv.de","username":"chaosmaster"},"change_message_id":"7987a8b380a5814e12d89720d302507c07cdec7e","unresolved":true,"context_lines":[{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\tTWPartitionManager * TmpPartitionManager \u003d new TWPartitionManager;"},{"line_number":123,"context_line":"\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":124,"context_line":"\tif (!TmpPartitionManager-\u003eProcess_Fstab(fstab_filename, 1, 1)) {"},{"line_number":125,"context_line":"\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"7ec6caf5_58b708b9","line":122,"in_reply_to":"36315187_054796c8","updated":"2020-04-09 21:47:19.000000000","message":"Because the default PartionManager will set up mount points and do other initialization which we don\u0027t want during SAR-detection as fstab might be changed by the device-maintainer after SAR-detection using /sbin/sarsetup.sh boot-script.","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fe301ac1ae6ba298be070763fc45fa45e83fe4ff","unresolved":true,"context_lines":[{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\tTWPartitionManager * TmpPartitionManager \u003d new TWPartitionManager;"},{"line_number":123,"context_line":"\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":124,"context_line":"\tif (!TmpPartitionManager-\u003eProcess_Fstab(fstab_filename, 1, 1)) {"},{"line_number":125,"context_line":"\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"d2bb705e_044f5280","line":122,"in_reply_to":"7ec6caf5_58b708b9","updated":"2020-04-09 22:37:33.000000000","message":"Can we call it SarPartitionManager then?","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":370,"name":"Chaosmaster","email":"chaosmaster@chaosv.de","username":"chaosmaster"},"change_message_id":"906792362f0d275218e0fe20fd4b9cae9149bed2","unresolved":true,"context_lines":[{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\tTWPartitionManager * TmpPartitionManager \u003d new TWPartitionManager;"},{"line_number":123,"context_line":"\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":124,"context_line":"\tif (!TmpPartitionManager-\u003eProcess_Fstab(fstab_filename, 1, 1)) {"},{"line_number":125,"context_line":"\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"3dc30769_8b41f18a","line":122,"in_reply_to":"d2bb705e_044f5280","updated":"2020-04-09 22:49:54.000000000","message":"Sure, I guess that\u0027s a better name than TmpPartitionManager","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":25,"name":"dianlujitao","email":"dianlujitao@lineageos.org","username":"dianlujitao"},"change_message_id":"b447a7f431e448ea99bcdebf978e8833055d1501","unresolved":true,"context_lines":[{"line_number":129,"context_line":"\tmkdir(\"/s\", 0755);"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#ifdef AB_OTA_UPDATER"},{"line_number":132,"context_line":"\tstring fallback_sar \u003d \"true\";"},{"line_number":133,"context_line":"#else"},{"line_number":134,"context_line":"\tstring fallback_sar \u003d property_get_bool(\"ro.build.system_root_image\", false)?\"true\":\"false\";"},{"line_number":135,"context_line":"#endif"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"fc672c74_04bc49a7","line":132,"range":{"start_line":132,"start_character":1,"end_line":132,"end_character":8},"updated":"2020-04-03 02:43:24.000000000","message":"bool","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fe301ac1ae6ba298be070763fc45fa45e83fe4ff","unresolved":false,"context_lines":[{"line_number":129,"context_line":"\tmkdir(\"/s\", 0755);"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#ifdef AB_OTA_UPDATER"},{"line_number":132,"context_line":"\tstring fallback_sar \u003d \"true\";"},{"line_number":133,"context_line":"#else"},{"line_number":134,"context_line":"\tstring fallback_sar \u003d property_get_bool(\"ro.build.system_root_image\", false)?\"true\":\"false\";"},{"line_number":135,"context_line":"#endif"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"cf53ca41_69d6da33","line":132,"range":{"start_line":132,"start_character":1,"end_line":132,"end_character":8},"in_reply_to":"726960dd_fddae65e","updated":"2020-04-09 22:37:33.000000000","message":"I agree with Chaosmaster since the android property system is using this value internally as a string.","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":25,"name":"dianlujitao","email":"dianlujitao@lineageos.org","username":"dianlujitao"},"change_message_id":"f02386037de4c32b61a79c4811d33ce0c060a2f3","unresolved":false,"context_lines":[{"line_number":129,"context_line":"\tmkdir(\"/s\", 0755);"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#ifdef AB_OTA_UPDATER"},{"line_number":132,"context_line":"\tstring fallback_sar \u003d \"true\";"},{"line_number":133,"context_line":"#else"},{"line_number":134,"context_line":"\tstring fallback_sar \u003d property_get_bool(\"ro.build.system_root_image\", false)?\"true\":\"false\";"},{"line_number":135,"context_line":"#endif"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"ea131b37_185095d6","line":132,"range":{"start_line":132,"start_character":1,"end_line":132,"end_character":8},"in_reply_to":"cf53ca41_69d6da33","updated":"2020-04-10 03:02:16.000000000","message":"there\u0027s no need to store a std::string, exploit the ternary operator below and we\u0027re still able to set it to string literal \"true\"/\"false\" or \"1\"/\"0\", without extra overhead of metadata and string comparison `fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\"`","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":370,"name":"Chaosmaster","email":"chaosmaster@chaosv.de","username":"chaosmaster"},"change_message_id":"7987a8b380a5814e12d89720d302507c07cdec7e","unresolved":true,"context_lines":[{"line_number":129,"context_line":"\tmkdir(\"/s\", 0755);"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"#ifdef AB_OTA_UPDATER"},{"line_number":132,"context_line":"\tstring fallback_sar \u003d \"true\";"},{"line_number":133,"context_line":"#else"},{"line_number":134,"context_line":"\tstring fallback_sar \u003d property_get_bool(\"ro.build.system_root_image\", false)?\"true\":\"false\";"},{"line_number":135,"context_line":"#endif"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"726960dd_fddae65e","line":132,"range":{"start_line":132,"start_character":1,"end_line":132,"end_character":8},"in_reply_to":"fc672c74_04bc49a7","updated":"2020-04-09 21:47:19.000000000","message":"why bool?\nwe set the property to the string \"true\" of \"false\".","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":25,"name":"dianlujitao","email":"dianlujitao@lineageos.org","username":"dianlujitao"},"change_message_id":"b447a7f431e448ea99bcdebf978e8833055d1501","unresolved":true,"context_lines":[{"line_number":146,"context_line":"\t\t}"},{"line_number":147,"context_line":"\t\telse{"},{"line_number":148,"context_line":"\t\t\tLOGINFO(\"SAR-DETECT: No build.prop found, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":149,"context_line":"\t\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":150,"context_line":"\t\t}"},{"line_number":151,"context_line":"\t\tTmpPartitionManager-\u003eUnMount_By_Path(\"/s\", false);"},{"line_number":152,"context_line":"\t}"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"aec6b6b5_c9f1ad60","line":149,"range":{"start_line":149,"start_character":31,"end_line":149,"end_character":43},"updated":"2020-04-03 02:43:24.000000000","message":"fallback_sar ? \"1\" : \"0\"","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fe301ac1ae6ba298be070763fc45fa45e83fe4ff","unresolved":false,"context_lines":[{"line_number":146,"context_line":"\t\t}"},{"line_number":147,"context_line":"\t\telse{"},{"line_number":148,"context_line":"\t\t\tLOGINFO(\"SAR-DETECT: No build.prop found, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":149,"context_line":"\t\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":150,"context_line":"\t\t}"},{"line_number":151,"context_line":"\t\tTmpPartitionManager-\u003eUnMount_By_Path(\"/s\", false);"},{"line_number":152,"context_line":"\t}"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"87f7e486_6f70061c","line":149,"range":{"start_line":149,"start_character":31,"end_line":149,"end_character":43},"in_reply_to":"2f3782ab_010b90e1","updated":"2020-04-09 22:37:33.000000000","message":"Agreed.","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":370,"name":"Chaosmaster","email":"chaosmaster@chaosv.de","username":"chaosmaster"},"change_message_id":"7987a8b380a5814e12d89720d302507c07cdec7e","unresolved":true,"context_lines":[{"line_number":146,"context_line":"\t\t}"},{"line_number":147,"context_line":"\t\telse{"},{"line_number":148,"context_line":"\t\t\tLOGINFO(\"SAR-DETECT: No build.prop found, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":149,"context_line":"\t\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":150,"context_line":"\t\t}"},{"line_number":151,"context_line":"\t\tTmpPartitionManager-\u003eUnMount_By_Path(\"/s\", false);"},{"line_number":152,"context_line":"\t}"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"2f3782ab_010b90e1","line":149,"range":{"start_line":149,"start_character":31,"end_line":149,"end_character":43},"in_reply_to":"aec6b6b5_c9f1ad60","updated":"2020-04-09 21:47:19.000000000","message":"see above","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":25,"name":"dianlujitao","email":"dianlujitao@lineageos.org","username":"dianlujitao"},"change_message_id":"b447a7f431e448ea99bcdebf978e8833055d1501","unresolved":true,"context_lines":[{"line_number":152,"context_line":"\t}"},{"line_number":153,"context_line":"\telse{"},{"line_number":154,"context_line":"\t\tLOGINFO(\"SAR-DETECT: Could not mount system partition, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":155,"context_line":"\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"\trmdir(\"/s\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"6dbad38f_e40f6a46","line":155,"range":{"start_line":155,"start_character":30,"end_line":155,"end_character":42},"updated":"2020-04-03 02:43:24.000000000","message":"ditto","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":370,"name":"Chaosmaster","email":"chaosmaster@chaosv.de","username":"chaosmaster"},"change_message_id":"7987a8b380a5814e12d89720d302507c07cdec7e","unresolved":true,"context_lines":[{"line_number":152,"context_line":"\t}"},{"line_number":153,"context_line":"\telse{"},{"line_number":154,"context_line":"\t\tLOGINFO(\"SAR-DETECT: Could not mount system partition, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":155,"context_line":"\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"\trmdir(\"/s\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"8b3d6b00_a1b82e96","line":155,"range":{"start_line":155,"start_character":30,"end_line":155,"end_character":42},"in_reply_to":"6dbad38f_e40f6a46","updated":"2020-04-09 21:47:19.000000000","message":"see above","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":1,"name":"bigbiff","email":"bigbiff@teamw.in","username":"bigbiff"},"change_message_id":"fe301ac1ae6ba298be070763fc45fa45e83fe4ff","unresolved":false,"context_lines":[{"line_number":152,"context_line":"\t}"},{"line_number":153,"context_line":"\telse{"},{"line_number":154,"context_line":"\t\tLOGINFO(\"SAR-DETECT: Could not mount system partition, falling back to %s\\n\", fallback_sar\u003d\u003d\"true\"?\"SAR\":\"Non-SAR\");"},{"line_number":155,"context_line":"\t\tproperty_set(\"ro.twrp.sar\", fallback_sar.c_str());"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"\trmdir(\"/s\");"}],"source_content_type":"text/x-c++src","patch_set":24,"id":"0e41767b_b25ee97a","line":155,"range":{"start_line":155,"start_character":30,"end_line":155,"end_character":42},"in_reply_to":"8b3d6b00_a1b82e96","updated":"2020-04-09 22:37:33.000000000","message":"Agreed","commit_id":"35c29633067eea12695da72adfaacc53844854bb"},{"author":{"_account_id":25,"name":"dianlujitao","email":"dianlujitao@lineageos.org","username":"dianlujitao"},"change_message_id":"eb42483a22252f91de0ae92c7f1b7c507fed5fe3","unresolved":true,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t// Begin SAR detection"},{"line_number":122,"context_line":"\t{"},{"line_number":123,"context_line":"\t\tTWPartitionManager SarPartitionManager;"},{"line_number":124,"context_line":"\t\tprintf(\"\u003d\u003e Processing %s for SAR-detection\\n\", fstab_filename.c_str());"},{"line_number":125,"context_line":"\t\tif (!SarPartitionManager.Process_Fstab(fstab_filename, 1, 1)) {"},{"line_number":126,"context_line":"\t\t\tLOGERR(\"Failing out of recovery due to problem with fstab.\\n\");"}],"source_content_type":"text/x-c++src","patch_set":25,"id":"b15ec257_6bc4bbfe","line":123,"range":{"start_line":123,"start_character":2,"end_line":123,"end_character":41},"updated":"2020-05-01 04:41:05.000000000","message":"Suppose the point of allocating this on heap was to prevent use after detection, I moved it to stack and added the nested block to limit its scope.","commit_id":"d11ed880ffc19d4e6da5e79fcf186aef0de6b50c"}]}
