… | |
… | |
559 | |
559 | |
560 | #endif |
560 | #endif |
561 | |
561 | |
562 | /******************************************************************************/ |
562 | /******************************************************************************/ |
563 | |
563 | |
|
|
564 | int |
564 | void assign (char *dst, const char *src, int maxlen) |
565 | assign (char *dst, const char *src, int maxsize) |
565 | { |
566 | { |
566 | if (!src) |
567 | if (!src) |
567 | src = ""; |
568 | src = ""; |
568 | |
569 | |
569 | int len = strlen (src); |
570 | int len = strlen (src); |
570 | |
571 | |
571 | if (len >= maxlen - 1) |
572 | if (len >= maxsize) |
572 | { |
573 | { |
573 | if (maxlen <= 4) |
574 | if (maxsize <= 4) |
574 | { |
575 | { |
575 | memset (dst, '.', maxlen - 1); |
576 | memset (dst, '.', maxsize - 2); |
576 | dst [maxlen - 1] = 0; |
577 | dst [maxsize - 1] = 0; |
577 | } |
578 | } |
578 | else |
579 | else |
579 | { |
580 | { |
580 | memcpy (dst, src, maxlen - 4); |
581 | memcpy (dst, src, maxsize - 4); |
581 | memcpy (dst + maxlen - 4, "...", 4); |
582 | memcpy (dst + maxsize - 4, "...", 4); |
582 | } |
583 | } |
|
|
584 | |
|
|
585 | len = maxsize; |
583 | } |
586 | } |
584 | else |
587 | else |
585 | memcpy (dst, src, len + 1); |
588 | memcpy (dst, src, ++len); |
|
|
589 | |
|
|
590 | return len; |
586 | } |
591 | } |
587 | |
592 | |
588 | const char * |
593 | const char * |
589 | format (const char *format, ...) |
594 | format (const char *format, ...) |
590 | { |
595 | { |