Skip to content

Commit ab5b4d8

Browse files
rickmarknikias
authored andcommitted
Introduce non-persistent setenvnp command
1 parent 17c02be commit ab5b4d8

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

include/libirecovery.h

+1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ irecv_error_t irecv_recv_buffer(irecv_client_t client, char* buffer, unsigned lo
156156
irecv_error_t irecv_saveenv(irecv_client_t client);
157157
irecv_error_t irecv_getenv(irecv_client_t client, const char* variable, char** value);
158158
irecv_error_t irecv_setenv(irecv_client_t client, const char* variable, const char* value);
159+
irecv_error_t irecv_setenv_np(irecv_client_t client, const char* variable, const char* value);
159160
irecv_error_t irecv_reboot(irecv_client_t client);
160161
irecv_error_t irecv_getret(irecv_client_t client, unsigned int* value);
161162

src/libirecovery.c

+24
Original file line numberDiff line numberDiff line change
@@ -3114,6 +3114,30 @@ IRECV_API irecv_error_t irecv_setenv(irecv_client_t client, const char* variable
31143114
#endif
31153115
}
31163116

3117+
IRECV_API irecv_error_t irecv_setenv_np(irecv_client_t client, const char* variable, const char* value) {
3118+
#ifdef USE_DUMMY
3119+
return IRECV_E_UNSUPPORTED;
3120+
#else
3121+
char command[256];
3122+
3123+
if (check_context(client) != IRECV_E_SUCCESS)
3124+
return IRECV_E_NO_DEVICE;
3125+
3126+
if(variable == NULL || value == NULL) {
3127+
return IRECV_E_UNKNOWN_ERROR;
3128+
}
3129+
3130+
memset(command, '\0', sizeof(command));
3131+
snprintf(command, sizeof(command)-1, "setenvnp %s %s", variable, value);
3132+
irecv_error_t error = irecv_send_command_raw(client, command, 0);
3133+
if(error != IRECV_E_SUCCESS) {
3134+
return error;
3135+
}
3136+
3137+
return IRECV_E_SUCCESS;
3138+
#endif
3139+
}
3140+
31173141
IRECV_API irecv_error_t irecv_reboot(irecv_client_t client) {
31183142
#ifdef USE_DUMMY
31193143
return IRECV_E_UNSUPPORTED;

0 commit comments

Comments
 (0)