summaryrefslogtreecommitdiff
path: root/Build/source/utils/m-tx/mtx-0.60d/cfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/m-tx/mtx-0.60d/cfuncs.c')
-rw-r--r--Build/source/utils/m-tx/mtx-0.60d/cfuncs.c89
1 files changed, 89 insertions, 0 deletions
diff --git a/Build/source/utils/m-tx/mtx-0.60d/cfuncs.c b/Build/source/utils/m-tx/mtx-0.60d/cfuncs.c
new file mode 100644
index 00000000000..e1f2ca65dbf
--- /dev/null
+++ b/Build/source/utils/m-tx/mtx-0.60d/cfuncs.c
@@ -0,0 +1,89 @@
+# define CFUNCS_C
+#include "cfuncs.h"
+
+int P_argc;
+char **P_argv;
+int P_ioresult;
+int _EscIO2 (int errorcode, char* filename)
+{ fprintf(stderr,"Input file %s not found\n",filename);
+ exit(errorcode); return errorcode; }
+int _EscIO (int errorcode){ return _EscIO2(errorcode,""); }
+int _Escape (int exitcode)
+{ exit(exitcode); return exitcode; }
+int _SETIO (int OK, int errorcode){ return P_ioresult = OK ? 0 : errorcode; }
+int P_eof (FILE * infile)
+{ int x;
+ if (feof(infile)) return 1;
+ x = fgetc(infile);
+ if (x==EOF) return 1;
+ ungetc(x,infile); return 0;
+ }
+void PASCAL_MAIN (int npars, char ** pars)
+{ P_argc = npars; P_argv = pars; }
+
+void scan1(char *s, short p, short *n)
+{ sscanf(s+p-1,"%hd",n);
+}
+
+short pos1(char c, char *s)
+{ char *t = strchr(s,c);
+ if (t) return (short) (t-s+1); else return 0;
+}
+
+void delete1(char *s, short p)
+{ char *t = (s+=p); s=t-1;
+ while (*s) *s++ = *t++;
+}
+
+void predelete(char *s, short l)
+{ char *t = s+l;
+ while (*t) *s++ = *t++;
+ *s = *t;
+}
+
+void shorten(char *s, short new_length)
+{ s[new_length] = '\0';
+}
+
+short posNot(char c, char *s)
+{ char *t = s;
+ while (*t == c) t++;
+ if (*t) return t-s+1;
+ else return 0;
+}
+
+void getNum(char *line, short *k)
+{ int j=sscanf(line,"%hd",k);
+ if (j<1) *k=0;
+}
+
+
+void getTwoNums(char *line, short *k1, short *k2)
+{ int param = sscanf(line,"%hd/%hd",k1,k2);
+ if (param<2) *k2 = 0;
+}
+
+void toUpper(char *s)
+{ while (*s) { *s = toupper(*s); s++; }
+}
+
+boolean startsWith(char *s1, char *s2)
+{ while (*s2) { if (*s1++ != *s2++) return false; }
+ return true;
+}
+
+void insertChar(char c, char *s, short p)
+{ char x;
+ s += p-1;
+ do { x=c; c=*s; *s++=x; } while (x);
+}
+
+char *substr_(char *Result, char *s, short start, short count)
+{ char *R = Result;
+ s += start-1;
+ while (count--) *R++ = *s++;
+ *R = '\0';
+ return Result;
+}
+
+# undef CFUNCS_C