Subject | Hash | Author | Date (UTC) |
---|---|---|---|
added ins, a program that takes standard input and inserts that into the beginning of a file | c51d12a96e47c407a2e82980401556194b2c090e | matt | 2019-08-15 21:17:47 |
added exho, a program that runs a command and outputs that command to stdout | 4c7b8d4998e747541c420256494cee40ff19fc12 | spicylord | 2019-07-12 02:29:35 |
allow for easy use of different c compilers in INSTALL | a1bb4ec6cdbd070edb7955022f93ff33ca7255da | spicylord | 2019-07-11 16:16:46 |
made COPYING less cringe-inducing | 8d1e9ca0093f143c25b919552b544db92c9f865d | spicylord | 2019-07-10 01:32:22 |
modified usage output and allowed for #,p | 504ca7b3d8db60cb6d1f36a3fd48043ff62f78c0 | spicylord | 2019-07-06 15:49:16 |
spelling error in README | 351dbee78173eef7ae94f9142c6a97452db0d208 | spicylord | 2019-07-04 20:30:33 |
added examples and instructions for clp, spng, and sc in the README | 313a86755e40d909861bc95a11b75bbb109012c9 | spicylord | 2019-07-04 19:25:33 |
made regex slightly neater | ac8eda8f7290e5f138edac12f789b1215de90719 | spicylord | 2019-07-04 18:31:55 |
fixed outputting garbled text into clipboard file | a100287acf1993ae13130e036d7104bd2afe4585 | spicylord | 2019-07-04 18:30:34 |
fixed install script to compile clp.c instead of clb.c | 54a54b5da1a122e69ed62bc0f030f11044a62fb9 | spicylord | 2019-07-04 13:47:33 |
added email | a04151394c9a4b3afe23e8ebd11939fe7892737d | spicylord | 2019-07-04 02:58:00 |
initial commit | 484a7ed27b1835a962cec85cc6f55a20d4a95b46 | spicylord | 2019-07-04 02:50:23 |
File | Lines added | Lines deleted |
---|---|---|
ins.c | 37 | 0 |
File ins.c added (mode: 100644) (index 0000000..39840be) | |||
1 | #include <stdio.h> | ||
2 | #include <stdlib.h> | ||
3 | #include <string.h> | ||
4 | |||
5 | int main(int argc, char *argv[]) | ||
6 | { | ||
7 | FILE *fp, *tfp; | ||
8 | char *fbuf; | ||
9 | char *buf; | ||
10 | long fsize, tsize; | ||
11 | char instext[10000]; | ||
12 | fread(instext, sizeof(instext), 1, stdin); | ||
13 | for (int i=1; argv[i]; i++) { | ||
14 | if (argc>1&&(fp=fopen(argv[i], "a+"))==NULL) { | ||
15 | fprintf(stderr, "ins: unable to open %s\n", argv[i]); | ||
16 | continue; | ||
17 | } | ||
18 | if ((tfp=fopen(".instemp~~~", "a+"))==NULL) { | ||
19 | fprintf(stderr, "ins: unable to open temporary file\n"); | ||
20 | return 1; | ||
21 | } | ||
22 | fseek(fp, 0L, SEEK_END); | ||
23 | fsize=ftell(fp); | ||
24 | fbuf=malloc(fsize+1); | ||
25 | rewind(fp); | ||
26 | fread(fbuf, fsize, 1, fp); | ||
27 | buf=malloc(sizeof(instext)+sizeof(fbuf)+2); | ||
28 | strcpy(buf, instext); | ||
29 | strcat(buf, fbuf); | ||
30 | fputs(buf, tfp); | ||
31 | rename(".instemp~~~", argv[i]); | ||
32 | free(buf); | ||
33 | fclose(fp); | ||
34 | fclose(tfp); | ||
35 | } | ||
36 | return 0; | ||
37 | } |