Mercurial > hg > xemacs-beta
annotate netinstall/nio-ie5.cc @ 5050:6f2158fa75ed
Fix quick-build, use asserts() in place of ABORT()
-------------------- ChangeLog entries follow: --------------------
ChangeLog addition:
2010-02-20 Ben Wing <ben@xemacs.org>
* configure.ac (XE_COMPLEX_ARG):
Correct doc of --quick-build: It also doesn't check for Lisp shadows.
src/ChangeLog addition:
2010-02-20 Ben Wing <ben@xemacs.org>
* EmacsFrame.c:
* EmacsFrame.c (EmacsFrameRecomputeCellSize):
* alloca.c (i00afunc):
* buffer.c:
* buffer.c (MARKED_SLOT):
* buffer.c (complex_vars_of_buffer):
* cm.c:
* cm.c (cmcheckmagic):
* console.c:
* console.c (MARKED_SLOT):
* device-x.c:
* device-x.c (x_get_visual_depth):
* emacs.c (sort_args):
* eval.c (throw_or_bomb_out):
* event-stream.c:
* event-stream.c (Fadd_timeout):
* event-stream.c (Fadd_async_timeout):
* event-stream.c (Frecent_keys):
* events.c:
* events.c (Fdeallocate_event):
* events.c (event_pixel_translation):
* extents.c:
* extents.c (process_extents_for_insertion_mapper):
* fns.c (Fbase64_encode_region):
* fns.c (Fbase64_encode_string):
* fns.c (Fbase64_decode_region):
* fns.c (Fbase64_decode_string):
* font-lock.c:
* font-lock.c (find_context):
* frame-x.c:
* frame-x.c (x_wm_mark_shell_size_user_specified):
* frame-x.c (x_wm_mark_shell_position_user_specified):
* frame-x.c (x_wm_set_shell_iconic_p):
* frame-x.c (x_wm_set_cell_size):
* frame-x.c (x_wm_set_variable_size):
* frame-x.c (x_wm_store_class_hints):
* frame-x.c (x_wm_maybe_store_wm_command):
* frame-x.c (x_initialize_frame_size):
* frame.c (delete_frame_internal):
* frame.c (change_frame_size_1):
* free-hook.c (check_free):
* free-hook.c (note_block_input):
* free-hook.c (log_gcpro):
* gccache-gtk.c (gc_cache_lookup):
* gccache-x.c:
* gccache-x.c (gc_cache_lookup):
* glyphs-gtk.c:
* glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
* glyphs-x.c:
* glyphs-x.c (extract_xpm_color_names):
* insdel.c:
* insdel.c (move_gap):
* keymap.c:
* keymap.c (keymap_lookup_directly):
* keymap.c (keymap_delete_inverse_internal):
* keymap.c (accessible_keymaps_mapper_1):
* keymap.c (where_is_recursive_mapper):
* lisp.h:
* lstream.c (make_lisp_buffer_stream_1):
* macros.c:
* macros.c (pop_kbd_macro_event):
* mc-alloc.c (remove_page_from_used_list):
* menubar-x.c:
* menubar-x.c (set_frame_menubar):
* ralloc.c:
* ralloc.c (obtain):
* ralloc.c (relinquish):
* ralloc.c (relocate_blocs):
* ralloc.c (resize_bloc):
* ralloc.c (r_alloc_free):
* ralloc.c (r_re_alloc):
* ralloc.c (r_alloc_thaw):
* ralloc.c (init_ralloc):
* ralloc.c (Free_Addr_Block):
* scrollbar-x.c:
* scrollbar-x.c (x_update_scrollbar_instance_status):
* sunplay.c (init_device):
* unexnt.c:
* unexnt.c (read_in_bss):
* unexnt.c (map_in_heap):
* window.c:
* window.c (real_window):
* window.c (window_display_lines):
* window.c (window_display_buffer):
* window.c (set_window_display_buffer):
* window.c (unshow_buffer):
* window.c (Fget_lru_window):
if (...) ABORT(); ---> assert();
More specifically:
if (x == y) ABORT (); --> assert (x != y);
if (x != y) ABORT (); --> assert (x == y);
if (x > y) ABORT (); --> assert (x <= y);
etc.
if (!x) ABORT (); --> assert (x);
if (x) ABORT (); --> assert (!x);
DeMorgan's Law's applied and manually simplified:
if (x && !y) ABORT (); --> assert (!x || y);
if (!x || y >= z) ABORT (); --> assert (x && y < z);
Checked to make sure that assert() of an expression with side
effects ensures that the side effects get executed even when
asserts are disabled, and add a comment about this being a
requirement of any "disabled assert" expression.
* depend:
* make-src-depend:
* make-src-depend (PrintDeps):
Fix broken code in make-src-depend so it does what it was always
supposed to do, which was separate out config.h and lisp.h and
all the files they include into separate variables in the
depend part of Makefile so that quick-build can turn off the
lisp.h/config.h/text.h/etc. dependencies of the source files, to
speed up recompilation.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Feb 2010 05:05:54 -0600 |
parents | ce0b3f2eff35 |
children |
rev | line source |
---|---|
448 | 1 /* |
2 * Copyright (c) 2000, Red Hat, Inc. | |
3 * | |
4 * This program is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * A copy of the GNU General Public License can be found at | |
10 * http://www.gnu.org/ | |
11 * | |
12 * Written by DJ Delorie <dj@cygnus.com> | |
13 * | |
14 */ | |
15 | |
16 /* The purpose of this file is to manage internet downloads using the | |
17 Internet Explorer version 5 DLLs. To use this method, the user | |
18 must already have installed and configured IE5. This module is | |
19 called from netio.cc, which is called from geturl.cc */ | |
20 | |
21 #include "win32.h" | |
22 | |
23 #include "resource.h" | |
24 #include "state.h" | |
25 #include "dialog.h" | |
26 #include "msg.h" | |
27 #include "netio.h" | |
28 #include "nio-ie5.h" | |
29 | |
30 static HINTERNET internet = 0; | |
31 | |
32 NetIO_IE5::NetIO_IE5 (char *_url) | |
33 : NetIO (_url) | |
34 { | |
35 int resend = 0; | |
36 | |
37 if (internet == 0) | |
38 { | |
39 HINSTANCE h = LoadLibrary ("wininet.dll"); | |
40 if (!h) | |
41 { | |
42 note (IDS_WININET); | |
43 connection = 0; | |
44 return; | |
45 } | |
46 InternetAttemptConnect (0); | |
47 internet = InternetOpen ("Cygwin Setup", INTERNET_OPEN_TYPE_PRECONFIG, | |
48 NULL, NULL, 0); | |
49 } | |
50 | |
51 DWORD flags = | |
52 INTERNET_FLAG_DONT_CACHE | | |
53 INTERNET_FLAG_KEEP_CONNECTION | | |
54 INTERNET_FLAG_PRAGMA_NOCACHE | | |
55 INTERNET_FLAG_RELOAD | | |
56 INTERNET_FLAG_EXISTING_CONNECT | | |
57 INTERNET_FLAG_PASSIVE; | |
58 | |
59 connection = InternetOpenUrl (internet, url, NULL, 0, flags, 0); | |
60 | |
61 try_again: | |
62 | |
63 if (net_user && net_passwd) | |
64 { | |
65 InternetSetOption (connection, INTERNET_OPTION_USERNAME, | |
66 net_user, strlen (net_user)); | |
67 InternetSetOption (connection, INTERNET_OPTION_PASSWORD, | |
68 net_passwd, strlen (net_passwd)); | |
69 } | |
70 | |
71 if (net_proxy_user && net_proxy_passwd) | |
72 { | |
73 InternetSetOption (connection, INTERNET_OPTION_PROXY_USERNAME, | |
74 net_proxy_user, strlen (net_proxy_user)); | |
75 InternetSetOption (connection, INTERNET_OPTION_PROXY_PASSWORD, | |
76 net_proxy_passwd, strlen (net_proxy_passwd)); | |
77 } | |
78 | |
79 if (resend) | |
80 if (!HttpSendRequest (connection, 0, 0, 0, 0)) | |
81 connection = 0; | |
82 | |
83 if (!connection) | |
84 { | |
85 if (GetLastError () == ERROR_INTERNET_EXTENDED_ERROR) | |
86 { | |
87 char buf[2000]; | |
88 DWORD e, l=sizeof (buf); | |
89 InternetGetLastResponseInfo (&e, buf, &l); | |
90 MessageBox (0, buf, "Internet Error", 0); | |
91 } | |
92 } | |
93 | |
94 DWORD type, type_s; | |
95 type_s = sizeof (type); | |
96 InternetQueryOption (connection, INTERNET_OPTION_HANDLE_TYPE, | |
97 &type, &type_s); | |
98 | |
99 switch (type) | |
100 { | |
101 case INTERNET_HANDLE_TYPE_HTTP_REQUEST: | |
102 case INTERNET_HANDLE_TYPE_CONNECT_HTTP: | |
103 type_s = sizeof (DWORD); | |
104 if (HttpQueryInfo (connection, | |
105 HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, | |
106 &type, &type_s, NULL)) | |
107 { | |
108 if (type == 401) /* authorization required */ | |
109 { | |
110 flush_io(); | |
111 get_auth (); | |
112 resend = 1; | |
113 goto try_again; | |
114 } | |
115 else if (type == 407) /* proxy authorization required */ | |
116 { | |
117 flush_io(); | |
118 get_proxy_auth (); | |
119 resend = 1; | |
120 goto try_again; | |
121 } | |
122 else if (type >= 300) | |
123 { | |
124 connection = 0; | |
125 return; | |
126 } | |
127 } | |
128 } | |
129 } | |
130 | |
131 void | |
132 NetIO_IE5::flush_io () | |
133 { | |
134 DWORD actual = 0; | |
135 char buf[1024]; | |
136 do { | |
137 InternetReadFile (connection, buf, 1024, &actual); | |
138 } while (actual > 0); | |
139 } | |
140 | |
141 NetIO_IE5::~NetIO_IE5 () | |
142 { | |
143 if (connection) | |
144 InternetCloseHandle (connection); | |
145 } | |
146 | |
147 int | |
148 NetIO_IE5::ok () | |
149 { | |
150 return (connection == NULL) ? 0 : 1; | |
151 } | |
152 | |
153 int | |
154 NetIO_IE5::read (char *buf, int nbytes) | |
155 { | |
156 DWORD actual; | |
157 if (InternetReadFile (connection, buf, nbytes, &actual)) | |
158 return actual; | |
159 return -1; | |
160 } |