1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-22 14:39:24 -05:00

Tidy up dlg_editbox_set() and implemen dlg_editbox_get() for System 7.

[originally from svn r3011]
This commit is contained in:
Ben Harris 2003-03-28 00:50:04 +00:00
parent a263861aaa
commit 6174de9afd

View File

@ -1,4 +1,4 @@
/* $Id: macctrls.c,v 1.16 2003/03/28 00:06:17 ben Exp $ */ /* $Id: macctrls.c,v 1.17 2003/03/28 00:50:04 ben Exp $ */
/* /*
* Copyright (c) 2003 Ben Harris * Copyright (c) 2003 Ben Harris
* All rights reserved. * All rights reserved.
@ -1069,17 +1069,16 @@ void dlg_editbox_set(union control *ctrl, void *dlg, char const *text)
assert(mc->generic.type == MACCTRL_EDITBOX); assert(mc->generic.type == MACCTRL_EDITBOX);
GetPort(&saveport); GetPort(&saveport);
SetPort((GrafPtr)(GetWindowPort(mcs->window))); SetPort((GrafPtr)(GetWindowPort(mcs->window)));
if (mac_gestalts.apprvers >= 0x100) { if (mac_gestalts.apprvers >= 0x100)
SetControlData(mc->editbox.tbctrl, kControlEntireControl, SetControlData(mc->editbox.tbctrl, kControlEntireControl,
ctrl->editbox.password ? ctrl->editbox.password ?
kControlEditTextPasswordTag : kControlEditTextPasswordTag :
kControlEditTextTextTag, kControlEditTextTextTag,
strlen(text), text); strlen(text), text);
} else { else
TESetText(text, strlen(text), TESetText(text, strlen(text),
(TEHandle)(*mc->editbox.tbctrl)->contrlData); (TEHandle)(*mc->editbox.tbctrl)->contrlData);
} DrawOneControl(mc->editbox.tbctrl);
DrawOneControl(mc->editbox.tbctrl);
SetPort(saveport); SetPort(saveport);
} }
@ -1087,6 +1086,7 @@ void dlg_editbox_get(union control *ctrl, void *dlg, char *buffer, int length)
{ {
struct macctrls *mcs = dlg; struct macctrls *mcs = dlg;
union macctrl *mc = findbyctrl(mcs, ctrl); union macctrl *mc = findbyctrl(mcs, ctrl);
TEHandle te;
Size olen; Size olen;
assert(mc != NULL); assert(mc != NULL);
@ -1099,14 +1099,17 @@ void dlg_editbox_get(union control *ctrl, void *dlg, char *buffer, int length)
length - 1, buffer, &olen) != noErr) length - 1, buffer, &olen) != noErr)
olen = 0; olen = 0;
if (olen > length - 1) if (olen > length - 1)
buffer[length - 1] = '\0'; olen = length - 1;
else } else {
buffer[olen] = '\0'; te = (TEHandle)(*mc->editbox.tbctrl)->contrlData;
buffer[olen] = '\0'; olen = (*te)->teLength;
} else if (olen > length - 1)
buffer[0] = '\0'; olen = length - 1;
memcpy(buffer, *(*te)->hText, olen);
}
buffer[olen] = '\0';
fprintf(stderr, "dlg_editbox_get: %s\n", buffer); fprintf(stderr, "dlg_editbox_get: %s\n", buffer);
}; }
/* /*