diff options
Diffstat (limited to 'tools/idevicedate.c')
| -rw-r--r-- | tools/idevicedate.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/idevicedate.c b/tools/idevicedate.c index 0f1410f..9de6ed0 100644 --- a/tools/idevicedate.c +++ b/tools/idevicedate.c | |||
| @@ -150,7 +150,21 @@ int main(int argc, char *argv[]) | |||
| 150 | /* get time value from device */ | 150 | /* get time value from device */ |
| 151 | if(lockdownd_get_value(client, NULL, "TimeIntervalSince1970", &node) == LOCKDOWN_E_SUCCESS) { | 151 | if(lockdownd_get_value(client, NULL, "TimeIntervalSince1970", &node) == LOCKDOWN_E_SUCCESS) { |
| 152 | if (node) { | 152 | if (node) { |
| 153 | plist_get_uint_val(node, &datetime); | 153 | switch (plist_get_node_type(node)) { |
| 154 | case PLIST_UINT: | ||
| 155 | plist_get_uint_val(node, &datetime); | ||
| 156 | break; | ||
| 157 | case PLIST_REAL: | ||
| 158 | { | ||
| 159 | double rv = 0; | ||
| 160 | plist_get_real_val(node, &rv); | ||
| 161 | datetime = rv; | ||
| 162 | } | ||
| 163 | break; | ||
| 164 | default: | ||
| 165 | fprintf(stderr, "Unexpected node type for 'TimeIntervalSince1970'\n"); | ||
| 166 | break; | ||
| 167 | } | ||
| 154 | plist_free(node); | 168 | plist_free(node); |
| 155 | node = NULL; | 169 | node = NULL; |
| 156 | 170 | ||
