Added pause to bulletins
This commit is contained in:
parent
052904df8d
commit
9dcd515b12
30
bbs.c
30
bbs.c
@ -290,10 +290,12 @@ void s_putstring(char *c) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void s_displayansi_p(char *file) {
|
void s_displayansi_pause(char *file, int pause) {
|
||||||
FILE *fptr;
|
FILE *fptr;
|
||||||
char c;
|
char c;
|
||||||
|
|
||||||
|
int lines = 0;
|
||||||
|
|
||||||
fptr = fopen(file, "r");
|
fptr = fopen(file, "r");
|
||||||
if (!fptr) {
|
if (!fptr) {
|
||||||
return;
|
return;
|
||||||
@ -301,11 +303,26 @@ void s_displayansi_p(char *file) {
|
|||||||
c = fgetc(fptr);
|
c = fgetc(fptr);
|
||||||
while (!feof(fptr) && c != 0x1a) {
|
while (!feof(fptr) && c != 0x1a) {
|
||||||
s_putchar(c);
|
s_putchar(c);
|
||||||
|
|
||||||
|
if (pause) {
|
||||||
|
if (c == '\n') {
|
||||||
|
lines++;
|
||||||
|
if (lines == 24) {
|
||||||
|
s_printf(get_string(6));
|
||||||
|
s_getchar();
|
||||||
|
lines = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
c = fgetc(fptr);
|
c = fgetc(fptr);
|
||||||
}
|
}
|
||||||
fclose(fptr);
|
fclose(fptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void s_displayansi_p(char *file) {
|
||||||
|
s_displayansi_pause(file, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void s_displayansi(char *file) {
|
void s_displayansi(char *file) {
|
||||||
FILE *fptr;
|
FILE *fptr;
|
||||||
@ -315,16 +332,7 @@ void s_displayansi(char *file) {
|
|||||||
|
|
||||||
sprintf(buffer, "%s/%s.ans", conf.ansi_path, file);
|
sprintf(buffer, "%s/%s.ans", conf.ansi_path, file);
|
||||||
|
|
||||||
fptr = fopen(buffer, "r");
|
s_displayansi_pause(buffer, 0);
|
||||||
if (!fptr) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
c = fgetc(fptr);
|
|
||||||
while (!feof(fptr) && c != 0x1a) {
|
|
||||||
s_putchar(c);
|
|
||||||
c = fgetc(fptr);
|
|
||||||
}
|
|
||||||
fclose(fptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char s_getchar() {
|
char s_getchar() {
|
||||||
|
5
bbs.h
5
bbs.h
@ -232,6 +232,7 @@ extern struct fido_addr *parse_fido_addr(const char *str);
|
|||||||
extern void s_putchar(char c);
|
extern void s_putchar(char c);
|
||||||
extern void s_printf(char *fmt, ...);
|
extern void s_printf(char *fmt, ...);
|
||||||
extern void s_putstring(char *c);
|
extern void s_putstring(char *c);
|
||||||
|
extern void s_displayansi_pause(char *file, int pause);
|
||||||
extern void s_displayansi_p(char *file);
|
extern void s_displayansi_p(char *file);
|
||||||
extern void s_displayansi(char *file);
|
extern void s_displayansi(char *file);
|
||||||
extern char s_getchar();
|
extern char s_getchar();
|
||||||
@ -330,8 +331,6 @@ extern char *www_msgs_messageview(struct user_record *user, int conference, int
|
|||||||
extern int www_send_msg(struct user_record *user, char *to, char *subj, int conference, int area, char *replyid, char *body);
|
extern int www_send_msg(struct user_record *user, char *to, char *subj, int conference, int area, char *replyid, char *body);
|
||||||
extern char *www_new_msg(struct user_record *user, int conference, int area);
|
extern char *www_new_msg(struct user_record *user, int conference, int area);
|
||||||
extern char *www_last10();
|
extern char *www_last10();
|
||||||
|
#endif
|
||||||
extern int menu_system(char *menufile);
|
extern int menu_system(char *menufile);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -21,8 +21,7 @@ void display_bulletins() {
|
|||||||
sprintf(buffer, "%s/bulletin%d.ans", conf.ansi_path, i);
|
sprintf(buffer, "%s/bulletin%d.ans", conf.ansi_path, i);
|
||||||
|
|
||||||
while (stat(buffer, &s) == 0) {
|
while (stat(buffer, &s) == 0) {
|
||||||
sprintf(buffer, "bulletin%d", i);
|
s_displayansi_pause(buffer, 1);
|
||||||
s_displayansi(buffer);
|
|
||||||
s_printf(get_string(6));
|
s_printf(get_string(6));
|
||||||
s_getc();
|
s_getc();
|
||||||
i++;
|
i++;
|
||||||
|
Reference in New Issue
Block a user