lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lynx-dev (long patch) more mainloop changes


From: Leonid Pauzner
Subject: lynx-dev (long patch) more mainloop changes
Date: Wed, 21 Apr 1999 22:26:17 +0400 (MSD)

20-Apr-99 19:37 I wrote:
Tiny mainloop fix (the pointer to HTextMain became broken
when HTreparse_document() update HText, let alloc a copy
instead of duplicating the statement for special case:)



diff -u old/lymainlo.c ./lymainlo.c
--- old/lymainlo.c      Mon Apr 19 19:06:52 1999
+++ ./lymainlo.c        Tue Apr 20 19:14:30 1999
@@ -1036,7 +1036,7 @@
            } else if (!dump_output_immediately) {
                StrAllocCopy(curdoc.title, newdoc.title);
            }
-           owner_address = (char *)HText_getOwner();
+           StrAllocCopy(owner_address, HText_getOwner());
            curdoc.safe = HTLoadedDocumentIsSafe();
            if (!dump_output_immediately) {
                LYAddVisitedLink(&curdoc);


Here more mainloop changes (obvious) - just move a big chunk of code
out of mainloop into a separate function (mainloop really too overloaded).

diff -u old/lymainlo.c ./lymainlo.c
--- old/lymainlo.c      Sun Apr 18 14:59:28 1999
+++ ./lymainlo.c        Mon Apr 19 19:06:52 1999
@@ -55,6 +55,7 @@
 #include <LYLeaks.h>


+PRIVATE void print_status_message PARAMS((CONST linkstruct curlink, char 
**cp));
 PRIVATE BOOL confirm_post_resub PARAMS((
     CONST char*                address,
     CONST char*                title,
@@ -1361,196 +1362,7 @@
         *  to tell the user other misc info.
         */
        if (!show_help) {
-           /*
-            *  Make sure form novice lines are replaced.
-            */
-           if (user_mode == NOVICE_MODE) {
-               noviceline(more);
-           }
-
-           /*
-            *  If we are in forms mode then explicitly
-            *  tell the user what each kind of link is.
-            */
-           if (HTisDocumentSource()) {
-               /*
-                *  Currently displaying HTML source.
-                */
-               _statusline(SOURCE_HELP);
-
-#ifdef INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE
-           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0) {
-#else
-#ifdef NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES
-           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
-                      !(links[curdoc.link].type & WWW_LINK_TYPE)) {
-#else
-           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
-                      !(user_mode == ADVANCED_MODE &&
-                        (links[curdoc.link].type & WWW_LINK_TYPE))) {
-#endif /* NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES */
-#endif /* INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE */
-               if (links[curdoc.link].type == WWW_FORM_LINK_TYPE) {
-                   switch(links[curdoc.link].form->type) {
-                   case F_PASSWORD_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_PASSWORD_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_PASSWORD_MESSAGE);
-                       break;
-                   case F_OPTION_LIST_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_OPTION_LIST_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_OPTION_LIST_MESSAGE);
-                       break;
-                   case F_CHECKBOX_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_CHECKBOX_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_CHECKBOX_MESSAGE);
-                       break;
-                   case F_RADIO_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_RADIO_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_RADIO_MESSAGE);
-                       break;
-                   case F_TEXT_SUBMIT_TYPE:
-                       if (links[curdoc.link].form->disabled == YES) {
-                           statusline(FORM_LINK_TEXT_SUBMIT_UNM_MSG);
-                       } else if (links[curdoc.link].form->submit_method ==
-                                URL_MAIL_METHOD) {
-                           if (no_mail)
-                               
statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_DIS_MSG);
-                           else
-                               statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_MSG);
-                       } else if (links[curdoc.link].form->no_cache) {
-                           statusline(FORM_LINK_TEXT_RESUBMIT_MESSAGE);
-                       } else {
-                           statusline(FORM_LINK_TEXT_SUBMIT_MESSAGE);
-                       }
-                       break;
-                   case F_SUBMIT_TYPE:
-                   case F_IMAGE_SUBMIT_TYPE:
-                       if (links[curdoc.link].form->disabled == YES) {
-                           statusline(FORM_LINK_SUBMIT_DIS_MSG);
-                       } else if (links[curdoc.link].form->submit_method ==
-                                URL_MAIL_METHOD) {
-                           if (no_mail) {
-                               statusline(FORM_LINK_SUBMIT_MAILTO_DIS_MSG);
-                           } else {
-                               if(user_mode == ADVANCED_MODE) {
-                                   char *submit_str = NULL;
-
-                                   StrAllocCopy(submit_str, 
FORM_LINK_SUBMIT_MAILTO_PREFIX);
-                                   StrAllocCat(submit_str, 
links[curdoc.link].form->submit_action);
-                                   statusline(submit_str);
-                                   FREE(submit_str);
-                               } else {
-                                   statusline(FORM_LINK_SUBMIT_MAILTO_MSG);
-                               }
-                           }
-                       } else if (links[curdoc.link].form->no_cache) {
-                           if(user_mode == ADVANCED_MODE) {
-                               char *submit_str = NULL;
-
-                               StrAllocCopy(submit_str, 
FORM_LINK_RESUBMIT_PREFIX);
-                               StrAllocCat(submit_str, 
links[curdoc.link].form->submit_action);
-                               statusline(submit_str);
-                               FREE(submit_str);
-                           } else {
-                               statusline(FORM_LINK_RESUBMIT_MESSAGE);
-                           }
-                       } else {
-                           if(user_mode == ADVANCED_MODE) {
-                               char *submit_str = NULL;
-
-                               StrAllocCopy(submit_str, 
FORM_LINK_SUBMIT_PREFIX);
-                               StrAllocCat(submit_str, 
links[curdoc.link].form->submit_action);
-                               statusline(submit_str);
-                               FREE(submit_str);
-                           } else {
-                               statusline(FORM_LINK_SUBMIT_MESSAGE);
-                           }
-                       }
-                       break;
-                   case F_RESET_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_RESET_DIS_MSG);
-                       else
-                           statusline(FORM_LINK_RESET_MESSAGE);
-                       break;
-                   case F_TEXT_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_TEXT_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_TEXT_MESSAGE);
-                       break;
-                   case F_TEXTAREA_TYPE:
-                       if (links[curdoc.link].form->disabled == YES)
-                           statusline(FORM_LINK_TEXT_UNM_MSG);
-                       else
-                           statusline(FORM_LINK_TEXTAREA_MESSAGE);
-                       break;
-                   }
-               } else {
-                   statusline(NORMAL_LINK_MESSAGE);
-               }
-
-               /*
-                *  Let them know if it's an index -- very rare.
-                */
-               if (is_www_index) {
-                   move(LYlines-1, LYcols-8);
-                   start_reverse();
-                   addstr("-index-");
-                   stop_reverse();
-               }
-
-           } else if (user_mode == ADVANCED_MODE && nlinks > 0) {
-               /*
-                *  Show the URL or, for some internal links, the fragment
-                */
-               cp = NULL;
-               if (links[curdoc.link].type == WWW_INTERN_LINK_TYPE &&
-                   strncmp(links[curdoc.link].lname, "LYNXIMGMAP:", 11)) {
-                   cp = strchr(links[curdoc.link].lname, '#');
-               }
-               if (!cp)
-                   cp = links[curdoc.link].lname;
-               if (more) {
-                   if (is_www_index)
-                       _user_message("-more- -index- %s",
-                                                cp);
-                   else
-                       _user_message("-more- %s",cp);
-               } else {
-                   if (is_www_index)
-                       _user_message("-index- %s",cp);
-                   else
-                       statusline(cp);
-               }
-           } else if (is_www_index && more) {
-               char buf[128];
-
-               sprintf(buf, WWW_INDEX_MORE_MESSAGE, 
key_for_func(LYK_INDEX_SEARCH));
-               _statusline(buf);
-           } else if (is_www_index) {
-               char buf[128];
-
-               sprintf(buf, WWW_INDEX_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
-               _statusline(buf);
-           } else if (more) {
-               if (user_mode == NOVICE_MODE)
-                       _statusline(MORE);
-               else
-                       _statusline(MOREHELP);
-           } else {
-              _statusline(HELP);
-           }
-          /* turn off cursor since now it's probably on statusline -HV */
-          move((LYlines - 1), (LYcols - 1));
+          print_status_message(links[curdoc.link], &cp);
        } else {
           show_help = FALSE;
        }
