Files
pkgsrc-ng/mail/faces/patches/patch-ae
2013-09-26 17:14:40 +02:00

85 lines
1.6 KiB
Plaintext

$NetBSD: patch-ae,v 1.6 2011/03/02 05:42:41 obache Exp $
--- compface/file.c.orig 1991-06-19 06:29:13.000000000 +0000
+++ compface/file.c
@@ -15,6 +15,8 @@
#include "compface.h"
+int xbitmap=0;
+
void
BigRead(fbuf)
register char *fbuf;
@@ -127,10 +129,19 @@ char *fbuf;
{
register char *s, *t;
register int i, bits, digits, words;
+ extern int xbitmap;
+ int digsperword = DIGSPERWORD;
+ int wordsperline = WORDSPERLINE;
s = F;
t = fbuf;
bits = digits = words = i = 0;
+ if (xbitmap) {
+ sprintf(t,"#define noname_width 48\n#define noname_height 48\nstatic char noname_bits[] = {\n ");
+ while (*t) t++;
+ digsperword = 2;
+ wordsperline = 15;
+ }
while (s < F + PIXELS)
{
if ((bits == 0) && (digits == 0))
@@ -138,25 +149,43 @@ char *fbuf;
*(t++) = '0';
*(t++) = 'x';
}
- if (*(s++))
- i = i * 2 + 1;
- else
- i *= 2;
+ if (xbitmap) {
+ if (*(s++))
+ i = (i >> 1) | 0x8;
+ else
+ i >>= 1;
+ }
+ else {
+ if (*(s++))
+ i = i * 2 + 1;
+ else
+ i *= 2;
+ }
if (++bits == BITSPERDIG)
{
- *(t++) = *(i + HexDigits);
+ if (xbitmap) {
+ t++;
+ t[-(digits & 1) * 2] = *(i + HexDigits);
+ }
+ else *(t++) = *(i + HexDigits);
bits = i = 0;
- if (++digits == DIGSPERWORD)
+ if (++digits == digsperword)
{
+ if (xbitmap && (s >= F + PIXELS)) break;
*(t++) = ',';
digits = 0;
- if (++words == WORDSPERLINE)
+ if (++words == wordsperline)
{
*(t++) = '\n';
+ if (xbitmap) *(t++) = ' ';
words = 0;
}
}
}
}
+ if (xbitmap) {
+ sprintf(t, "}\n");
+ while (*t) t++;
+ }
*(t++) = '\0';
}