Merge pull request #2831 from DavidPL1:fix-sample-compile-exitcodes
PiperOrigin-RevId: 852832955 Change-Id: Iddc7c9366f6e81800ed48a0790336db7dfa3e9d1
This commit is contained in:
+8
-8
@@ -39,7 +39,7 @@ mjtNum gettm(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// deallocate and print message
|
// deallocate and print message
|
||||||
int finish(const char* msg = 0, mjModel* m = 0) {
|
int finish(const char* msg = 0, int exitcode = EXIT_SUCCESS, mjModel* m = 0) {
|
||||||
// deallocated everything
|
// deallocated everything
|
||||||
if (m) {
|
if (m) {
|
||||||
mj_deleteModel(m);
|
mj_deleteModel(m);
|
||||||
@@ -50,7 +50,7 @@ int finish(const char* msg = 0, mjModel* m = 0) {
|
|||||||
std::cout << msg << std::endl;
|
std::cout << msg << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
// print help if arguments are missing
|
// print help if arguments are missing
|
||||||
if (argc!=3 && argc!=2) {
|
if (argc!=3 && argc!=2) {
|
||||||
return finish(helpstring);
|
return finish(helpstring, EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// determine file types
|
// determine file types
|
||||||
@@ -119,7 +119,7 @@ int main(int argc, char** argv) {
|
|||||||
// check types
|
// check types
|
||||||
if (type1==typeUNKNOWN || type1==typeTXT ||
|
if (type1==typeUNKNOWN || type1==typeTXT ||
|
||||||
type2==typeUNKNOWN || (type1==typeMJB && type2==typeXML)) {
|
type2==typeUNKNOWN || (type1==typeMJB && type2==typeXML)) {
|
||||||
return finish("Illegal combination of file formats");
|
return finish("Illegal combination of file formats", EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if output file exists
|
// check if output file exists
|
||||||
@@ -153,16 +153,16 @@ int main(int argc, char** argv) {
|
|||||||
// check error
|
// check error
|
||||||
if (!m) {
|
if (!m) {
|
||||||
if (type1==typeXML) {
|
if (type1==typeXML) {
|
||||||
return finish(error, 0);
|
return finish(error, EXIT_FAILURE);
|
||||||
} else {
|
} else {
|
||||||
return finish("Could not load model", 0);
|
return finish("Could not load model", EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// save model
|
// save model
|
||||||
if (type2==typeXML) {
|
if (type2==typeXML) {
|
||||||
if (!mj_saveLastXML(argv[2], m, error, 1000)) {
|
if (!mj_saveLastXML(argv[2], m, error, 1000)) {
|
||||||
return finish(error, m);
|
return finish(error, EXIT_FAILURE, m);
|
||||||
}
|
}
|
||||||
} else if (type2==typeMJB) {
|
} else if (type2==typeMJB) {
|
||||||
mj_saveModel(m, argv[2], 0, 0);
|
mj_saveModel(m, argv[2], 0, 0);
|
||||||
@@ -181,5 +181,5 @@ int main(int argc, char** argv) {
|
|||||||
snprintf(msg, sizeof(msg), "Done.");
|
snprintf(msg, sizeof(msg), "Done.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return finish(msg, m);
|
return finish(msg, EXIT_SUCCESS, m);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user