]> git.pld-linux.org Git - packages/links2.git/blob - links2-img.patch
- removed unnecessary patch (it was done in lame way)
[packages/links2.git] / links2-img.patch
1 diff -urN aaa/links-2.0pre6/html.c links-2.0pre6/html.c
2 --- aaa/links-2.0pre6/html.c    Mon May 20 00:32:57 2002
3 +++ links-2.0pre6/html.c        Sun Jun 16 12:02:57 2002
4 @@ -838,7 +838,54 @@
5                         if (!d_opt->images && !format.link) goto ret;
6                         if (usemap) al = stracpy("[USEMAP]");
7                         else if (ismap) al = stracpy("[ISMAP]");
8 -                       else al = stracpy("[IMG]");
9 +                       else{
10 +                               unsigned char *str = get_attr_val(a, "src");
11 +                               unsigned char *s;
12 +                               int r, i;
13 +                               /* How images will be displayed:
14 +                               * fake_alt = 0   -- do not truncate long names,
15 +                               * fake_alt = 30  -- truncate long names to 30% of term width,
16 +                               * fake_alt = 100 -- truncate long names to 100% of term width.
17 +                               */         
18 +                               int fake_alt = 20;
19 +                               int max_len;
20 +                               int name_len;
21 +                               /* substitute string for hidden characters */
22 +                               unsigned char *fake_str = stracpy("*");
23 +                               if(str && fake_alt){
24 +                                       /* FIXME: replace following '80' with screen width */
25 +                                       max_len = (int)80*((float)fake_alt/100);
26 +                                       r = strcspn(str, "?");
27 +                                       if (!(s = mem_alloc((r + 1) * sizeof(char)))) return;
28 +                                       strncpy(s, str, r);
29 +                                       s[r] = '\0';
30 +                                       for(r = strlen(s) - 1; r >= 0; --r)
31 +                                               if(dir_sep(s[r])) break;
32 +                                       r++;
33 +                                       if(strlen(s + r) > max_len){
34 +                                               for(i = strlen(s) -1; i>=0; --i)
35 +                                                       if(s[i] == '.') break;
36 +                                               if(max_len < strlen(s + i)) al = stracpy("[IMG]");
37 +                                               else{
38 +                                                       if(!(al = mem_alloc((max_len + strlen(fake_str) + 3) * sizeof(char)))) return;
39 +                                                       name_len = max_len - strlen(s + i);
40 +                                                       strcpy(al, "[\0");
41 +                                                       strncat(al, s + r, name_len/2);
42 +                                                       strcat(al, fake_str);
43 +                                                       strcat(al, s + r + (strlen(s + r) - max_len + name_len/2));
44 +                                                       strcat(al, "]");
45 +                                               }
46 +                                       }
47 +                                       else{
48 +                                               if(!(al = mem_alloc((strlen(s + r) + 3) * sizeof(char)))) return;
49 +                                               sprintf(al, "[%s]", s + r);
50 +                                       }
51 +                                       mem_free(s);
52 +                                       mem_free(str);
53 +                                       mem_free(fake_str);
54 +                               }
55 +                               else al = stracpy("[IMG]");
56 +                       }
57                 }
58                 if (al) {
59                         if (ismap) {
This page took 0.0586 seconds and 3 git commands to generate.