PiPedal 1.2.33 initial commit

This commit is contained in:
Robin Davies
2024-08-08 12:53:02 -04:00
parent 0e378997a5
commit a3847c8184
255 changed files with 22008 additions and 1791 deletions
+31
View File
@@ -0,0 +1,31 @@
#include "Sudo.hpp"
#include "unistd.h"
#include "sys/types.h"
#include <vector>
#include <stdexcept>
bool IsSudo()
{
return (geteuid() == 0);
}
void ExecWithSudo(int argc, char**argv)
{
std::vector<const char*> newArgs;
newArgs.reserve(argc+2);
newArgs.push_back("sudo");
for (int i = 0; i < argc; ++i)
{
newArgs.push_back(argv[i]);
}
newArgs.push_back(nullptr);
execvp("sudo",(char*const*)&newArgs[0]);
throw std::runtime_error("Failed to restart with sudo.");
}
void ForceSudo(int argc, char**argv)
{
if (IsSudo()) return;
ExecWithSudo(argc,argv);
}