diff --git a/jshon.c b/jshon.c index ffefee6..8b50c9b 100644 --- a/jshon.c +++ b/jshon.c @@ -853,7 +853,7 @@ void debug_map() } int main (int argc, char *argv[]) -#define ALL_OPTIONS "PSQVCI0tlkupajF:e:s:n:d:i:" +#define ALL_OPTIONS "PSQVCI0tlkupajrF:e:s:n:d:i:" { char* content = ""; char* arg1 = ""; @@ -918,10 +918,11 @@ int main (int argc, char *argv[]) case 'd': case 'i': case 'a': + case 'r': break; default: if (!quiet) - {fprintf(stderr, "Valid: -[P|S|Q|V|C|I|0] [-F path] -[t|l|k|u|p|a|j] -[s|n] value -[e|i|d] index\n");} + {fprintf(stderr, "Valid: -[P|S|Q|V|C|I|0] [-F path] -[t|l|k|u|p|a|j|r] -[s|n] value -[e|i|d] index\n");} if (crash) {exit(2);} break; @@ -1053,6 +1054,13 @@ int main (int argc, char *argv[]) {MAPNEXT();} output = 0; break; + case 'r': // rotate + jval = POP; + json = POP; + PUSH(jval); + PUSH(json); + output = 0; + break; case 'P': // not manipulations case 'S': case 'Q':