edit.c (da52b4caaf187775f6b56a72c6b16e94ad728f7b) | edit.c (6d8484b0d0191b66f9bfd0dfa89c06a29647f02a) |
---|---|
1/* 2 * Copyright (c) 1980, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 35 unchanged lines hidden (view full) --- 44 * 45 * Perform message editing functions. 46 */ 47 48/* 49 * Edit a message list. 50 */ 51int | 1/* 2 * Copyright (c) 1980, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 35 unchanged lines hidden (view full) --- 44 * 45 * Perform message editing functions. 46 */ 47 48/* 49 * Edit a message list. 50 */ 51int |
52editor(msgvec) 53 int *msgvec; | 52editor(int *msgvec) |
54{ 55 56 return (edit1(msgvec, 'e')); 57} 58 59/* 60 * Invoke the visual editor on a message list. 61 */ 62int | 53{ 54 55 return (edit1(msgvec, 'e')); 56} 57 58/* 59 * Invoke the visual editor on a message list. 60 */ 61int |
63visual(msgvec) 64 int *msgvec; | 62visual(int *msgvec) |
65{ 66 67 return (edit1(msgvec, 'v')); 68} 69 70/* 71 * Edit a message by writing the message into a funnily-named file 72 * (which should not exist) and forking an editor on it. 73 * We get the editor from the stuff above. 74 */ 75int | 63{ 64 65 return (edit1(msgvec, 'v')); 66} 67 68/* 69 * Edit a message by writing the message into a funnily-named file 70 * (which should not exist) and forking an editor on it. 71 * We get the editor from the stuff above. 72 */ 73int |
76edit1(msgvec, type) 77 int *msgvec; 78 int type; | 74edit1(int *msgvec, int type) |
79{ 80 int c, i; 81 FILE *fp; 82 struct message *mp; 83 off_t size; 84 85 /* 86 * Deal with each message to be edited . . . --- 45 unchanged lines hidden (view full) --- 132 133/* 134 * Run an editor on the file at "fpp" of "size" bytes, 135 * and return a new file pointer. 136 * Signals must be handled by the caller. 137 * "Type" is 'e' for _PATH_EX, 'v' for _PATH_VI. 138 */ 139FILE * | 75{ 76 int c, i; 77 FILE *fp; 78 struct message *mp; 79 off_t size; 80 81 /* 82 * Deal with each message to be edited . . . --- 45 unchanged lines hidden (view full) --- 128 129/* 130 * Run an editor on the file at "fpp" of "size" bytes, 131 * and return a new file pointer. 132 * Signals must be handled by the caller. 133 * "Type" is 'e' for _PATH_EX, 'v' for _PATH_VI. 134 */ 135FILE * |
140run_editor(fp, size, type, readonly) 141 FILE *fp; 142 off_t size; 143 int type, readonly; | 136run_editor(FILE *fp, off_t size, int type, int readonly) |
144{ 145 FILE *nf = NULL; 146 int t; 147 time_t modtime; 148 char *edit, tempname[PATHSIZE]; 149 struct stat statb; 150 151 (void)snprintf(tempname, sizeof(tempname), --- 70 unchanged lines hidden --- | 137{ 138 FILE *nf = NULL; 139 int t; 140 time_t modtime; 141 char *edit, tempname[PATHSIZE]; 142 struct stat statb; 143 144 (void)snprintf(tempname, sizeof(tempname), --- 70 unchanged lines hidden --- |