Zep 1.4 small code reductions
This commit is contained in:
parent
e266221618
commit
6f8d31577e
48
zep.c
48
zep.c
|
@ -15,7 +15,7 @@
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
|
|
||||||
#define E_NAME "zep"
|
#define E_NAME "zep"
|
||||||
#define E_VERSION "v1.3"
|
#define E_VERSION "v1.4"
|
||||||
#define E_LABEL "Zep:"
|
#define E_LABEL "Zep:"
|
||||||
|
|
||||||
#define B_MODIFIED 0x01 /* modified buffer */
|
#define B_MODIFIED 0x01 /* modified buffer */
|
||||||
|
@ -68,7 +68,7 @@ int done;
|
||||||
char_t *input;
|
char_t *input;
|
||||||
int msgflag;
|
int msgflag;
|
||||||
char msgline[TEMPBUF];
|
char msgline[TEMPBUF];
|
||||||
char temp[TEMPBUF];
|
|
||||||
keymap_t *key_return;
|
keymap_t *key_return;
|
||||||
keymap_t *key_map;
|
keymap_t *key_map;
|
||||||
buffer_t *curbp;
|
buffer_t *curbp;
|
||||||
|
@ -97,21 +97,20 @@ buffer_t* new_buffer()
|
||||||
|
|
||||||
void fatal(char *msg)
|
void fatal(char *msg)
|
||||||
{
|
{
|
||||||
move(LINES-1, 0);
|
|
||||||
refresh();
|
|
||||||
noraw();
|
noraw();
|
||||||
endwin();
|
endwin();
|
||||||
printf("\n" E_NAME " " E_VERSION ": %s\n", msg);
|
printf("\n" E_NAME " " E_VERSION ": %s\n", msg);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void msg(char *msg, ...)
|
int msg(char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, msg);
|
va_start(args, msg);
|
||||||
(void)vsprintf(msgline, msg, args);
|
(void)vsprintf(msgline, msg, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
msgflag = TRUE;
|
msgflag = TRUE;
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Given a buffer offset, convert it to a pointer into the buffer */
|
/* Given a buffer offset, convert it to a pointer into the buffer */
|
||||||
|
@ -147,19 +146,13 @@ int growgap(buffer_t *bp, point_t n)
|
||||||
newlen = buflen + n * sizeof (char_t);
|
newlen = buflen + n * sizeof (char_t);
|
||||||
|
|
||||||
if (buflen == 0) {
|
if (buflen == 0) {
|
||||||
if (newlen < 0 || MAX_SIZE_T < newlen) fatal("Failed to allocate required memory.\n");
|
if (newlen < 0 || MAX_SIZE_T < newlen) fatal("Failed to allocate required memory");
|
||||||
new = (char_t*) malloc((size_t) newlen);
|
new = (char_t*) malloc((size_t) newlen);
|
||||||
if (new == NULL) fatal("Failed to allocate required memory.\n");
|
if (new == NULL) fatal("Failed to allocate required memory");
|
||||||
} else {
|
} else {
|
||||||
if (newlen < 0 || MAX_SIZE_T < newlen) {
|
if (newlen < 0 || MAX_SIZE_T < newlen) return msg("Failed to allocate required memory");
|
||||||
msg("Failed to allocate required memory");
|
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
new = (char_t*) realloc(bp->b_buf, (size_t) newlen);
|
new = (char_t*) realloc(bp->b_buf, (size_t) newlen);
|
||||||
if (new == NULL) {
|
if (new == NULL) return msg("Failed to allocate required memory");
|
||||||
msg("Failed to allocate required memory"); /* Report non-fatal error. */
|
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Relocate pointers in new buffer and append the new
|
/* Relocate pointers in new buffer and append the new
|
||||||
|
@ -216,27 +209,17 @@ int insert_file(char *fn, int modflag)
|
||||||
size_t len;
|
size_t len;
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
|
|
||||||
if (stat(fn, &sb) < 0) {
|
if (stat(fn, &sb) < 0) return msg("Failed to find file \"%s\".", fn);
|
||||||
msg("Failed to find file \"%s\".", fn);
|
if (MAX_SIZE_T < sb.st_size) return msg("File \"%s\" is too big to load.", fn);
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
if (MAX_SIZE_T < sb.st_size) {
|
|
||||||
msg("File \"%s\" is too big to load.", fn);
|
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
if (curbp->b_egap - curbp->b_gap < sb.st_size * sizeof (char_t) && !growgap(curbp, sb.st_size))
|
if (curbp->b_egap - curbp->b_gap < sb.st_size * sizeof (char_t) && !growgap(curbp, sb.st_size))
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
if ((fp = fopen(fn, "r")) == NULL) {
|
if ((fp = fopen(fn, "r")) == NULL) return msg("Failed to open file \"%s\".", fn);
|
||||||
msg("Failed to open file \"%s\".", fn);
|
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
curbp->b_point = movegap(curbp, curbp->b_point);
|
curbp->b_point = movegap(curbp, curbp->b_point);
|
||||||
curbp->b_gap += len = fread(curbp->b_gap, sizeof (char), (size_t) sb.st_size, fp);
|
curbp->b_gap += len = fread(curbp->b_gap, sizeof (char), (size_t) sb.st_size, fp);
|
||||||
|
|
||||||
if (fclose(fp) != 0) {
|
if (fclose(fp) != 0) return msg("Failed to close file \"%s\".", fn);
|
||||||
msg("Failed to close file \"%s\".", fn);
|
|
||||||
return (FALSE);
|
|
||||||
}
|
|
||||||
curbp->b_flags &= (modflag ? B_MODIFIED : ~B_MODIFIED);
|
curbp->b_flags &= (modflag ? B_MODIFIED : ~B_MODIFIED);
|
||||||
msg("File \"%s\" %ld bytes read.", fn, len);
|
msg("File \"%s\" %ld bytes read.", fn, len);
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
|
@ -373,6 +356,7 @@ point_t lncolumn(buffer_t *bp, point_t offset, int column)
|
||||||
void modeline(buffer_t *bp)
|
void modeline(buffer_t *bp)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
char temp[TEMPBUF];
|
||||||
char mch;
|
char mch;
|
||||||
|
|
||||||
standout();
|
standout();
|
||||||
|
@ -755,8 +739,6 @@ int main(int argc, char **argv)
|
||||||
if (scrap != NULL) free(scrap);
|
if (scrap != NULL) free(scrap);
|
||||||
if (curbp != NULL) free(curbp);
|
if (curbp != NULL) free(curbp);
|
||||||
|
|
||||||
move(MSGLINE, 0);
|
|
||||||
refresh();
|
|
||||||
noraw();
|
noraw();
|
||||||
endwin();
|
endwin();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue