💾 Archived View for runjimmyrunrunyoufuckerrun.com › src › nseq.c captured on 2021-12-17 at 13:26:06.

View Raw

More Information

-=-=-=-=-=-=-

#include <u.h>
#include <libc.h>
void
usage(void){
	sysfatal("usage: %s [-Xxob] [-w width] [first [incr]] last", argv0);
}
void
main(int argc, char **argv){
	vlong first = 0, last = 0, incr = 1;
	char *fmt, c = 'd';
	int wid = 0;
	ARGBEGIN{
	case 'X':
		c = 'X';
		break;
	case 'x':
		c = 'x';
		break;
	case 'o':
		c = 'o';
		break;
	case 'b':
		c = 'b';
		break;
	case 'w':
		wid = atoi(EARGF(usage()));
		break;
	default:
		goto escape;
	}ARGEND escape:
	switch(argc){
	case 1:
		last = strtoll(argv[0], nil, 0);
		break;
	case 2:
		first = strtoll(argv[0], nil, 0);
		last = strtoll(argv[1], nil, 0);
		break;
	case 3:
		first = strtoll(argv[0], nil, 0);
		incr = strtoll(argv[1], nil, 0);
		if(incr < 0)
			sysfatal("incr must be positive");
		last = strtoll(argv[2], nil, 0);
		break;
	default:
		usage();
	}
	fmt = smprint("%%.%dll%c\n", wid, c);
	if(last < first)
		for(; last <= first; first -= incr)
			print(fmt, first);
	else
		for(; first <= last; first += incr) 
			print(fmt, first);
	exits(nil);
}