[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000968] Re: msgdmp for CDCL
��Ƿ��Ǥ���
> > ���ơ�����ˤ�� RubyDCL �ˤ����Ƥϡ�ruby �ѤΥ��顼�ϥ�ɥ��
> > �ؿ����֤������뤳�Ȥǡ�������λ��ͫ���ܤ˹��ʤ��ƺѤ�褦�ˤ�
> > ��ޤ������ˤ��Τ���Υץ�����������Ԥ��ޤ����ΤǡʤȤ�������
> > ����ؤ��Υƥ��Ȥ� RubyDCL �ǹԤä��ˡ�CDCL �Τۤ������åץǡ���
> > �����лȤ���褦�ˤʤ�ޤ�����ǥѥå��η���ή���ޤ����嵭��
> > CDCL ���ѹ���Ԥä���Τ����������С��������Ȥ߹��ߤ�����
> > �פ��ޤ���
>
> ���Υѥå���ź�դ��ޤ���ruby-dcl-1.beta.6 �ѤǤ���CDCL �Τۤ���
> ��ѥå������ʤ��ȻȤ��ޤ���ΤǸ����դ�
�������äȤޤ����ä��ΤǺ��ľ���ޤ��� ^^;
���ä��Υ��Ϥʤ��ä��Ȥ������ȤǤ��ꤤ���ޤ���
*** init.c_old Fri Nov 2 16:04:07 2001
--- init.c Fri Nov 30 22:38:18 2001
***************
*** 58,66 ****
--- 58,86 ----
void init_misc1_randlib(VALUE mDCL);
void init_misc1_timelib(VALUE mDCL);
+ static int ruby_msgdmp_err_func(char *csub, char *cmsg,
+ int csub_len, int cmsg_len)
+ {
+ int lmsg, lsub, i;
+ char msg[300];
+ lsub = lenc_(csub, csub_len);
+ if (lsub > 32) {lsub=32;}
+ lmsg = lenc_(cmsg, cmsg_len);
+ if (lmsg > 200) {lmsg=200;}
+ msg[0]='[';
+ strncpy(msg+1,csub,lsub);
+ msg[lsub+1]=']';
+ msg[lsub+2]=' ';
+ strncpy(msg+lsub+3,cmsg,lmsg);
+ for(i=lsub+3+lmsg;i<300;i++){msg[i]='\0';}
+ rb_raise(rb_eRuntimeError, msg);
+ return(0);
+ }
+
void
Init_dcl()
{
+ set_msgdmp_err_func(ruby_msgdmp_err_func);
mNum = rb_define_module("NumRu");
mDCL = rb_define_module_under(mNum, "DCL");