htext 10846 src/simh/scp.c UNIT *uptr, const char *htext, va_list ap) htext 10867 src/simh/scp.c astrings[asnum++] = (char *) htext; htext 10869 src/simh/scp.c for (hblock = astrings; (htext = *hblock) != NULL; hblock++) { htext 10872 src/simh/scp.c while (*htext) { htext 10876 src/simh/scp.c if (sim_isspace (*htext) || *htext == '+') {/* Topic text, indented topic text */ htext 10878 src/simh/scp.c while (*htext && *htext != '\n') htext 10879 src/simh/scp.c htext++; htext 10880 src/simh/scp.c if (*htext) htext 10881 src/simh/scp.c ++htext; htext 10886 src/simh/scp.c if (*htext == '+') { /* More for each + */ htext 10887 src/simh/scp.c while (*htext == '+') { htext 10890 src/simh/scp.c htext++; htext 10893 src/simh/scp.c while (*htext && *htext != '\n' && sim_isspace (*htext)) htext 10894 src/simh/scp.c htext++; htext 10895 src/simh/scp.c if (!*htext) /* Empty after removing leading spaces */ htext 10897 src/simh/scp.c start = htext; htext 10898 src/simh/scp.c while (*htext) { /* Process line for substitutions */ htext 10899 src/simh/scp.c if (*htext == '%') { htext 10900 src/simh/scp.c appendText (topic, start, htext - start); /* Flush up to escape */ htext 10901 src/simh/scp.c switch (*++htext) { /* Evaluate escape */ htext 10924 src/simh/scp.c if (sim_isdigit (*htext)) { htext 10926 src/simh/scp.c while (sim_isdigit (*htext)) htext 10927 src/simh/scp.c n += (n * 10) + (*htext++ - '0'); htext 10928 src/simh/scp.c if (( *htext != 'H' && *htext != 's') || htext 10931 src/simh/scp.c FAIL (SCPE_ARG, Invalid escape, htext); htext 10937 src/simh/scp.c if (*htext == 'H') { /* Append as more input */ htext 10940 src/simh/scp.c FAIL (SCPE_ARG, Too many blocks, htext); htext 10965 src/simh/scp.c FAIL (SCPE_ARG, Invalid escape, htext); htext 10968 src/simh/scp.c start = ++htext; htext 10971 src/simh/scp.c if (*htext == '\n') { /* End of line, append last segment */ htext 10972 src/simh/scp.c htext++; htext 10973 src/simh/scp.c appendText (topic, start, htext - start); htext 10976 src/simh/scp.c htext++; /* Regular character */ htext 10980 src/simh/scp.c if (sim_isdigit (*htext)) { /* Topic heading */ htext 10986 src/simh/scp.c start = htext; htext 10987 src/simh/scp.c while (sim_isdigit (*htext)) htext 10988 src/simh/scp.c n += (n * 10) + (*htext++ - '0'); htext 10989 src/simh/scp.c if ((htext == start) || !n) { htext 10991 src/simh/scp.c FAIL (SCPE_ARG, Invalid topic heading, htext); htext 11001 src/simh/scp.c FAIL (SCPE_ARG, Level not contiguous, htext); /* E.g. 1 3, not reasonable */ htext 11005 src/simh/scp.c while (*htext && (*htext != '\n') && sim_isspace (*htext)) htext 11006 src/simh/scp.c htext++; htext 11007 src/simh/scp.c if (!*htext || (*htext == '\n')) { /* Name missing */ htext 11009 src/simh/scp.c FAIL (SCPE_ARG, Missing topic name, htext); htext 11012 src/simh/scp.c start = htext; htext 11013 src/simh/scp.c while (*htext && (*htext != '\n')) htext 11014 src/simh/scp.c htext++; htext 11015 src/simh/scp.c if (start == htext) { /* Name NULL */ htext 11017 src/simh/scp.c FAIL (SCPE_ARG, Null topic name, htext); htext 11036 src/simh/scp.c if (*htext) htext 11037 src/simh/scp.c htext++; htext 11047 src/simh/scp.c size_t len = (htext > start) ? (htext - start) : 0; htext 11055 src/simh/scp.c memcpy (newt->title, start, htext - start); htext 11056 src/simh/scp.c newt->title[htext - start] = '\0'; htext 11057 src/simh/scp.c if (*htext) htext 11058 src/simh/scp.c htext++; htext 11094 src/simh/scp.c if (*htext == ';') { /* Comment */ htext 11095 src/simh/scp.c while (*htext && *htext != '\n') htext 11096 src/simh/scp.c htext++; htext 11100 src/simh/scp.c FAIL (SCPE_ARG, Unknown line type, htext); /* Unknown line */