Mercurial > hg > xemacs-beta
comparison src/mule-wnnfns.c @ 300:3cc9f0ebfbd1 r21-0b48
Import from CVS: tag r21-0b48
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:40:26 +0200 |
parents | c5d627a313b1 |
children | 8626e4521993 |
comparison
equal
deleted
inserted
replaced
299:24cff6e8d715 | 300:3cc9f0ebfbd1 |
---|---|
330 login name LNAME in the server. | 330 login name LNAME in the server. |
331 Return nil if error occurs | 331 Return nil if error occurs |
332 */ | 332 */ |
333 (hname, lname)) | 333 (hname, lname)) |
334 { | 334 { |
335 char envname[32]; | 335 char *envname; |
336 char langname[32]; | 336 char *langname; |
337 char hostname[32]; | 337 char *hostname; |
338 int snum; | 338 int snum; |
339 int size; | |
339 CHECK_STRING (lname); | 340 CHECK_STRING (lname); |
340 | 341 |
341 snum = check_wnn_server_type (); | 342 snum = check_wnn_server_type (); |
342 switch (snum) | 343 switch (snum) |
343 { | 344 { |
344 case WNNSERVER_J: | 345 case WNNSERVER_J: |
345 strcpy (langname, "ja_JP"); | 346 langname = "ja_JP"; |
346 break; | 347 break; |
347 case WNNSERVER_C: | 348 case WNNSERVER_C: |
348 strcpy (langname, "zh_CN"); | 349 langname = "zh_CN"; |
349 break; | 350 break; |
350 /* | 351 /* |
351 case WNNSERVER_T: | 352 case WNNSERVER_T: |
352 strcpy (langname, "zh_TW"); | 353 strcpy (langname, "zh_TW"); |
353 break; | 354 break; |
354 */ | 355 */ |
355 case WNNSERVER_K: | 356 case WNNSERVER_K: |
356 strcpy (langname, "ko_KR"); | 357 langname = "ko_KR"; |
357 break; | 358 break; |
358 } | 359 case -1: |
359 strncpy (envname, (char *) XSTRING_DATA (lname), 32); | 360 default: |
360 if (NILP (hname)) strcpy (hostname, ""); | 361 return Qnil; |
362 } | |
363 size = XSTRING_LENGTH (lname) > 1024 ? 1026 : XSTRING_LENGTH (lname) + 2; | |
364 envname = alloca (size); | |
365 strncpy (envname, (char *) XSTRING_DATA (lname), size-2); | |
366 envname[size-2] = '\0'; | |
367 if (NILP (hname)) hostname = ""; | |
361 else | 368 else |
362 { | 369 { |
363 CHECK_STRING (hname); | 370 CHECK_STRING (hname); |
364 strncpy (hostname, (char *) XSTRING_DATA (hname), 32); | 371 size = XSTRING_LENGTH(hname) > 1024 ? 1025 : XSTRING_LENGTH(hname) + 1; |
372 | |
373 hostname = alloca (size); | |
374 strncpy (hostname, (char *) XSTRING_DATA (hname), size-1); | |
375 hostname[size-1] = '\0'; | |
365 } | 376 } |
366 CHECK_STRING (lname); | 377 CHECK_STRING (lname); |
367 /* 97/4/16 jhod@po.iijnet.or.jp | 378 /* 97/4/16 jhod@po.iijnet.or.jp |
368 * libwnn uses SIGALRM, so we need to stop and start interrupts. | 379 * libwnn uses SIGALRM, so we need to stop and start interrupts. |
369 */ | 380 */ |