@@ -162,6 +162,7 @@ gpio_isr_stop(struct gpio_source* gpio_info)
162162int
163163main (int argc , char * * argv )
164164{
165+ int retval = 0 ;
165166 if (argc == 1 ) {
166167 print_command_error ();
167168 }
@@ -177,10 +178,13 @@ main(int argc, char** argv)
177178 if (argc == 4 ) {
178179 int pin = atoi (argv [2 ]);
179180 mraa_boolean_t rawmode = strcmp (argv [1 ], "setraw" ) == 0 ;
180- if (gpio_set (pin , atoi (argv [3 ]), rawmode ) != MRAA_SUCCESS )
181+ if (gpio_set (pin , atoi (argv [3 ]), rawmode ) != MRAA_SUCCESS ) {
181182 fprintf (stdout , "Could not initialize gpio %d\n" , pin );
183+ retval = 1 ;
184+ }
182185 } else {
183186 print_command_error ();
187+ retval = 2 ;
184188 }
185189 } else if ((strcmp (argv [1 ], "get" ) == 0 ) || (strcmp (argv [1 ], "getraw" ) == 0 )) {
186190 if (argc == 3 ) {
@@ -191,9 +195,11 @@ main(int argc, char** argv)
191195 fprintf (stdout , "Pin %d = %d\n" , pin , level );
192196 } else {
193197 fprintf (stdout , "Could not initialize gpio %d\n" , pin );
198+ retval = 1 ;
194199 }
195200 } else {
196201 print_command_error ();
202+ retval = 2 ;
197203 }
198204 } else if (strcmp (argv [1 ], "monitor" ) == 0 ) {
199205 if (argc == 3 ) {
@@ -211,13 +217,16 @@ main(int argc, char** argv)
211217 gpio_isr_stop (& gpio_info );
212218 } else {
213219 fprintf (stdout , "Failed to register ISR for pin %d\n" , pin );
220+ retval = 3 ;
214221 }
215222 } else {
216223 print_command_error ();
224+ retval = 2 ;
217225 }
218226 } else {
219227 print_command_error ();
228+ retval = 2 ;
220229 }
221230 }
222- return 0 ;
231+ return retval ;
223232}
0 commit comments