Subject | Hash | Author | Date (UTC) |
---|---|---|---|
hopefully delete ins.c | b06e7258852b9ca1877b7c4fa78b6984e00a9b72 | spicylord | 2019-08-22 19:03:04 |
ins has been replaced with a shell script and clp has been fixed | 35072ced804239e2f886fdf3b4dd995dfe6805f1 | spicylord | 2019-08-22 18:49:38 |
reverted sc because I cannot into memory management. ins is suffering from memory as well so use at your own risk. | 1f24dcf261e3d779782a5e5ba2bd0c26da0fd928 | spicylord | 2019-08-17 19:10:51 |
im an idiot | c6aa7a7fa124fb08422fb24de68ecb70ba066195 | spicylord | 2019-08-16 04:30:23 |
bug fixes | 5ec9e0063dee0e8cb9b7c88a06535a1c13faa2af | spicylord | 2019-08-16 04:20:21 |
added free for previously unfreed malloc buffer fbuf | ec2c9bbcb387a718d36bd861083ac2c40134c152 | spicylord | 2019-08-16 02:01:00 |
put all of the programs under the GPLv3 or later, also updated sc.c | 77dbf20cedc357042ffc03e5da9a51690337a977 | spicylord | 2019-08-16 01:08:49 |
added ins to INSTALL script | 6d58cd823d49a8ad4a32a57173d5d690ddb677c6 | spicylord | 2019-08-15 21:23:41 |
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 | 0 | 57 |
File ins.c deleted (index 29646d8..0000000) | |||
1 | /* | ||
2 | Copyright (c) 2019 Matthew Graham | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 3 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include <stdio.h> | ||
19 | #include <stdlib.h> | ||
20 | #include <string.h> | ||
21 | |||
22 | int main(int argc, char *argv[]) | ||
23 | { | ||
24 | FILE *fp, *tfp; | ||
25 | char *fbuf; | ||
26 | char *buf; | ||
27 | char *null=0; | ||
28 | long fsize, tsize; | ||
29 | char instext[100000]; | ||
30 | fread(instext, sizeof(instext), 1, stdin); | ||
31 | for (int i=1; argv[i]; i++) { | ||
32 | if (argc>1&&(fp=fopen(argv[i], "a+"))==NULL) { | ||
33 | fprintf(stderr, "ins: unable to open %s\n", argv[i]); | ||
34 | continue; | ||
35 | } | ||
36 | if ((tfp=fopen(".instemp~~~", "w+"))==NULL) { | ||
37 | fprintf(stderr, "ins: unable to open temporary file\n"); | ||
38 | return 1; | ||
39 | } | ||
40 | fseek(fp, 0L, SEEK_END); | ||
41 | fsize=ftell(fp); | ||
42 | rewind(fp); | ||
43 | fread((fbuf=malloc(fsize+1)), fsize, 1, fp); | ||
44 | buf=malloc(sizeof(instext)+sizeof(fbuf)+2); | ||
45 | strcpy(buf, instext); | ||
46 | strcat(buf, fbuf); | ||
47 | fputs(buf, tfp); | ||
48 | rename(".instemp~~~", argv[i]); | ||
49 | strcpy(buf, null); | ||
50 | free(buf); | ||
51 | strcpy(fbuf, null); | ||
52 | free(fbuf); | ||
53 | fclose(fp); | ||
54 | fclose(tfp); | ||
55 | } | ||
56 | return 0; | ||
57 | } |