Fix release build of dflat32, initalizing some vars and fixing one typo.
[reactos.git] / rosapps / dflat32 / text.c
1 /* -------------- text.c -------------- */
2
3 #include "dflat.h"
4
5 int DfTextProc(DFWINDOW wnd, DFMESSAGE msg, DF_PARAM p1, DF_PARAM p2)
6 {
7 int i, len;
8 DF_CTLWINDOW *ct = DfGetControl(wnd);
9 char *cp, *cp2 = ct->itext;
10 char *ptr;
11
12 switch (msg)
13 {
14 case DFM_SETFOCUS:
15 return TRUE;
16
17 case DFM_LEFT_BUTTON:
18 return TRUE;
19
20 case DFM_PAINT:
21 if (ct == NULL ||
22 ct->itext == NULL ||
23 DfGetText(wnd) != NULL)
24 break;
25 len = min(ct->dwnd.h, DfMsgHeight(cp2));
26
27 ptr = DfMalloc (strlen (cp2) + 1);
28 strcpy (ptr, cp2);
29 cp = ptr;
30 for (i = 0; i < len; i++)
31 {
32 int mlen;
33 char *txt = cp;
34 char *cp1 = cp;
35 char *np = strchr(cp, '\n');
36 if (np != NULL)
37 *np = '\0';
38 mlen = strlen(cp);
39 while ((cp1=strchr(cp1,DF_SHORTCUTCHAR)) != NULL)
40 {
41 mlen += 3;
42 cp1++;
43 }
44
45 if (np != NULL)
46 *np = '\n';
47 txt = DfMalloc(mlen+1);
48 DfCopyCommand(txt, cp, FALSE, DfWndBackground(wnd));
49 txt[mlen] = '\0';
50 DfSendMessage(wnd, DFM_ADDTEXT, (DF_PARAM)txt, 0);
51 if ((cp = strchr(cp, '\n')) != NULL)
52 cp++;
53 free(txt);
54 }
55 free (ptr);
56 break;
57
58 default:
59 break;
60 }
61
62 return DfBaseWndProc(DF_TEXT, wnd, msg, p1, p2);
63 }
64
65 /* EOF */