summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pttbbs/mbbsd/pmore.c404
1 files changed, 184 insertions, 220 deletions
diff --git a/pttbbs/mbbsd/pmore.c b/pttbbs/mbbsd/pmore.c
index a577d875..f6bdf2bb 100644
--- a/pttbbs/mbbsd/pmore.c
+++ b/pttbbs/mbbsd/pmore.c
@@ -636,8 +636,7 @@ expand_esc_star(char *buf, const char *src, int szbuf)
{
assert(*src == KEY_ESC && *(src+1) == '*');
src += 2;
- switch(*src)
- {
+ switch (*src) {
// secure content (return 1)
case 't': // current time.
strlcpy(buf, Now(), szbuf);
@@ -781,8 +780,7 @@ mf_gunzip(const char *fn, int fd)
// rewind for decompression
lseek(fd, 0, SEEK_SET);
- switch(fork())
- {
+ switch (fork()) {
case 0:
// child
dup2(fd, 0); // input
@@ -821,11 +819,10 @@ mf_attach(const char *fn)
fd = mf_gunzip(fn, fd);
#endif
- if(fd < 0)
+ if (fd < 0)
return 0;
- if (fstat(fd, &st) || ((mf.len = st.st_size) <= 0) || S_ISDIR(st.st_mode))
- {
+ if (fstat(fd, &st) || ((mf.len = st.st_size) <= 0) || S_ISDIR(st.st_mode)) {
mf.len = 0;
close(fd);
return 0;
@@ -836,12 +833,10 @@ mf_attach(const char *fn)
lseek(fd, 0, SEEK_SET);
*/
- mf.start = mmap(NULL, mf.len, PROT_READ,
- MF_MMAP_OPTION, fd, 0);
+ mf.start = mmap(NULL, mf.len, PROT_READ, MF_MMAP_OPTION, fd, 0);
close(fd);
- if(mf.start == MAP_FAILED)
- {
+ if (mf.start == MAP_FAILED) {
RESETMF();
return 0;
}
@@ -864,10 +859,9 @@ mf_attach(const char *fn)
mf_parseHeaders();
/* a workaround for wrapped separators */
- if(mf.maxlinenoS > 0 &&
+ if (mf.maxlinenoS > 0 &&
fh.lines >= mf.maxlinenoS &&
- bpref.separator & MFDISP_SEP_WRAP)
- {
+ bpref.separator & MFDISP_SEP_WRAP) {
mf_determinemaxdisps(+1, 1);
}
@@ -878,7 +872,7 @@ MFPROTO void
mf_detach()
{
mf_freeHeaders();
- if(mf.start) {
+ if (mf.start) {
munmap(mf.start, mf.len);
RESETMF();
}
@@ -892,16 +886,15 @@ mf_sync_lineno()
{
unsigned char *p;
- if(mf.disps == mf.maxdisps && mf.maxlinenoS >= 0)
- {
+ if (mf.disps == mf.maxdisps && mf.maxlinenoS >= 0) {
mf.lineno = mf.maxlinenoS;
} else {
mf.lineno = 0;
for (p = mf.start; p < mf.disps; p++)
- if(*p == '\n')
+ if (*p == '\n')
mf.lineno ++;
- if(mf.disps == mf.maxdisps && mf.maxlinenoS < 0)
+ if (mf.disps == mf.maxdisps && mf.maxlinenoS < 0)
mf.maxlinenoS = mf.lineno;
}
}
@@ -915,10 +908,8 @@ mf_determinemaxdisps(int backlines, int update_by_offset)
unsigned char *pbak = mf.disps, *mbak = mf.maxdisps;
long lbak = mf.lineno;
- if(update_by_offset)
- {
- if(backlines > 0)
- {
+ if (update_by_offset) {
+ if (backlines > 0) {
/* tricky way because usually
* mf_forward checks maxdisps.
*/
@@ -934,17 +925,16 @@ mf_determinemaxdisps(int backlines, int update_by_offset)
backlines = mf_backward(backlines);
}
- if(mf.disps != mbak)
- {
+ if (mf.disps != mbak) {
mf.maxdisps = mf.disps;
- if(update_by_offset)
+ if (update_by_offset)
mf.lastpagelines -= backlines;
else
mf.lastpagelines = backlines;
mf.maxlinenoS = -1;
#ifdef PMORE_PRELOAD_SIZE
- if(mf.len <= PMORE_PRELOAD_SIZE)
+ if (mf.len <= PMORE_PRELOAD_SIZE)
mf_sync_lineno(); // maxlinenoS will be automatically updated
#endif
}
@@ -969,12 +959,10 @@ mf_backward(int lines)
if (mf.disps < mf.end && *mf.disps == '\n')
lines++, real_moved --;
- while (1)
- {
- if (mf.disps < mf.start || *mf.disps == '\n')
- {
+ while (1) {
+ if (mf.disps < mf.start || *mf.disps == '\n') {
real_moved ++;
- if(lines-- <= 0 || mf.disps < mf.start)
+ if (lines-- <= 0 || mf.disps < mf.start)
break;
}
mf.disps --;
@@ -993,24 +981,23 @@ mf_forward(int lines)
{
int real_moved = 0;
- while(mf.disps <= mf.maxdisps && lines > 0)
- {
+ while (mf.disps <= mf.maxdisps && lines > 0) {
while (mf.disps <= mf.maxdisps && *mf.disps++ != '\n');
- if(mf.disps <= mf.maxdisps)
+ if (mf.disps <= mf.maxdisps)
mf.lineno++, lines--, real_moved++;
}
- if(mf.disps > mf.maxdisps)
+ if (mf.disps > mf.maxdisps)
mf.disps = mf.maxdisps;
/* please make sure you have lineno synced. */
- if(mf.disps == mf.maxdisps && mf.maxlinenoS < 0)
+ if (mf.disps == mf.maxdisps && mf.maxlinenoS < 0)
mf.maxlinenoS = mf.lineno;
return real_moved;
/*
- if(lines > 0)
+ if (lines > 0)
return MFNAV_OK;
else
return MFNAV_EXCEED;
@@ -1020,7 +1007,7 @@ mf_forward(int lines)
MFFPROTO int
mf_goTop()
{
- if(mf.disps == mf.start && mf.xpos > 0)
+ if (mf.disps == mf.start && mf.xpos > 0)
mf.xpos = 0;
mf.disps = mf.start;
mf.lineno = 0;
@@ -1065,56 +1052,47 @@ mf_search(int direction)
int l = sr.len;
int flFound = 0;
- if(!s || !*s)
+ if (!s || !*s)
return 0;
- if(direction == MFSEARCH_FORWARD)
- {
+ if (direction == MFSEARCH_FORWARD) {
mf_forward(1);
- while(mf.disps < mf.end - l)
- {
- if(sr.cmpfunc((char*)mf.disps, (char*)s, l) == 0)
- {
+ while (mf.disps < mf.end - l) {
+ if (sr.cmpfunc((char*)mf.disps, (char*)s, l) == 0) {
flFound = 1;
break;
} else {
/* DBCS check here. */
- if(PMORE_DBCS_LEADING(*mf.disps++))
+ if (PMORE_DBCS_LEADING(*mf.disps++))
mf.disps++;
}
}
mf_backward(0);
- if(mf.disps > mf.maxdisps)
+ if (mf.disps > mf.maxdisps)
mf.disps = mf.maxdisps;
mf_sync_lineno();
- }
- else if(direction == MFSEARCH_BACKWARD)
- {
+ } else if (direction == MFSEARCH_BACKWARD) {
mf_backward(1);
- while (!flFound && mf.disps > mf.start)
- {
- while(!flFound && mf.disps < mf.end-l && *mf.disps != '\n')
- {
- if(sr.cmpfunc((char*)mf.disps, (char*)s, l) == 0)
- {
+ while (!flFound && mf.disps > mf.start) {
+ while (!flFound && mf.disps < mf.end-l && *mf.disps != '\n') {
+ if (sr.cmpfunc((char*)mf.disps, (char*)s, l) == 0) {
flFound = 1;
break;
- } else
- {
+ } else {
/* DBCS check here. */
- if(PMORE_DBCS_LEADING(*mf.disps++))
+ if (PMORE_DBCS_LEADING(*mf.disps++))
mf.disps++;
}
}
- if(!flFound)
+ if (!flFound)
mf_backward(1);
}
mf_backward(0);
- if(mf.disps < mf.start)
+ if (mf.disps < mf.start)
mf.disps = mf.start;
mf_sync_lineno();
}
- if(flFound)
+ if (flFound)
MFDISP_DIRTY();
return flFound;
}
@@ -1131,19 +1109,15 @@ MFPROTO void
pmore_str_strip_ansi(unsigned char *p) // warning: p is NULL terminated
{
unsigned char *pb = p;
- while (*p != 0)
- {
- if (*p == ESC_CHR)
- {
+ while (*p != 0) {
+ if (*p == ESC_CHR) {
// ansi code sequence, ignore them.
pb = p++;
while (ANSI_IN_ESCAPE(*p))
p++;
memmove(pb, p, ustrlen(p)+1);
p = pb;
- }
- else if (*p < ' ' || *p == 0xff)
- {
+ } else if (*p < ' ' || *p == 0xff) {
// control codes, ignore them.
// what is 0xff? old BBS does not handle telnet protocol
// so IACs were inserted.
@@ -1163,7 +1137,7 @@ pmore_str_chomp(unsigned char *p)
unsigned char *pb = p + ustrlen(p)-1;
while (pb >= p)
- if(ISSPACE(*pb))
+ if (ISSPACE(*pb))
*pb-- = 0;
else
break;
@@ -1171,7 +1145,7 @@ pmore_str_chomp(unsigned char *p)
while (*pb && ISSPACE(*pb))
pb++;
- if(pb != p)
+ if (pb != p)
memmove(p, pb, ustrlen(pb)+1);
}
@@ -1182,8 +1156,7 @@ pmore_str_chomp(unsigned char *p)
MFPROTO void
mf_freeHeaders()
{
- if(fh.lines > 0)
- {
+ if (fh.lines > 0) {
int i;
for (i = 0; i < FH_HEADERS; i++)
@@ -1211,34 +1184,29 @@ mf_parseHeaders()
RESETFH();
- if(mf.len < LEN_AUTHOR2)
+ if (mf.len < LEN_AUTHOR2)
return;
- if (strncmp((char*)mf.start, STR_AUTHOR1, LEN_AUTHOR1) == 0)
- {
+ if (strncmp((char*)mf.start, STR_AUTHOR1, LEN_AUTHOR1) == 0) {
fh.lines = 3; // local
- }
- else if (strncmp((char*)mf.start, STR_AUTHOR2, LEN_AUTHOR2) == 0)
- {
+ } else if (strncmp((char*)mf.start, STR_AUTHOR2, LEN_AUTHOR2) == 0) {
fh.lines = 4;
}
else
return;
- for (i = 0; i < fh.lines; i++)
- {
+ for (i = 0; i < fh.lines; i++) {
unsigned char *p = pmf, *pb = pmf;
int l;
/* first, go to line-end */
- while(pmf < mf.end && *pmf != '\n')
+ while (pmf < mf.end && *pmf != '\n')
pmf++;
- if(pmf >= mf.end)
+ if (pmf >= mf.end)
break;
// strip last line if it is empty.
- if (p == pmf && i+1 == fh.lines)
- {
+ if (p == pmf && i+1 == fh.lines) {
fh.lines --;
break;
}
@@ -1272,9 +1240,9 @@ mf_parseHeaders()
#endif // PMORE_OVERRIDE_TIME
// strip to quotes[+1 space]
- if((pb = ustrchr((char*)p, ':')) != NULL)
+ if ((pb = ustrchr(p, ':')) != NULL)
{
- if(*(pb+1) == ' ') pb++;
+ if (*(pb+1) == ' ') pb++;
memmove(p, pb, ustrlen(pb)+1);
}
@@ -1282,7 +1250,7 @@ mf_parseHeaders()
pmore_str_chomp(p);
// special case, floats are in line[0].
- if(i == 0 && (pb = ustrrchr(p, ':')) != NULL && *(pb+1))
+ if (i == 0 && (pb = ustrrchr(p, ':')) != NULL && *(pb+1))
{
unsigned char *np = (unsigned char*)strdup((char*)(pb+1));
@@ -1323,14 +1291,12 @@ MFDISP_PREDICT_LINEWIDTH(unsigned char *p)
int off = 0;
int inAnsi = 0;
- while (p < mf.end && *p != '\n')
- {
- if(inAnsi)
- {
- if(!ANSI_IN_ESCAPE(*p))
+ while (p < mf.end && *p != '\n') {
+ if (inAnsi) {
+ if (!ANSI_IN_ESCAPE(*p))
inAnsi = 0;
} else {
- if(*p == ESC_CHR)
+ if (*p == ESC_CHR)
inAnsi = 1;
else
off ++;
@@ -1350,7 +1316,7 @@ MFDISP_DBCS_HEADERWIDTH(int originalw)
#define MFDISP_FORCEUPDATE2TOP() { startline = 0; }
#define MFDISP_FORCEUPDATE2BOT() { endline = MFDISP_PAGE - 1; }
#define MFDISP_FORCEDIRTY2BOT() \
- if(optimized == MFDISP_OPT_OPTIMIZED) { \
+ if (optimized == MFDISP_OPT_OPTIMIZED) { \
optimized = MFDISP_OPT_FORCEDIRTY; \
MFDISP_FORCEUPDATE2BOT(); \
}
@@ -1384,7 +1350,7 @@ mf_display()
const int maxcol = dispw - 1;
int newline_default = MFDISP_NEWLINE_CLEAR;
- if(mf.wraplines || mf.trunclines)
+ if (mf.wraplines || mf.trunclines)
MFDISP_DIRTY(); // we can't scroll with wrapped lines.
mf.wraplines = 0;
@@ -1411,7 +1377,7 @@ mf_display()
int scrll = mf.lineno - mf.oldlineno, i;
int reverse = (scrll > 0 ? 0 : 1);
- if(reverse)
+ if (reverse)
scrll = -scrll;
else
{
@@ -1421,7 +1387,7 @@ mf_display()
pmore_clrtoeol(b_lines, 0);
}
- if(scrll > MFDISP_PAGE)
+ if (scrll > MFDISP_PAGE)
scrll = MFDISP_PAGE;
i = scrll;
@@ -1436,13 +1402,13 @@ mf_display()
} else
#endif // defined(USE_PFTERM)
- while(i-- > 0)
+ while (i-- > 0)
if (reverse)
rscroll(); // v
else
scroll(); // ^
- if(reverse)
+ if (reverse)
{
endline = scrll-1; // v
// clear the line which will be scrolled
@@ -1476,10 +1442,10 @@ mf_display()
currline = mf.lineno + lines;
col = 0;
- if(!wrapping && mf.dispe < mf.end)
+ if (!wrapping && mf.dispe < mf.end)
mf.dispedlines++;
- if(optimized == MFDISP_OPT_FORCEDIRTY)
+ if (optimized == MFDISP_OPT_FORCEDIRTY)
{
/* btw, apparently this line should be visible.
* if not, maybe something wrong.
@@ -1488,10 +1454,10 @@ mf_display()
}
#ifdef PMORE_USE_ASCII_MOVIE
- if(mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD &&
+ if (mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD &&
mfmovie.compat24)
{
- if(mf.dispedlines == 23)
+ if (mf.dispedlines == 23)
return;
}
else if (mfmovie.mode == MFDISP_MOVIE_DETECTED)
@@ -1499,14 +1465,14 @@ mf_display()
// detected only applies for first page.
// since this is not very often, let's prevent
// showing control codes.
- if(mf_movieFrameHeader(mf.dispe, mf.end))
+ if (mf_movieFrameHeader(mf.dispe, mf.end))
MFDISP_SKIPCURLINE();
}
- else if(mfmovie.mode == MFDISP_MOVIE_UNKNOWN ||
+ else if (mfmovie.mode == MFDISP_MOVIE_UNKNOWN ||
mfmovie.mode == MFDISP_MOVIE_PLAYING)
{
- if(mf_movieFrameHeader(mf.dispe, mf.end))
- switch(mfmovie.mode)
+ if (mf_movieFrameHeader(mf.dispe, mf.end))
+ switch (mfmovie.mode)
{
case MFDISP_MOVIE_UNKNOWN:
@@ -1560,7 +1526,7 @@ mf_display()
* leads to slow display (we cannt speed it up with
* optimized scrolling.
*/
- if(bpref.separator & MFDISP_SEP_WRAP)
+ if (bpref.separator & MFDISP_SEP_WRAP)
{
/* we have to do all wrapping stuff
* in normal text section.
@@ -1569,7 +1535,7 @@ mf_display()
wrapping = 1;
mf.wraplines ++;
MFDISP_FORCEDIRTY2BOT();
- if(mf.dispe > mf.start &&
+ if (mf.dispe > mf.start &&
mf.dispe < mf.end &&
*mf.dispe == '\n')
mf.dispe --;
@@ -1609,7 +1575,7 @@ mf_display()
outs(ANSI_RESET);
MFDISP_SKIPCURLINE();
}
- else if(mf.dispe < mf.end)
+ else if (mf.dispe < mf.end)
{
/* case 3, normal text */
long dist = mf.end - mf.dispe;
@@ -1619,16 +1585,16 @@ mf_display()
unsigned char c;
- if(xprefix > 0 && !bpref.oldwrapmode && bpref.wrapindicator)
+ if (xprefix > 0 && !bpref.oldwrapmode && bpref.wrapindicator)
{
outs(MFDISP_WNAV_INDICATOR);
col++;
}
// first check quote
- if(bpref.rawmode == MFDISP_RAW_NA)
+ if (bpref.rawmode == MFDISP_RAW_NA)
{
- if(dist > 1 &&
+ if (dist > 1 &&
(*mf.dispe == ':' || *mf.dispe == '>') &&
*(mf.dispe+1) == ' ')
{
@@ -1643,23 +1609,23 @@ mf_display()
}
}
- while(!breaknow && mf.dispe < mf.end && (c = *mf.dispe) != '\n')
+ while (!breaknow && mf.dispe < mf.end && (c = *mf.dispe) != '\n')
{
- if(inAnsi)
+ if (inAnsi)
{
if (!ANSI_IN_ESCAPE(c))
inAnsi = 0;
/* whatever this is, output! */
mf.dispe ++;
- switch(bpref.rawmode)
+ switch (bpref.rawmode)
{
case MFDISP_RAW_NOANSI:
/* TODO
* col++ here may be buggy. */
- if(col < t_columns)
+ if (col < t_columns)
{
/* we tried our best to determine */
- if(xprefix > 0)
+ if (xprefix > 0)
xprefix --;
else
{
@@ -1667,14 +1633,14 @@ mf_display()
col++;
}
}
- if(!inAnsi)
+ if (!inAnsi)
outs(ANSI_RESET);
break;
case MFDISP_RAW_PLAIN:
break;
default:
- if(ANSI_IN_MOVECMD(c))
+ if (ANSI_IN_MOVECMD(c))
{
#ifdef PMORE_RESTRICT_ANSI_MOVEMENT
c = 's'; // "save cursor pos"
@@ -1700,14 +1666,14 @@ mf_display()
} else {
- if(c == ESC_CHR)
+ if (c == ESC_CHR)
{
inAnsi = 1;
/* we can't output now because maybe
* ptt_prints wants to do something.
*/
}
- else if(sr.search_str && srlen < 0 && // support search
+ else if (sr.search_str && srlen < 0 && // support search
#ifdef PMORE_USE_DBCS_WRAP
dbcs_incomplete == NULL &&
#endif
@@ -1729,7 +1695,7 @@ mf_display()
//
// or use the sample version inside pmore source.
//
- if(inAnsi &&
+ if (inAnsi &&
mf.end - mf.dispe > 2 &&
*(mf.dispe+1) == '*')
{
@@ -1745,7 +1711,7 @@ mf_display()
memcpy(buf, mf.dispe, 3); // ^[*s
mf.dispe += 2;
- if(bpref.rawmode)
+ if (bpref.rawmode)
buf[0] = '*';
else
{
@@ -1779,7 +1745,7 @@ mf_display()
if (col + i > maxcol)
i = maxcol - col;
- if(i > 0)
+ if (i > 0)
{
pbuf[i] = 0;
col += i;
@@ -1788,17 +1754,17 @@ mf_display()
inAnsi = 0;
} else
#endif // PMORE_EXPAND_ESC_STAR
- if(inAnsi)
+ if (inAnsi)
{
- switch(bpref.rawmode)
+ switch (bpref.rawmode)
{
case MFDISP_RAW_NOANSI:
/* TODO
* col++ here may be buggy. */
- if(col < t_columns)
+ if (col < t_columns)
{
/* we tried our best to determine */
- if(xprefix > 0)
+ if (xprefix > 0)
xprefix --;
else
{
@@ -1820,7 +1786,7 @@ mf_display()
* "indicators" (one byte),
* so we can tolerate one more byte.
*/
- if(col <= maxcol) // normal case
+ if (col <= maxcol) // normal case
canOutput = 1;
else if (bpref.oldwrapmode && // oldwrapmode
col < t_columns)
@@ -1832,7 +1798,7 @@ mf_display()
// put more efforts to determine
// if we can use indicator space
// determine real offset between \n
- if(predicted_linewidth < 0)
+ if (predicted_linewidth < 0)
predicted_linewidth = col + 1 +
MFDISP_PREDICT_LINEWIDTH(mf.dispe+1);
off = predicted_linewidth - (col + 1);
@@ -1850,26 +1816,26 @@ mf_display()
#endif
}
- if(canOutput)
+ if (canOutput)
{
/* the real place to output text
*/
#ifdef PMORE_USE_DBCS_WRAP
- if(mf.xpos > 0 && dbcs_incomplete && col < 2)
+ if (mf.xpos > 0 && dbcs_incomplete && col < 2)
{
/* col = 0 or 1 only */
- if(col == 0) /* no indicators */
+ if (col == 0) /* no indicators */
c = ' ';
- else if(!bpref.oldwrapmode && bpref.wrapindicator)
+ else if (!bpref.oldwrapmode && bpref.wrapindicator)
c = ' ';
}
if (dbcs_incomplete)
dbcs_incomplete = NULL;
- else if(PMORE_DBCS_LEADING(c))
+ else if (PMORE_DBCS_LEADING(c))
dbcs_incomplete = mf.dispe;
#endif
- if(xprefix > 0)
+ if (xprefix > 0)
xprefix --;
else
{
@@ -1879,12 +1845,12 @@ mf_display()
if (srlen == 0)
outs(ANSI_RESET);
- if(srlen >= 0)
+ if (srlen >= 0)
srlen --;
}
else
/* wrap modes */
- if(mf.xpos > 0 || bpref.wrapmode == MFDISP_WRAP_TRUNCATE)
+ if (mf.xpos > 0 || bpref.wrapmode == MFDISP_WRAP_TRUNCATE)
{
breaknow = 1;
mf.trunclines ++;
@@ -1897,7 +1863,7 @@ mf_display()
wrapping = 1;
mf.wraplines ++;
#ifdef PMORE_USE_DBCS_WRAP
- if(dbcs_incomplete)
+ if (dbcs_incomplete)
{
mf.dispe = dbcs_incomplete;
dbcs_incomplete = NULL;
@@ -1905,7 +1871,7 @@ mf_display()
* use the followings to
* erase printed character.
*/
- if(col > 0) {
+ if (col > 0) {
/* TODO BUG BUGGY
* using move is maybe actually non-sense
* because BBS terminal system cannot
@@ -1934,24 +1900,24 @@ mf_display()
}
}
}
- if(!breaknow)
+ if (!breaknow)
mf.dispe ++;
}
- if(flResetColor)
+ if (flResetColor)
outs(ANSI_RESET);
/* "wrapping" should be only in normal text section.
* We don't support wrap within scrolling,
* so if we have to wrap, invalidate all lines.
*/
- if(breaknow)
+ if (breaknow)
{
- if(wrapping)
+ if (wrapping)
MFDISP_FORCEDIRTY2BOT();
- if(!bpref.oldwrapmode && bpref.wrapindicator && col < t_columns)
+ if (!bpref.oldwrapmode && bpref.wrapindicator && col < t_columns)
{
- if(wrapping)
+ if (wrapping)
outs(MFDISP_WRAP_INDICATOR);
else
outs(MFDISP_TRUNC_INDICATOR);
@@ -1963,11 +1929,11 @@ mf_display()
wrapping = 0;
}
- if(mf.dispe < mf.end && *mf.dispe == '\n')
+ if (mf.dispe < mf.end && *mf.dispe == '\n')
mf.dispe ++;
// else, we're in wrap mode.
- switch(newline)
+ switch (newline)
{
case MFDISP_NEWLINE_SKIP:
break;
@@ -1986,7 +1952,7 @@ mf_display()
* but if we got wrapped lines in last page,
* mf.maxdisps may be required to be larger.
*/
- if(mf.disps == mf.maxdisps && mf.dispe < mf.end)
+ if (mf.disps == mf.maxdisps && mf.dispe < mf.end)
{
/*
* never mind if that's caused by separator
@@ -2043,7 +2009,7 @@ mf_display_footer(
(int)((unsigned long)(mf.dispe-mf.start) * 100 / mf.len);
#ifdef DEBUG
- if(debug)
+ if (debug)
{
/* in debug mode don't print ANSI codes
* because themselves are buggy.
@@ -2085,7 +2051,7 @@ mf_display_footer(
// determine summary colours
outs(ANSI_RESET);
- if(mf_viewedAll())
+ if (mf_viewedAll())
outs(PMORE_COLOR_FOOTER1_VIEWALL);
else if (mf_viewedNone())
outs(PMORE_COLOR_FOOTER1_VIEWNONE);
@@ -2093,7 +2059,7 @@ mf_display_footer(
outs(PMORE_COLOR_FOOTER1);
// old status bar: quick draw
- if(bpref.oldstatusbar)
+ if (bpref.oldstatusbar)
{
prints(" 瀏覽 P.%d(%d%%) ", nowpage, progress);
outs(
@@ -2112,7 +2078,7 @@ mf_display_footer(
// pmore style footer
// part 1, brief report (SUMMAR)
- if(allpages >= 0)
+ if (allpages >= 0)
snprintf(buf, sizeof(buf),
" 瀏覽 第 %1d/%1d 頁 (%3d%%) ",
nowpage,
@@ -2130,16 +2096,16 @@ mf_display_footer(
// part 2, status report (DETAIL)
outs(PMORE_COLOR_FOOTER2);
- if(override_msg)
+ if (override_msg)
{
buf[0] = 0;
- if(override_attr) outs(override_attr);
+ if (override_attr) outs(override_attr);
strlcpy(buf, override_msg, sizeof(buf));
RESET_OVERRIDE_MSG();
}
else
{
- if(mf.xpos > 0)
+ if (mf.xpos > 0)
{
snprintf(buf, sizeof(buf),
" 顯示範圍: %d~%d 欄位, %02d~%02d 行",
@@ -2238,10 +2204,10 @@ PMORE_UINAV_FORWARDPAGE()
*/
int i = mf.dispedlines - 1;
- if(mf_viewedAll())
+ if (mf_viewedAll())
return;
- if(i < 1)
+ if (i < 1)
i = 1;
mf_forward(i);
}
@@ -2249,7 +2215,7 @@ PMORE_UINAV_FORWARDPAGE()
MFFPROTO void
PMORE_UINAV_FORWARDLINE()
{
- if(mf_viewedAll())
+ if (mf_viewedAll())
return;
mf_forward(1);
}
@@ -2296,16 +2262,16 @@ pmore2(
STATINC(STAT_MORE);
#endif // STAT_MORE
- if(!mf_attach(fpath))
+ if (!mf_attach(fpath))
{
REENTRANT_RESTORE();
return -1;
}
clear();
- while(!flExit)
+ while (!flExit)
{
- if(invalidate)
+ if (invalidate)
{
mf_display();
invalidate = 0;
@@ -2316,10 +2282,10 @@ pmore2(
*/
invalidate = 1;
- if(promptend == PMORE_AUTO_EXIT)
+ if (promptend == PMORE_AUTO_EXIT)
{
#ifdef PMORE_USE_ASCII_MOVIE
- if(mfmovie.mode == MFDISP_MOVIE_DETECTED)
+ if (mfmovie.mode == MFDISP_MOVIE_DETECTED)
{
/* quick auto play */
mfmovie.mode = MFDISP_MOVIE_YES;
@@ -2346,7 +2312,7 @@ pmore2(
} else if (mfmovie.mode != MFDISP_MOVIE_PLAYING)
#endif
#ifndef PMORE_AUTOEXIT_FIRSTPAGE
- if(mf_viewedAll())
+ if (mf_viewedAll())
#endif // PMORE_AUTOEXIT_FIRSTPAGE
break;
}
@@ -2376,10 +2342,10 @@ pmore2(
outs(ANSI_RESET ANSI_COLOR(1;33;44));
w -= strlen(s); outs(s);
- while(w-- > 0) outc(' '); outs(ANSI_RESET ANSI_CLRTOEND);
+ while (w-- > 0) outc(' '); outs(ANSI_RESET ANSI_CLRTOEND);
w = tolower(vkey());
- if( w != 'n' &&
+ if ( w != 'n' &&
w != KEY_UP && w != KEY_LEFT &&
w != 'q')
{
@@ -2407,18 +2373,18 @@ pmore2(
// in SyncFrame.
refresh();
- if(mf_movieSyncFrame())
+ if (mf_movieSyncFrame())
{
/* user did not hit anything.
* play next frame.
*/
- if(mfmovie.mode == MFDISP_MOVIE_PLAYING)
+ if (mfmovie.mode == MFDISP_MOVIE_PLAYING)
{
- if(!mf_movieNextFrame())
+ if (!mf_movieNextFrame())
{
STOP_MOVIE();
- if(promptend == PMORE_AUTO_EXIT)
+ if (promptend == PMORE_AUTO_EXIT)
{
/* if we played to end,
* no need to prevent pressanykey().
@@ -2427,9 +2393,9 @@ pmore2(
}
}
}
- else if(mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD)
+ else if (mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD)
{
- if(mf_viewedAll())
+ if (mf_viewedAll())
{
mfmovie.mode = MFDISP_MOVIE_NO;
mf_determinemaxdisps(MFNAV_PAGE, 0);
@@ -2437,7 +2403,7 @@ pmore2(
}
else
{
- if(!mfmovie.compat24)
+ if (!mfmovie.compat24)
PMORE_UINAV_FORWARDPAGE();
else
mf_forward(22);
@@ -2447,15 +2413,15 @@ pmore2(
/* TODO simple navigation here? */
/* stop playing */
- if(mfmovie.mode == MFDISP_MOVIE_PLAYING)
+ if (mfmovie.mode == MFDISP_MOVIE_PLAYING)
{
STOP_MOVIE();
- if(promptend == PMORE_AUTO_EXIT)
+ if (promptend == PMORE_AUTO_EXIT)
{
flExit = 1, retval = READ_NEXT;
}
}
- else if(mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD)
+ else if (mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD)
{
mfmovie.mode = MFDISP_MOVIE_NO;
mf_determinemaxdisps(MFNAV_PAGE, 0);
@@ -2478,7 +2444,7 @@ pmore2(
if (key_handler)
{
int r = key_handler(ch, ctx);
- switch(r)
+ switch (r)
{
case -1:
// common return value of 'file not exist',
@@ -2521,7 +2487,7 @@ pmore2(
case Ctrl('F'):
case KEY_PGDN:
#ifdef PMORE_AUTONEXT_ON_PAGEFLIP
- if(mf_viewedAll())
+ if (mf_viewedAll())
promptend = PMORE_AUTO_EXIT, flExit = 1, retval = READ_NEXT;
else
#endif // PMORE_AUTONEXT_ON_PAGEFLIP
@@ -2530,7 +2496,7 @@ pmore2(
case Ctrl('B'):
case KEY_PGUP:
#ifdef PMORE_AUTONEXT_ON_PAGEFLIP
- if(mf_viewedNone())
+ if (mf_viewedNone())
promptend = PMORE_AUTO_EXIT, flExit = 1, retval = READ_PREV;
else
#endif // PMORE_AUTONEXT_ON_PAGEFLIP
@@ -2553,7 +2519,7 @@ pmore2(
*/
mf_display();
invalidate = 0;
- if(mf_viewedAll())
+ if (mf_viewedAll())
break;
/* one more try. */
@@ -2564,17 +2530,17 @@ pmore2(
/* Compound Navigation */
case '.':
- if(mf.xpos == 0)
+ if (mf.xpos == 0)
mf.xpos ++;
mf.xpos ++;
break;
case ',':
- if(mf.xpos > 0)
+ if (mf.xpos > 0)
mf.xpos --;
break;
case '\t':
case '>':
- //if(mf.xpos == 0 || mf.trunclines)
+ //if (mf.xpos == 0 || mf.trunclines)
mf.xpos = (mf.xpos/8+1)*8;
break;
/* acronym form shift-tab, ^[[Z */
@@ -2584,7 +2550,7 @@ pmore2(
#endif // KEY_STAB
case '<':
mf.xpos = (mf.xpos/8-1)*8;
- if(mf.xpos < 0) mf.xpos = 0;
+ if (mf.xpos < 0) mf.xpos = 0;
break;
case '\r':
@@ -2605,7 +2571,7 @@ pmore2(
break;
case KEY_RIGHT:
- if(mf_viewedAll())
+ if (mf_viewedAll())
{
// returning READ_NEXT maybe better for RIGHT key.
// but many people are already used to pmore style...
@@ -2627,13 +2593,13 @@ pmore2(
break;
case KEY_UP:
- if(mf_viewedNone())
+ if (mf_viewedNone())
flExit = 1, retval = READ_PREV;
else
mf_backward(1);
break;
case Ctrl('H'):
- if(mf_viewedNone())
+ if (mf_viewedNone())
flExit = 1, retval = READ_PREV;
else
mf_backward(MFNAV_PAGE);
@@ -2653,7 +2619,7 @@ pmore2(
char sbuf[81] = "";
char ans[4] = "n";
- if(sr.search_str) {
+ if (sr.search_str) {
free(sr.search_str);
sr.search_str = NULL;
}
@@ -2676,7 +2642,7 @@ pmore2(
#endif
}
sr.len = strlen(sbuf);
- if(sr.len) sr.search_str = (unsigned char*)strdup(sbuf);
+ if (sr.len) sr.search_str = (unsigned char*)strdup(sbuf);
mf_search(MFSEARCH_FORWARD);
MFDISP_DIRTY();
}
@@ -2704,11 +2670,11 @@ pmore2(
(pageMode ?
PMORE_MSG_GOTO_PAGE : PMORE_MSG_GOTO_LINE),
buf, 8, DOECHO);
- if(buf[0]) {
+ if (buf[0]) {
i = atoi(buf);
- if(buf[strlen(buf)-1] == '.')
+ if (buf[strlen(buf)-1] == '.')
pageMode = 0;
- if(i-- > 0)
+ if (i-- > 0)
mf_goto(i * (pageMode ? MFNAV_PAGE : 1));
}
MFDISP_DIRTY();
@@ -2749,7 +2715,7 @@ pmore2(
case 'p':
/* play ascii movie again
*/
- if(mfmovie.mode == MFDISP_MOVIE_YES)
+ if (mfmovie.mode == MFDISP_MOVIE_YES)
{
RESET_MOVIE();
mfmovie.mode = MFDISP_MOVIE_PLAYING;
@@ -2772,7 +2738,7 @@ pmore2(
PMORE_MSG_MOVIE_PLAYOLD_GETTIME,
buf, 8, LCECHO);
- if(buf[0])
+ if (buf[0])
{
float nf = 0;
nf = atof(buf); // sscanf(buf, "%f", &nf);
@@ -2789,7 +2755,7 @@ pmore2(
getdata(b_lines - 1, 0,
PMORE_MSG_MOVIE_PLAYOLD_AS24L,
ans, 3, LCECHO);
- if(ans[0] == 'n')
+ if (ans[0] == 'n')
mfmovie.compat24 = 0;
else
mfmovie.compat24 = 1;
@@ -2929,7 +2895,7 @@ pmore_QuickRawModePref()
grayout(0, ystart-1, GRAYOUT_DARK);
#endif // HAVE_GRAYOUT
- while(1)
+ while (1)
{
move(ystart, 0);
clrtobot();
@@ -2939,7 +2905,7 @@ pmore_QuickRawModePref()
pmore_prefEntry(bpref.rawmode,
"\\", 1, PMORE_MSG_QPREF_SUBJECT, -1, PMORE_MSG_QPREF_OPTIONS);
- switch(vmsg( PMORE_MSG_QPREF_PROMPT ))
+ switch (vmsg( PMORE_MSG_QPREF_PROMPT ))
{
case '\\':
bpref.rawmode = (bpref.rawmode+1) % MFDISP_RAW_MODES;
@@ -3018,7 +2984,7 @@ pmore_Preference()
"t", 1, "傳統狀態列與斷行方式: ", -1,
"停用\t啟用");
- switch(vmsg("請調整設定或其它任意鍵結束。"))
+ switch (vmsg("請調整設定或其它任意鍵結束。"))
{
case '\\':
case '|':
@@ -3159,7 +3125,7 @@ pmore_Help(void *ctx, int (*help_handler)(int y, void *ctx))
void
mf_float2tv(float f, struct timeval *ptv)
{
- if(f < MOVIE_MIN_FRAMECLK)
+ if (f < MOVIE_MIN_FRAMECLK)
f = MOVIE_MIN_FRAMECLK;
if (f > MOVIE_MAX_FRAMECLK)
f = MOVIE_MAX_FRAMECLK;
@@ -3266,7 +3232,7 @@ mf_moviePromptPlaying(int type)
if (override_attr) outs(override_attr);
w -= strlen(override_msg);
outs(override_msg);
- while(w-- > 0) outc(' ');
+ while (w-- > 0) outc(' ');
outs(ANSI_RESET ANSI_CLRTOEND);
RESET_OVERRIDE_MSG();
@@ -3275,13 +3241,10 @@ mf_moviePromptPlaying(int type)
move(type ? b_lines-1 : b_lines, 0); // clrtoeol?
- if (type)
- {
+ if (type) {
outs(ANSI_RESET ANSI_COLOR(1;34;47));
s = PMORE_MSG_MOVIE_INTERACTION_WAITSEL;
- }
- else if (mfmovie.interactive)
- {
+ } else if (mfmovie.interactive) {
outs(ANSI_RESET ANSI_COLOR(1;34;47));
s = PMORE_MSG_MOVIE_INTERACTION_PLAYING;
} else {
@@ -3290,9 +3253,10 @@ mf_moviePromptPlaying(int type)
w -= strlen(s); outs(s);
- while(w-- > 0) outc(' '); outs(ANSI_RESET ANSI_CLRTOEND);
- if (type)
- {
+ while (w-- > 0) outc(' ');
+ outs(ANSI_RESET ANSI_CLRTOEND);
+
+ if (type) {
move(b_lines, 0);
clrtoeol();
}
@@ -3467,11 +3431,11 @@ mf_movieFrameHeader(unsigned char *p, unsigned char *end)
size_t sz = end - p;
if (sz < 1) return NULL;
- if(*p == 12) // ^L
+ if (*p == 12) // ^L
return p+1;
if (sz < 2) return NULL;
- if( *p == '^' &&
+ if ( *p == '^' &&
*(p+1) == 'L')
return p+2;
@@ -3635,7 +3599,7 @@ mf_movieExecuteOffsetCmd(unsigned char *s, unsigned char *end)
int curr = 0, newno = 0;
- switch(*s)
+ switch (*s)
{
case 'p':
// by page
@@ -4016,14 +3980,14 @@ mf_movieSyncFrame()
struct timeval dv;
gettimeofday(&dv, NULL);
dv.tv_sec = mfmovie.synctime.tv_sec - dv.tv_sec;
- if(dv.tv_sec < 0)
+ if (dv.tv_sec < 0)
return 1;
dv.tv_usec = mfmovie.synctime.tv_usec - dv.tv_usec;
- if(dv.tv_usec < 0) {
+ if (dv.tv_usec < 0) {
dv.tv_sec --;
dv.tv_usec += MOVIE_SECOND_U;
}
- if(dv.tv_sec < 0)
+ if (dv.tv_sec < 0)
return 1;
return !mf_movieWaitKey(&dv, 0);
@@ -4243,7 +4207,7 @@ mf_movieNextFrame()
{
unsigned char *p = mf_movieFrameHeader(mf.disps, mf.end);
- if(p)
+ if (p)
{
float nf = 0;
unsigned char *odisps = mf.disps;
@@ -4286,7 +4250,7 @@ mf_movieNextFrame()
mf_float2tv(nf, &mfmovie.frameclk);
}
- if(mfmovie.synctime.tv_sec > 0)
+ if (mfmovie.synctime.tv_sec > 0)
{
mfmovie.synctime.tv_usec += mfmovie.frameclk.tv_usec;
mfmovie.synctime.tv_sec += mfmovie.frameclk.tv_sec;