| 443 | } |
| 444 | |
| 445 | void kprintf::handleMakeVector(char **_src, char **_dst, int div) |
| 446 | { |
| 447 | int numCharsWritten = 0; |
| 448 | char id[256]; |
| 449 | char * ptr; |
| 450 | char *src = *_src; |
| 451 | char *dst = *_dst; |
| 452 | |
| 453 | ptr = mystrtok( src, "()"); |
| 454 | ptr = mystrtok( NULL, "()"); // Get ID |
| 455 | strcpy( id, ptr); |
| 456 | *_src = ptr + strlen(ptr) + 1; |
| 457 | |
| 458 | |
| 459 | if ( div == 0 ) // Scalar Case |
| 460 | { |
| 461 | numCharsWritten = sprintf(dst,"(%s)(", BASE); |
| 462 | dst += numCharsWritten; |
| 463 | |
| 464 | if ( s_or_v == VECTOR) |
| 465 | { |
| 466 | if ( strcmp( BASE,"float") == 0 || strcmp( BASE,"float2") == 0) |
| 467 | { |
| 468 | numCharsWritten = sprintf(dst," %s%c,", id, 'f'); |
| 469 | } |
| 470 | else |
| 471 | { |
| 472 | numCharsWritten = sprintf(dst," %s,", id); |
| 473 | } |
| 474 | dst += numCharsWritten; |
| 475 | } |
| 476 | |
| 477 | if ( strcmp( BASE,"float") == 0 || strcmp( BASE,"float2") == 0 ) |
| 478 | { |
| 479 | numCharsWritten = sprintf(dst," %s%c)", id,'f'); |
| 480 | } |
| 481 | else |
| 482 | { |
| 483 | numCharsWritten = sprintf(dst," %s)", id); |
| 484 | |
| 485 | } |
| 486 | dst += numCharsWritten; |
| 487 | *_dst = dst; |
| 488 | } |
| 489 | else |
| 490 | { |
| 491 | numCharsWritten = sprintf(dst,"(%s)(", (div == 1)? DERIVED : (div == 2)? HALFWORD : (div == 4)? QUARTERWORD: HALFQUARTERWORD); |
| 492 | dst += numCharsWritten; |
| 493 | |
| 494 | for( int i = 1 ; i < (vectorWidth/ div); i++) |
| 495 | { |
| 496 | numCharsWritten = sprintf(dst," %s,", id); |
| 497 | dst += numCharsWritten; |
| 498 | } |
| 499 | |
| 500 | numCharsWritten = sprintf(dst," %s)", id); |
| 501 | dst += numCharsWritten; |
| 502 | *_dst = dst; |
nothing calls this directly
no outgoing calls
no test coverage detected