home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE (Iain Lea)
- Subject: v28i055: tin - threaded full screen newsreader v1.1, Part11/11
- Message-ID: <1992Feb18.044009.13547@sparky.imd.sterling.com>
- X-Md4-Signature: e8edf60abadc4e3d222095f13a1286ee
- Date: Tue, 18 Feb 1992 04:40:09 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE (Iain Lea)
- Posting-number: Volume 28, Issue 55
- Archive-name: tin/part11
- Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
- Supersedes: tin: Volume 23, Issue 15-23
-
- #!/bin/sh
- # this is tin.shar.11 (part 11 of tin1.1)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file extern.h continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 11; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping extern.h'
- else
- echo 'x - continuing file extern.h'
- sed 's/^X//' << 'SHAR_EOF' >> 'extern.h' &&
- extern char txt_help_post_proc_type[];
- extern char txt_help_sort_type[];
- extern char txt_help_savedir[];
- extern char txt_help_maildir[];
- extern char txt_help_printer[];
- extern char txt_select_rcfile_option[];
- extern char txt_post_processing[];
- extern char txt_post_processing_finished[];
- extern char txt_deleting[];
- extern char txt_uudecoding[];
- extern char txt_searching[];
- extern char txt_moving[];
- extern char txt_subscribe_pattern[];
- extern char txt_unsubscribe_pattern[];
- extern char txt_subscribing[];
- extern char txt_subscribing_to[];
- extern char txt_unsubscribing[];
- extern char txt_unsubscribing_from[];
- extern char txt_subscribed_num_groups[];
- extern char txt_unsubscribed_num_groups[];
- extern char txt_del_group_in_newsrc[];
- extern char txt_group_deleted[];
- extern char txt_group_undeleted[];
- extern char txt_mark_group_read[];
- extern char txt_no_groups_to_delete[];
- extern char txt_reset_newsrc[];
- extern char txt_post_newsgroup[];
- extern char txt_yanking_all_groups[];
- extern char txt_yanking_sub_groups[];
- extern char txt_no_groups_to_read[];
- extern char txt_added_groups[];
- extern char txt_plural[];
- extern char txt_no_groups_to_yank_in[];
- extern char txt_group_selection[];
- extern char txt_select_group[];
- extern char txt_group_select_com[];
- extern char txt_help_g_4[];
- extern char txt_help_g_ctrl_r[];
- extern char txt_help_g_ctrl_k[];
- extern char txt_help_g_cr[];
- extern char txt_help_g_tab[];
- extern char txt_help_g_c[];
- extern char txt_help_n[];
- extern char txt_help_W[];
- extern char txt_help_g_y[];
- extern char txt_help_g_z[];
- extern char txt_help_g_dollar[];
- extern char txt_help_g_search[];
- extern char txt_newsgroup[];
- extern char txt_newsgroup_position[];
- extern char txt_resizing_window[];
- extern char txt_no_resps_in_thread[];
- extern char txt_help_t_0[];
- extern char txt_help_t_4[];
- extern char txt_help_t_cr[];
- extern char txt_help_t_tab[];
- X
- extern int LINES, COLS;
- extern int MORE_POS;
- extern int NOTESLINES;
- extern int RIGHT_POS;
- extern int *my_group;
- extern int *unread;
- extern int active_num;
- extern int article_num;
- extern int can_post;
- extern int catchup;
- extern int catchup_read_groups;
- extern int cmd_line;
- extern int compiled_with_nntp;
- extern int created_rcdir;
- extern int debug;
- extern int default_printer;
- extern int default_show_author;
- #ifdef SIGTSTP
- extern int do_sigtstp;
- #endif
- extern int draw_arrow_mark;
- extern int full_page_scroll;
- extern int group_hash[TABLE_SIZE];
- extern int group_top;
- extern int index_file_killed;
- extern int inverse_okay;
- extern int kill_articles;
- extern int kill_num;
- extern int local_index;
- extern int mail_news;
- extern int mark_saved_read;
- extern int max_active;
- extern int max_art;
- extern int max_from;
- extern int max_subj;
- extern int max_kill;
- extern int max_save;
- extern int num_active;
- extern int num_of_killed_files;
- extern int num_of_tagged_files;
- extern int pos_first_unread;
- extern int post_proc_type;
- extern int print_header;
- extern int read_news_via_nntp;
- extern int real_gid;
- extern int real_uid;
- extern int save_archive_name;
- extern int save_news;
- extern int save_num;
- extern int save_separate;
- extern int show_author;
- extern int show_only_unread;
- extern int sort_art_type;
- extern int space_mode;
- extern int start_line_offset;
- extern int thread_arts;
- extern int tin_gid;
- extern int tin_uid;
- extern int top;
- extern int top_base;
- extern int update;
- extern int verbose;
- extern long *base;
- X
- extern struct article_t *arts;
- extern struct group_t *active;
- extern struct kill_t *killf;
- extern struct posted_t *posted;
- extern struct save_t *save;
- extern struct screen_t *screen;
- X
- #ifdef POSIX_JOB_CONTROL
- extern struct sigaction art_act;
- extern struct sigaction group_act;
- extern struct sigaction kill_act;
- extern struct sigaction main_act;
- extern struct sigaction old_act;
- extern struct sigaction page_act;
- extern struct sigaction rcfile_act;
- extern struct sigaction select_act;
- extern struct sigaction thread_act;
- #endif
- X
- SHAR_EOF
- echo 'File extern.h is complete' &&
- chmod 0600 extern.h ||
- echo 'restore of extern.h failed'
- Wc_c="`wc -c < 'extern.h'`"
- test 14178 -eq "$Wc_c" ||
- echo 'extern.h: original size 14178, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= nntp.h ==============
- if test -f 'nntp.h' -a X"$1" != X"-c"; then
- echo 'x - skipping nntp.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting nntp.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'nntp.h' &&
- /*
- X * Project : tin - a threaded Netnews reader
- X * Module : nntp.h
- X * Author : R.Skrenta
- X * Created : 01-04-91
- X * Updated : 27-09-91
- X * Notes : Changed a bit so nntp knows about Tass
- X * This file is originally from the nntp 1.5 source.
- X * Copyright : (c) Copyright 1991-92 by Rich Skrenta
- X * You may freely copy or redistribute this software,
- X * so long as there is no profit made from its use, sale
- X * trade or reproduction. You may not change this copy-
- X * right notice, and it must be included in any copy made
- X */
- X
- #ifndef NNTP_SERVER_FILE
- # define NNTP_SERVER_FILE "/etc/nntpserver"
- #endif
- X
- /*
- X * External routine declarations
- X */
- X
- extern char *getserverbyfile();
- extern int server_init();
- extern int get_tcp_socket();
- extern int handle_server_response();
- extern void put_server();
- extern int get_server();
- extern void close_server();
- X
- /*
- X * External file descriptors for the server connection
- X */
- X
- extern FILE *ser_wr_fp;
- X
- /*
- X * Response codes for NNTP server
- X *
- X * @(#)nntp.h 1.7 (Berkeley) 1/11/88
- X *
- X * First digit:
- X *
- X * 1xx Informative message
- X * 2xx Command ok
- X * 3xx Command ok so far, continue
- X * 4xx Command was correct, but couldn't be performed
- X * for some specified reason.
- X * 5xx Command unimplemented, incorrect, or a
- X * program error has occured.
- X *
- X * Second digit:
- X *
- X * x0x Connection, setup, miscellaneous
- X * x1x Newsgroup selection
- X * x2x Article selection
- X * x3x Distribution
- X * x4x Posting
- X */
- X
- #define CHAR_INF '1'
- #define CHAR_OK '2'
- #define CHAR_CONT '3'
- #define CHAR_ERR '4'
- #define CHAR_FATAL '5'
- X
- #define INF_HELP 100 /* Help text on way */
- #define INF_DEBUG 199 /* Debug output */
- X
- #define OK_CANPOST 200 /* Hello; you can post */
- #define OK_NOPOST 201 /* Hello; you can't post */
- #define OK_SLAVE 202 /* Slave status noted */
- #define OK_GOODBYE 205 /* Closing connection */
- #define OK_GROUP 211 /* Group selected */
- #define OK_GROUPS 215 /* Newsgroups follow */
- X
- #define OK_TASSINDEX 218 /* Tass index follows */
- X
- #define OK_ARTICLE 220 /* Article (head & body) follows */
- #define OK_HEAD 221 /* Head follows */
- #define OK_BODY 222 /* Body follows */
- #define OK_NOTEXT 223 /* No text sent -- stat, next, last */
- #define OK_NEWNEWS 230 /* New articles by message-id follow */
- #define OK_NEWGROUPS 231 /* New newsgroups follow */
- #define OK_XFERED 235 /* Article transferred successfully */
- #define OK_POSTED 240 /* Article posted successfully */
- X
- #define CONT_XFER 335 /* Continue to send article */
- #define CONT_POST 340 /* Continue to post article */
- X
- #define ERR_GOODBYE 400 /* Have to hang up for some reason */
- #define ERR_NOGROUP 411 /* No such newsgroup */
- #define ERR_NCING 412 /* Not currently in newsgroup */
- X
- #define ERR_NOTASS 418 /* No tin index for this group */
- X
- #define ERR_NOCRNT 420 /* No current article selected */
- #define ERR_NONEXT 421 /* No next article in this group */
- #define ERR_NOPREV 422 /* No previous article in this group */
- #define ERR_NOARTIG 423 /* No such article in this group */
- #define ERR_NOART 430 /* No such article at all */
- #define ERR_GOTIT 435 /* Already got that article, don't send */
- #define ERR_XFERFAIL 436 /* Transfer failed */
- #define ERR_XFERRJCT 437 /* Article rejected, don't resend */
- #define ERR_NOPOST 440 /* Posting not allowed */
- #define ERR_POSTFAIL 441 /* Posting failed */
- X
- #define ERR_COMMAND 500 /* Command not recognized */
- #define ERR_CMDSYN 501 /* Command syntax error */
- #define ERR_ACCESS 502 /* Access to server denied */
- #define ERR_FAULT 503 /* Program fault, command not performed */
- X
- /* RFC 977 defines this; don't change it. */
- X
- #define NNTP_STRLEN 512
- SHAR_EOF
- chmod 0600 nntp.h ||
- echo 'restore of nntp.h failed'
- Wc_c="`wc -c < 'nntp.h'`"
- test 3669 -eq "$Wc_c" ||
- echo 'nntp.h: original size 3669, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= proto.h ==============
- if test -f 'proto.h' -a X"$1" != X"-c"; then
- echo 'x - skipping proto.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting proto.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'proto.h' &&
- #if __STDC__
- X
- /* art.c */
- extern void find_base(int only_unread);
- extern int num_of_arts(void);
- extern int valid_artnum(long art);
- extern int purge_needed(void);
- extern void index_group(char *group, char *group_path);
- extern int read_group(char *group, char *group_path);
- extern void make_threads(int rethread);
- extern int parse_headers(int fd, struct article_t *h);
- extern void dump_index(char *group, int killed);
- extern int load_index(void);
- extern void find_local_index(char *group);
- extern void do_update(void);
- extern void reload_index_file(char *group, int killed);
- extern char *parse_date(char *date, char *str);
- extern int artnum_comp(char *p1, char *p2);
- extern int subj_comp(char *p1, char *p2);
- extern int from_comp(char *p1, char *p2);
- extern int date_comp(char *p1, char *p2);
- extern void set_article(struct article_t *art);
- /* curses.c */
- extern int InitScreen(void);
- extern void ScreenSize(int *num_lines, int *num_columns);
- extern void InitWin(void);
- extern void EndWin(void);
- extern void ClearScreen(void);
- extern void MoveCursor(int row, int col);
- extern void CleartoEOLN(void);
- extern void CleartoEOS(void);
- extern void StartInverse(void);
- extern void EndInverse(void);
- extern int RawState(void);
- extern void Raw(int state);
- extern int ReadCh(void);
- extern int outchar(int c);
- /* debug.c */
- extern void debug_print_arts(void);
- extern void debug_print_header(struct article_t *s);
- extern void debug_print_comment(char *comment);
- extern void debug_print_base(void);
- extern void debug_print_active(void);
- extern void log_user(void);
- /* feed.c */
- extern void feed_articles(int function, int level, char *prompt, int respnum, char *group_path);
- /* getline.c */
- extern char *getline(char *prompt, int number_only, char *str);
- /* group.c */
- extern void group_page(char *group);
- extern void fix_new_highest(int groupnum);
- extern void show_group_page(char *group);
- extern void draw_subject_arrow(void);
- extern void erase_subject_arrow(void);
- extern int prompt_subject_num(int ch, char *group);
- extern void clear_note_area(void);
- extern int find_new_pos(int old_top, long old_artnum, int cur_pos);
- extern void mark_screen(int col, char *value);
- /* hashstr.c */
- extern char *hash_str(char *s);
- extern struct hashnode *add_string(char *s);
- extern void hash_init(void);
- extern void hash_reclaim(void);
- /* help.c */
- extern void show_info_page(int type, char *help[], char *title);
- /* init.c */
- extern void init_selfinfo(void);
- /* kill.c */
- extern int read_kill_file(void);
- extern void write_kill_file(void);
- extern int kill_art_menu(char *group_name, int index);
- extern int unkill_all_articles(void);
- extern int kill_any_articles(char *group);
- /* lang.c */
- /* main.c */
- extern void main(int argc, char *argv[]);
- extern void usage(char *progname);
- extern void show_intro_page (int cmd_line);
- extern int check_for_any_new_news (int check_any_unread, int start_any_unread);
- extern void save_or_mail_new_news (void);
- extern void update_index_files (void);
- /* memory.c */
- extern void init_alloc(void);
- extern void expand_art(void);
- extern void free_art_array(void);
- extern void expand_active(void);
- extern void expand_kill(void);
- extern void expand_save(void);
- extern void init_screen_array(int allocate);
- extern void free_all_arrays(void);
- extern void free_kill_array(void);
- extern void free_save_array(void);
- extern char *my_malloc(unsigned size);
- extern char *my_realloc(char *p, unsigned size);
- /* misc.c */
- extern void asfail(char *file, int line, char *cond);
- extern void copy_fp(FILE *fp_ip, FILE *fp_op, char *prefix);
- extern char *get_val(char *env, char *def);
- extern int invoke_editor(char *nam);
- extern void shell_escape(void);
- extern void tin_done(int ret);
- extern int read_active(void);
- extern void mark_unthreaded_groups(void);
- extern int backup_active(int create);
- extern long hash_groupname(char *buf);
- extern void rename_file(char *old_filename, char *new_filename);
- extern char *str_dup(char *str);
- extern int invoke_cmd(char *nam);
- extern void draw_percent_mark(int cur_num, int max_num);
- extern void set_real_uid_gid(void);
- extern void set_tin_uid_gid(void);
- extern void notify_groups(void);
- extern void basename(char *dirname, char *program);
- extern void mail_setup(void);
- extern int mail_check(void);
- extern void parse_from(char *str, char *addr, char *name);
- extern long my_atol(char *s, int n);
- extern char *eat_re(char *s);
- extern long hash_s(char *s);
- extern void my_strncpy(char *p, char *q, int n);
- extern int untag_all_articles(void);
- extern char *str_str(char *text, char *pattern, int patlen);
- extern void get_author(int thread, int respnum, char *str);
- extern void toggle_inverse_video(void);
- extern int get_arrow_key(void);
- /* newsrc.c */
- extern void backup_newsrc(void);
- extern void read_newsrc(int sub_only);
- extern void write_newsrc(void);
- extern void rewrite_newsrc(void);
- extern void read_newsrc_line(char *group);
- extern void update_newsrc(char *group, int groupnum, int mark_unread);
- extern void subscribe(char *group, int ch, int num, int out_seq);
- extern void reset_newsrc(void);
- extern void delete_group(char *group);
- extern int undel_group(void);
- extern void mark_group_read(char *group, int groupnum);
- extern void parse_seq(char *s);
- extern int parse_unread(char *s, int groupnum);
- extern int get_line_unread(char *group, int groupnum);
- extern void print_seq(FILE *fp, int groupnum);
- extern int pos_group_in_newsrc(char *group, int pos);
- extern void mark_all_xref_read(char *xref_line);
- /* open.c */
- extern char *is_remote(void);
- extern void nntp_startup(void);
- extern void nntp_finish(void);
- extern FILE *open_active_fp(void);
- extern FILE *open_art_fp(char *group_path, long art);
- extern int open_header_fd(char *group_path, long art);
- extern int base_comp(char *p1, char *p2);
- extern void setup_base(char *group, char *group_path);
- extern int get_respcode(void);
- extern int stuff_nntp(char *fnam);
- extern FILE *nntp_to_fp(void);
- extern int nntp_to_fd(void);
- /* page.c */
- extern int show_page(int respnum, char *group, char *group_path);
- extern void redraw_page(int respnum, char *group);
- extern void show_note_page(int respnum, char *group);
- extern void show_first_header(int respnum, char *group);
- extern void show_cont_header(int respnum);
- extern void art_open(long art, char *group_path);
- extern void art_close(void);
- extern int prompt_response(int ch, int respnum);
- extern void yank_to_addr(char *orig, char *addr);
- extern int show_last_page(void);
- extern int match_header(char *buf, char *pat, char *body, int len);
- /* post.c */
- extern int user_posted_messages(void);
- extern void update_art_posted_file(char *group, char *subj);
- extern int post_base(char *group, int *posted);
- extern int post_response(char *group, int respnum, int copy_text);
- extern int mail_to_someone(char *address);
- extern int mail_bug_report(void);
- extern int mail_to_author(int respnum, int copy_text);
- extern void find_mail_header(int header, char *file, char *value);
- extern int cancel_article(void);
- extern int submit_file(char *name);
- extern void add_signature(FILE *fp, int flag);
- /* prompt.c */
- extern int prompt_num(int ch, char *prompt);
- extern int prompt_string(char *prompt, char *buf);
- extern int prompt_menu_string(int line, int col, char *var);
- extern int prompt_yn(int line, char *prompt, int default_ch);
- extern void prompt_on_off(int row, int col, int *var, char *help_text, char *prompt_text);
- extern void continue_prompt(void);
- /* rcfile.c */
- extern int read_rcfile(void);
- extern void write_rcfile(void);
- extern int change_rcfile(char *group, int kill_at_once);
- extern void show_rcfile_menu(void);
- extern void expand_rel_abs_pathname(int line, int col, char *str);
- extern void show_menu_help(char *help_message);
- /* save.c */
- extern int check_start_save_any_news(int check_start_save);
- extern int save_art_to_file(int respnum, int index, int mailbox, char *filename);
- extern int save_thread_to_file(int is_mailbox, char *group_path);
- extern int save_regex_arts(int is_mailbox, char *group_path);
- extern int append_to_existing_file(int i);
- extern int create_path(char *path);
- extern int create_sub_dir(int i);
- extern void add_to_save_list(int index, struct article_t *article, int is_mailbox, char *path);
- extern void sort_save_list(void);
- extern int save_comp(char *p1, char *p2);
- extern char *save_filename(int i);
- extern char *get_first_savefile(void);
- extern char *get_last_savefile(void);
- extern int post_process_files(int proc_type_ch);
- extern void post_process_uud(int pp);
- extern void post_process_sh(void);
- extern char *get_archive_file(char *dir, char *ext);
- extern void delete_processed_files(void);
- /* screen.c */
- extern void info_message(char *str);
- extern void wait_message(char *str);
- extern void error_message(char *template, char *str);
- extern void clear_message(void);
- extern void center_line(int line, int inverse, char *str);
- extern void draw_arrow(int line);
- extern void erase_arrow(int line);
- extern void show_title(char *title);
- extern void ring_bell(void);
- /* search.c */
- extern int search_author(int max_art, int current_art, int forward);
- extern void search_group(int forward);
- extern void search_subject(int forward, char *group);
- extern int search_article(int forward);
- extern void make_lower(char *s, char *t);
- /* select.c */
- extern void selection_index(int start_groupnum);
- extern void group_selection_page(void);
- extern int prompt_group_num(int ch);
- extern void erase_group_arrow(void);
- extern void draw_group_arrow(void);
- extern int choose_new_group(void);
- extern int add_group(char *s, int get_unread);
- extern int reposition_group(char *group, int default_num);
- extern void catchup_group(int goto_next_unread_group);
- extern void next_unread_group(int enter_group);
- /* signal.c */
- extern void set_signal_handlers(void);
- extern void signal_handler(int sig);
- extern void set_win_size(int *num_lines, int *num_cols);
- extern void set_signals_art(void);
- extern void set_signals_group(void);
- extern void set_signals_page(void);
- extern void set_signals_select(void);
- extern void set_signals_thread(void);
- extern void art_suspend(int sig);
- extern void main_suspend(int sig);
- extern void select_suspend(int sig);
- extern void group_suspend(int sig);
- extern void page_suspend(int sig);
- extern void thread_suspend(int sig);
- extern void rcfile_suspend(int sig);
- extern void art_resize(int sig);
- extern void main_resize(int sig);
- extern void select_resize(int sig);
- extern void group_resize(int sig);
- extern void page_resize(int sig);
- extern void thread_resize(int sig);
- /* thread.c */
- extern int show_thread(int respnum, char *group, char *group_path);
- extern void show_thread_page(void);
- extern void draw_thread_arrow(void);
- extern void erase_thread_arrow(void);
- extern int prompt_thread_num(int ch);
- extern int new_responses(int thread);
- extern int which_thread(int n);
- extern int which_response(int n);
- extern int num_of_responses(int n);
- extern int next_response(int n);
- extern int next_thread(int n);
- extern int prev_response(int n);
- extern int choose_response(int i, int n);
- extern int next_unread(int n);
- extern int prev_unread(int n);
- /* wildmat.c */
- extern int wildmat(char *text, char *p);
- X
- #else
- X
- /* art.c */
- extern void find_base(/*int only_unread*/);
- extern int num_of_arts(/*void*/);
- extern int valid_artnum(/*long art*/);
- extern int purge_needed(/*void*/);
- extern void index_group(/*char *group, char *group_path*/);
- extern int read_group(/*char *group, char *group_path*/);
- extern void make_threads(/*int rethread*/);
- extern int parse_headers(/*int fd, struct article_t *h*/);
- extern void dump_index(/*char *group, int killed*/);
- extern int load_index(/*void*/);
- extern void find_local_index(/*char *group*/);
- extern void do_update(/*void*/);
- extern void reload_index_file(/*char *group, int killed*/);
- extern char *parse_date(/*char *date, char *str*/);
- extern int artnum_comp(/*char *p1, char *p2*/);
- extern int subj_comp(/*char *p1, char *p2*/);
- extern int from_comp(/*char *p1, char *p2*/);
- extern int date_comp(/*char *p1, char *p2*/);
- extern void set_article(/*struct article_t *art*/);
- /* curses.c */
- extern int InitScreen(/*void*/);
- extern void ScreenSize(/*int *num_lines, int *num_columns*/);
- extern void InitWin(/*void*/);
- extern void EndWin(/*void*/);
- extern void ClearScreen(/*void*/);
- extern void MoveCursor(/*int row, int col*/);
- extern void CleartoEOLN(/*void*/);
- extern void CleartoEOS(/*void*/);
- extern void StartInverse(/*void*/);
- extern void EndInverse(/*void*/);
- extern int RawState(/*void*/);
- extern void Raw(/*int state*/);
- extern int ReadCh(/*void*/);
- extern int outchar(/*int c*/);
- /* debug.c */
- extern void debug_print_arts(/*void*/);
- extern void debug_print_header(/*struct article_t *s*/);
- extern void debug_print_comment(/*char *comment*/);
- extern void debug_print_base(/*void*/);
- extern void debug_print_active(/*void*/);
- extern void log_user(/*void*/);
- /* feed.c */
- extern void feed_articles(/*int function, int level, char *prompt, int respnum, char *group_path*/);
- /* getline.c */
- extern char *getline(/*char *prompt, int number_only, char *str*/);
- /* group.c */
- extern void group_page(/*char *group*/);
- extern void fix_new_highest(/*int groupnum*/);
- extern void show_group_page(/*char *group*/);
- extern void draw_subject_arrow(/*void*/);
- extern void erase_subject_arrow(/*void*/);
- extern int prompt_subject_num(/*int ch, char *group*/);
- extern void clear_note_area(/*void*/);
- extern int find_new_pos(/*int old_top, long old_artnum, int cur_pos*/);
- extern void mark_screen(/*int col, char *value*/);
- /* hashstr.c */
- extern char *hash_str(/*char *s*/);
- extern struct hashnode *add_string(/*char *s*/);
- extern void hash_init(/*void*/);
- extern void hash_reclaim(/*void*/);
- /* help.c */
- extern void show_info_page(/*int type, char *help[], char *title*/);
- /* init.c */
- extern void init_selfinfo(/*void*/);
- /* kill.c */
- extern int read_kill_file(/*void*/);
- extern void write_kill_file(/*void*/);
- extern int kill_art_menu(/*char *group_name, int index*/);
- extern int unkill_all_articles(/*void*/);
- extern int kill_any_articles(/*char *group*/);
- /* lang.c */
- /* main.c */
- extern void main(/*int argc, char *argv[]*/);
- extern void usage(/*char *progname*/);
- extern void show_intro_page (/*int cmd_line*/);
- extern int check_for_any_new_news (/*int check_any_unread, int start_any_unread*/);
- extern void save_or_mail_new_news (/*void*/);
- extern void update_index_files (/*void*/);
- /* memory.c */
- extern void init_alloc(/*void*/);
- extern void expand_art(/*void*/);
- extern void free_art_array(/*void*/);
- extern void expand_active(/*void*/);
- extern void expand_kill(/*void*/);
- extern void expand_save(/*void*/);
- extern void init_screen_array(/*int allocate*/);
- extern void free_all_arrays(/*void*/);
- extern void free_kill_array(/*void*/);
- extern void free_save_array(/*void*/);
- extern char *my_malloc(/*unsigned size*/);
- extern char *my_realloc(/*char *p, unsigned size*/);
- /* misc.c */
- extern void asfail(/*char *file, int line, char *cond*/);
- extern void copy_fp(/*FILE *fp_ip, FILE *fp_op, char *prefix*/);
- extern char *get_val(/*char *env, char *def*/);
- extern int invoke_editor(/*char *nam*/);
- extern void shell_escape(/*void*/);
- extern void tin_done(/*int ret*/);
- extern int read_active(/*void*/);
- extern void mark_unthreaded_groups(/*void*/);
- extern int backup_active(/*int create*/);
- extern long hash_groupname(/*char *buf*/);
- extern void rename_file(/*char *old_filename, char *new_filename*/);
- extern char *str_dup(/*char *str*/);
- extern int invoke_cmd(/*char *nam*/);
- extern void draw_percent_mark(/*int cur_num, int max_num*/);
- extern void set_real_uid_gid(/*void*/);
- extern void set_tin_uid_gid(/*void*/);
- extern void notify_groups(/*void*/);
- extern void basename(/*char *dirname, char *program*/);
- extern void mail_setup(/*void*/);
- extern int mail_check(/*void*/);
- extern void parse_from(/*char *str, char *addr, char *name*/);
- extern long my_atol(/*char *s, int n*/);
- extern char *eat_re(/*char *s*/);
- extern long hash_s(/*char *s*/);
- extern void my_strncpy(/*char *p, char *q, int n*/);
- extern int untag_all_articles(/*void*/);
- extern char *str_str(/*char *text, char *pattern, int patlen*/);
- extern void get_author(/*int thread, int respnum, char *str*/);
- extern void toggle_inverse_video(/*void*/);
- extern int get_arrow_key(/*void*/);
- /* newsrc.c */
- extern void backup_newsrc(/*void*/);
- extern void read_newsrc(/*int sub_only*/);
- extern void write_newsrc(/*void*/);
- extern void rewrite_newsrc(/*void*/);
- extern void read_newsrc_line(/*char *group*/);
- extern void update_newsrc(/*char *group, int groupnum, int mark_unread*/);
- extern void subscribe(/*char *group, int ch, int num, int out_seq*/);
- extern void reset_newsrc(/*void*/);
- extern void delete_group(/*char *group*/);
- extern int undel_group(/*void*/);
- extern void mark_group_read(/*char *group, int groupnum*/);
- extern void parse_seq(/*char *s*/);
- extern int parse_unread(/*char *s, int groupnum*/);
- extern int get_line_unread(/*char *group, int groupnum*/);
- extern void print_seq(/*FILE *fp, int groupnum*/);
- extern int pos_group_in_newsrc(/*char *group, int pos*/);
- extern void mark_all_xref_read(/*char *xref_line*/);
- /* open.c */
- extern char *is_remote(/*void*/);
- extern void nntp_startup(/*void*/);
- extern void nntp_finish(/*void*/);
- extern FILE *open_active_fp(/*void*/);
- extern FILE *open_art_fp(/*char *group_path, long art*/);
- extern int open_header_fd(/*char *group_path, long art*/);
- extern int base_comp(/*char *p1, char *p2*/);
- extern void setup_base(/*char *group, char *group_path*/);
- extern int get_respcode(/*void*/);
- extern int stuff_nntp(/*char *fnam*/);
- extern FILE *nntp_to_fp(/*void*/);
- extern int nntp_to_fd(/*void*/);
- /* page.c */
- extern int show_page(/*int respnum, char *group, char *group_path*/);
- extern void redraw_page(/*int respnum, char *group*/);
- extern void show_note_page(/*int respnum, char *group*/);
- extern void show_first_header(/*int respnum, char *group*/);
- extern void show_cont_header(/*int respnum*/);
- extern void art_open(/*long art, char *group_path*/);
- extern void art_close(/*void*/);
- extern int prompt_response(/*int ch, int respnum*/);
- extern void yank_to_addr(/*char *orig, char *addr*/);
- extern int show_last_page(/*void*/);
- extern int match_header(/*char *buf, char *pat, char *body, int len*/);
- /* post.c */
- extern int user_posted_messages(/*void*/);
- extern void update_art_posted_file(/*char *group, char *subj*/);
- extern int post_base(/*char *group, int *posted*/);
- extern int post_response(/*char *group, int respnum, int copy_text*/);
- extern int mail_to_someone(/*char *address*/);
- extern int mail_bug_report(/*void*/);
- extern int mail_to_author(/*int respnum, int copy_text*/);
- extern void find_mail_header(/*int header, char *file, char *value*/);
- extern int cancel_article(/*void*/);
- extern int submit_file(/*char *name*/);
- extern void add_signature(/*FILE *fp, int flag*/);
- /* prompt.c */
- extern int prompt_num(/*int ch, char *prompt*/);
- extern int prompt_string(/*char *prompt, char *buf*/);
- extern int prompt_menu_string(/*int line, int col, char *var*/);
- extern int prompt_yn(/*int line, char *prompt, int default_ch*/);
- extern void prompt_on_off(/*int row, int col, int *var, char *help_text, char *prompt_text*/);
- extern void continue_prompt(/*void*/);
- /* rcfile.c */
- extern int read_rcfile(/*void*/);
- extern void write_rcfile(/*void*/);
- extern int change_rcfile(/*char *group, int kill_at_once*/);
- extern void show_rcfile_menu(/*void*/);
- extern void expand_rel_abs_pathname(/*int line, int col, char *str*/);
- extern void show_menu_help(/*char *help_message*/);
- /* save.c */
- extern int check_start_save_any_news(/*int check_start_save*/);
- extern int save_art_to_file(/*int respnum, int index, int mailbox, char *filename*/);
- extern int save_thread_to_file(/*int is_mailbox, char *group_path*/);
- extern int save_regex_arts(/*int is_mailbox, char *group_path*/);
- extern int append_to_existing_file(/*int i*/);
- extern int create_path(/*char *path*/);
- extern int create_sub_dir(/*int i*/);
- extern void add_to_save_list(/*int index, struct article_t *article, int is_mailbox, char *path*/);
- extern void sort_save_list(/*void*/);
- extern int save_comp(/*char *p1, char *p2*/);
- extern char *save_filename(/*int i*/);
- extern char *get_first_savefile(/*void*/);
- extern char *get_last_savefile(/*void*/);
- extern int post_process_files(/*int proc_type_ch*/);
- extern void post_process_uud(/*int pp*/);
- extern void post_process_sh(/*void*/);
- extern char *get_archive_file(/*char *dir, char *ext*/);
- extern void delete_processed_files(/*void*/);
- /* screen.c */
- extern void info_message(/*char *str*/);
- extern void wait_message(/*char *str*/);
- extern void error_message(/*char *template, char *str*/);
- extern void clear_message(/*void*/);
- extern void center_line(/*int line, int inverse, char *str*/);
- extern void draw_arrow(/*int line*/);
- extern void erase_arrow(/*int line*/);
- extern void show_title(/*char *title*/);
- extern void ring_bell(/*void*/);
- /* search.c */
- extern int search_author(/*int max_art, int current_art, int forward*/);
- extern void search_group(/*int forward*/);
- extern void search_subject(/*int forward, char *group*/);
- extern int search_article(/*int forward*/);
- extern void make_lower(/*char *s, char *t*/);
- /* select.c */
- extern void selection_index(/*int start_groupnum*/);
- extern void group_selection_page(/*void*/);
- extern int prompt_group_num(/*int ch*/);
- extern void erase_group_arrow(/*void*/);
- extern void draw_group_arrow(/*void*/);
- extern int choose_new_group(/*void*/);
- extern int add_group(/*char *s, int get_unread*/);
- extern int reposition_group(/*char *group, int default_num*/);
- extern void catchup_group(/*int goto_next_unread_group*/);
- extern void next_unread_group(/*int enter_group*/);
- /* signal.c */
- extern void set_signal_handlers(/*void*/);
- extern void signal_handler(/*int sig*/);
- extern void set_win_size(/*int *num_lines, int *num_cols*/);
- extern void set_signals_art(/*void*/);
- extern void set_signals_group(/*void*/);
- extern void set_signals_page(/*void*/);
- extern void set_signals_select(/*void*/);
- extern void set_signals_thread(/*void*/);
- extern void art_suspend(/*int sig*/);
- extern void main_suspend(/*int sig*/);
- extern void select_suspend(/*int sig*/);
- extern void group_suspend(/*int sig*/);
- extern void page_suspend(/*int sig*/);
- extern void thread_suspend(/*int sig*/);
- extern void rcfile_suspend(/*int sig*/);
- extern void art_resize(/*int sig*/);
- extern void main_resize(/*int sig*/);
- extern void select_resize(/*int sig*/);
- extern void group_resize(/*int sig*/);
- extern void page_resize(/*int sig*/);
- extern void thread_resize(/*int sig*/);
- /* thread.c */
- extern int show_thread(/*int respnum, char *group, char *group_path*/);
- extern void show_thread_page(/*void*/);
- extern void draw_thread_arrow(/*void*/);
- extern void erase_thread_arrow(/*void*/);
- extern int prompt_thread_num(/*int ch*/);
- extern int new_responses(/*int thread*/);
- extern int which_thread(/*int n*/);
- extern int which_response(/*int n*/);
- extern int num_of_responses(/*int n*/);
- extern int next_response(/*int n*/);
- extern int next_thread(/*int n*/);
- extern int prev_response(/*int n*/);
- extern int choose_response(/*int i, int n*/);
- extern int next_unread(/*int n*/);
- extern int prev_unread(/*int n*/);
- /* wildmat.c */
- extern int wildmat(/*char *text, char *p*/);
- X
- #endif
- SHAR_EOF
- chmod 0600 proto.h ||
- echo 'restore of proto.h failed'
- Wc_c="`wc -c < 'proto.h'`"
- test 23136 -eq "$Wc_c" ||
- echo 'proto.h: original size 23136, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= patchlev.h ==============
- if test -f 'patchlev.h' -a X"$1" != X"-c"; then
- echo 'x - skipping patchlev.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting patchlev.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'patchlev.h' &&
- /*
- X * Project : tin - a threaded Netnews reader
- X * Module : patchlev.h
- X * Author : I.Lea
- X * Created : 01-04-91
- X * Updated : 10-12-91
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea
- X * You may freely copy or redistribute this software,
- X * so long as there is no profit made from its use, sale
- X * trade or reproduction. You may not change this copy-
- X * right notice, and it must be included in any copy made
- X */
- X
- #define VERSION "1.1"
- #define PATCHLEVEL 0
- SHAR_EOF
- chmod 0600 patchlev.h ||
- echo 'restore of patchlev.h failed'
- Wc_c="`wc -c < 'patchlev.h'`"
- test 548 -eq "$Wc_c" ||
- echo 'patchlev.h: original size 548, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- rm -f _shar_seq_.tmp
- echo You have unpacked the last part
- exit 0
-
- --
- NAME Iain Lea
- EMAIL iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE
- SNAIL Bruecken Strasse 12, 8500 Nuernberg 90, Germany
- PHONE +49-911-331963 (home) +49-911-3089-407 (work)
- --
- Dr. med. dipl.-math Dieter Becker Tel.: (0 / +49) 6841 - 16 3046
- Medizinische Universitaets- und Poliklinik Fax.: (0 / +49) 6841 - 16 3369
- Innere Medizin III
- D - 6650 Homburg / Saar Email: becker@med-in.uni-sb.de
- exit 0 # Just in case...
-