Changeset 2752 for libpipi


Ignore:
Timestamp:
Aug 23, 2008, 11:11:06 AM (12 years ago)
Author:
Sam Hocevar
Message:
  • pipi.c: implement --roll, RPL-style.
Location:
libpipi/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libpipi/trunk/pipi/context.c

    r2751 r2752  
    595595        ctx->images[ctx->nimages - 2] = tmp;
    596596    }
     597    else if(!strcmp(cmd, "roll"))
     598    {
     599        pipi_image_t *tmp;
     600        char const *arg;
     601        va_list ap;
     602        int val;
     603
     604        va_start(ap, cmd);
     605        arg = va_arg(ap, char const *);
     606        va_end(ap);
     607        val = atoi(arg);
     608        if(val <= 0 || ctx->nimages < val)
     609            return -1;
     610        if(val == 1)
     611            return 0;
     612        tmp = ctx->images[ctx->nimages - val];
     613        memmove(ctx->images + ctx->nimages - val,
     614                ctx->images + ctx->nimages - val + 1,
     615                (val - 1) * sizeof(*ctx->images));
     616        ctx->images[ctx->nimages - 1] = tmp;
     617    }
    597618    else
    598619    {
  • libpipi/trunk/src/pipi.c

    r2750 r2752  
    2626                return EXIT_FAILURE;
    2727        }
     28        else if(!strcmp(argv[0], "--roll"))
     29        {
     30            if(argv[1] == NULL)
     31                return EXIT_FAILURE;
     32            if(pipi_command(ctx, "roll", argv[1]) != 0)
     33                return EXIT_FAILURE;
     34            argv++;
     35        }
    2836        else if(!strcmp(argv[0], "--scale"))
    2937        {
Note: See TracChangeset for help on using the changeset viewer.