@@ -6201,4 +6013,203 @@
     HTList_addObject(Goto_URLs, new);

     return;
+}
+
+/*
+ *  When help is not on the screen,
+ *  put a message on the screen
+ *  to tell the user other misc info.
+ */
+PRIVATE void print_status_message(CONST linkstruct curlink, char **cp)
+{
+           /*
+            *  Make sure form novice lines are replaced.
+            */
+           if (user_mode == NOVICE_MODE) {
+               noviceline(more);
+           }
+
+           /*
+            *  If we are in forms mode then explicitly
+            *  tell the user what each kind of link is.
+            */
+           if (HTisDocumentSource()) {
+               /*
+                *  Currently displaying HTML source.
+                */
+               _statusline(SOURCE_HELP);
+
+#ifdef INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE
+           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0) {
+#else
+#ifdef NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES
+           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
+                      !(curlink.type & WWW_LINK_TYPE)) {
+#else
+           } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
+                      !(user_mode == ADVANCED_MODE &&
+                        (curlink.type & WWW_LINK_TYPE))) {
+#endif /* NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES */
+#endif /* INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE */
+               if (curlink.type == WWW_FORM_LINK_TYPE) {
+                   switch(curlink.form->type) {
+                   case F_PASSWORD_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_PASSWORD_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_PASSWORD_MESSAGE);
+                       break;
+                   case F_OPTION_LIST_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_OPTION_LIST_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_OPTION_LIST_MESSAGE);
+                       break;
+                   case F_CHECKBOX_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_CHECKBOX_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_CHECKBOX_MESSAGE);
+                       break;
+                   case F_RADIO_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_RADIO_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_RADIO_MESSAGE);
+                       break;
+                   case F_TEXT_SUBMIT_TYPE:
+                       if (curlink.form->disabled == YES) {
+                           statusline(FORM_LINK_TEXT_SUBMIT_UNM_MSG);
+                       } else if (curlink.form->submit_method ==
+                                URL_MAIL_METHOD) {
+                           if (no_mail)
+                               
statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_DIS_MSG);
+                           else
+                               statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_MSG);
+                       } else if (curlink.form->no_cache) {
+                           statusline(FORM_LINK_TEXT_RESUBMIT_MESSAGE);
+                       } else {
+                           statusline(FORM_LINK_TEXT_SUBMIT_MESSAGE);
+                       }
+                       break;
+                   case F_SUBMIT_TYPE:
+                   case F_IMAGE_SUBMIT_TYPE:
+                       if (curlink.form->disabled == YES) {
+                           statusline(FORM_LINK_SUBMIT_DIS_MSG);
+                       } else if (curlink.form->submit_method ==
+                                URL_MAIL_METHOD) {
+                           if (no_mail) {
+                               statusline(FORM_LINK_SUBMIT_MAILTO_DIS_MSG);
+                           } else {
+                               if(user_mode == ADVANCED_MODE) {
+                                   char *submit_str = NULL;
+
+                                   StrAllocCopy(submit_str, 
FORM_LINK_SUBMIT_MAILTO_PREFIX);
+                                   StrAllocCat(submit_str, 
curlink.form->submit_action);
+                                   statusline(submit_str);
+                                   FREE(submit_str);
+                               } else {
+                                   statusline(FORM_LINK_SUBMIT_MAILTO_MSG);
+                               }
+                           }
+                       } else if (curlink.form->no_cache) {
+                           if(user_mode == ADVANCED_MODE) {
+                               char *submit_str = NULL;
+
+                               StrAllocCopy(submit_str, 
FORM_LINK_RESUBMIT_PREFIX);
+                               StrAllocCat(submit_str, 
curlink.form->submit_action);
+                               statusline(submit_str);
+                               FREE(submit_str);
+                           } else {
+                               statusline(FORM_LINK_RESUBMIT_MESSAGE);
+                           }
+                       } else {
+                           if(user_mode == ADVANCED_MODE) {
+                               char *submit_str = NULL;
+
+                               StrAllocCopy(submit_str, 
FORM_LINK_SUBMIT_PREFIX);
+                               StrAllocCat(submit_str, 
curlink.form->submit_action);
+                               statusline(submit_str);
+                               FREE(submit_str);
+                           } else {
+                               statusline(FORM_LINK_SUBMIT_MESSAGE);
+                           }
+                       }
+                       break;
+                   case F_RESET_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_RESET_DIS_MSG);
+                       else
+                           statusline(FORM_LINK_RESET_MESSAGE);
+                       break;
+                   case F_TEXT_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_TEXT_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_TEXT_MESSAGE);
+                       break;
+                   case F_TEXTAREA_TYPE:
+                       if (curlink.form->disabled == YES)
+                           statusline(FORM_LINK_TEXT_UNM_MSG);
+                       else
+                           statusline(FORM_LINK_TEXTAREA_MESSAGE);
+                       break;
+                   }
+               } else {
+                   statusline(NORMAL_LINK_MESSAGE);
+               }
+
+               /*
+                *  Let them know if it's an index -- very rare.
+                */
+               if (is_www_index) {
+                   move(LYlines-1, LYcols-8);
+                   start_reverse();
+                   addstr("-index-");
+                   stop_reverse();
+               }
+
+           } else if (user_mode == ADVANCED_MODE && nlinks > 0) {
+               /*
+                *  Show the URL or, for some internal links, the fragment
+                */
+               *cp = NULL;
+               if (curlink.type == WWW_INTERN_LINK_TYPE &&
+                   strncmp(curlink.lname, "LYNXIMGMAP:", 11)) {
+                   *cp = strchr(curlink.lname, '#');
+               }
+               if (!(*cp))
+                   *cp = curlink.lname;
+               if (more) {
+                   if (is_www_index)
+                       _user_message("-more- -index- %s",
+                                                *cp);
+                   else
+                       _user_message("-more- %s",*cp);
+               } else {
+                   if (is_www_index)
+                       _user_message("-index- %s",*cp);
+                   else
+                       statusline(*cp);
+               }
+           } else if (is_www_index && more) {
+               char buf[128];
+
+               sprintf(buf, WWW_INDEX_MORE_MESSAGE, 
key_for_func(LYK_INDEX_SEARCH));
+               _statusline(buf);
+           } else if (is_www_index) {
+               char buf[128];
+
+               sprintf(buf, WWW_INDEX_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
+               _statusline(buf);
+           } else if (more) {
+               if (user_mode == NOVICE_MODE)
+                       _statusline(MORE);
+               else
+                       _statusline(MOREHELP);
+           } else {
+              _statusline(HELP);
+           }
+          /* turn off cursor since now it's probably on statusline -HV */
+          move((LYlines - 1), (LYcols - 1));
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]