MCPcopy Create free account
hub / github.com/ZDoom/Raze / strbin1

Function strbin1

source/common/utility/cmdlib.cpp:727–818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

725//==========================================================================
726
727FString strbin1 (const char *start)
728{
729 FString result;
730 const char *p = start;
731 char c;
732 int i;
733
734 while ( (c = *p++) ) {
735 if (c != '\\') {
736 result << c;
737 } else if (*p) {
738 switch (*p) {
739 case 'a':
740 result << '\a';
741 break;
742 case 'b':
743 result << '\b';
744 break;
745 case 'c':
746 result << '\034'; // TEXTCOLOR_ESCAPE
747 break;
748 case 'f':
749 result << '\f';
750 break;
751 case 'n':
752 result << '\n';
753 break;
754 case 't':
755 result << '\t';
756 break;
757 case 'r':
758 result << '\r';
759 break;
760 case 'v':
761 result << '\v';
762 break;
763 case '?':
764 result << '\?';
765 break;
766 case '\n':
767 break;
768 case 'x':
769 case 'X':
770 c = 0;
771 for (i = 0; i < 2; i++)
772 {
773 p++;
774 if (*p >= '0' && *p <= '9')
775 c = (c << 4) + *p-'0';
776 else if (*p >= 'a' && *p <= 'f')
777 c = (c << 4) + 10 + *p-'a';
778 else if (*p >= 'A' && *p <= 'F')
779 c = (c << 4) + 10 + *p-'A';
780 else
781 {
782 p--;
783 break;
784 }

Callers 5

CCMDFunction · 0.85
ParseOptionValueFunction · 0.85
ParseOptionStringFunction · 0.85
StringFilterFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected