integer myatodim(char **s) { register long w, num, den, sc ; register const char *q ; char *p ; int negative = 0, i ; p = *s ; if (**s == '-') { p++ ; negative = 1 ; } w = myatol(&p) ; if (w < 0) { pdftex_warn("number too large; 1000 used") ; w = 1000 ; } num = 0 ; den = 1 ; if (*p == '.') { p++ ; while ('0' <= *p && *p <= '9') { if (den <= 1000) { den *= 10 ; num = num * 10 + *p - '0' ; } else if (den == 10000) { den *= 2 ; num = num * 2 + (*p - '0') / 5 ; } p++ ; } } skip(p, ' '); true_dimen = false; if (strncmp(p, "true", strlen("true")) == 0) { true_dimen = true; p += strlen("true"); skip(p, ' '); } for (i=0, q=scalenames; ; i++, q += 2) if (*q == 0) { pdftex_warn("expected units in %s, assuming inches.", *s); sc = scalevals[8] ; break ; } else if (*p == *q && p[1] == q[1]) { sc = scalevals[i] ; p += 2 ; break ; } w = scale(w, num, den, sc) ; *s = p ; return(negative?-w:w) ; }
int main(int argc, char **argv) { HANDLE hProcess ; DWORD accessflag; long pid; int sig = 15; if (argc > 2) { if (argv[1][0] != '-') usage_exit(); if (strcmp(argv[1], "-TERM") == 0) sig = 15; else { /* currently sig is more or less ignored, * we only care if it is zero or not */ sig = atoi(&argv[1][1]); if (sig < 0) usage_exit(); } argc--; argv++; } if (argc < 2) usage_exit(); pid = myatol(argv[1], 10); /*printf("pid = %ld (0x%lx) (command line %s)\n", pid, pid, argv[1]);*/ if (pid == LONG_MAX || pid == LONG_MIN) usage_exit(); if (sig == 0) accessflag = PROCESS_QUERY_INFORMATION | PROCESS_VM_READ; else accessflag = STANDARD_RIGHTS_REQUIRED | PROCESS_TERMINATE; hProcess = OpenProcess(accessflag, FALSE, pid); if (hProcess == NULL) { fprintf(stderr, "dbkill: %s: no such process\n", argv[1]); exit(EXIT_FAILURE); } if (sig == 0) exit(EXIT_SUCCESS); if (!TerminateProcess(hProcess, 99)) { DWORD err = GetLastError(); fprintf(stderr, "dbkill: cannot kill process: error %d (0x%lx)\n", err, err); exit(EXIT_FAILURE); } return EXIT_SUCCESS; }
int32_t myatodim(char ** s) { register int32_t w, num, den, sc ; register char *q ; char *p ; int negative = 0, i ; p = *s ; if (**s == '-') { p++ ; negative = 1 ; } w = myatol(&p) ; if (w < 0) { Warning("number too large; 1000 used") ; w = 1000 ; } num = 0 ; den = 1 ; if (*p == '.') { p++ ; while ('0' <= *p && *p <= '9') { if (den <= 1000) { den *= 10 ; num = num * 10 + *p - '0' ; } else if (den == 10000) { den *= 2 ; num = num * 2 + (*p - '0') / 5 ; } p++ ; } } while (*p == ' ') p++ ; for (i=0, q=scalenames; ; i++, q += 2) if (*q == 0) { Warning("expected units in %s, assuming inches.",*s) ; sc = scalevals[8] ; break ; } else if (*p == *q && p[1] == q[1]) { sc = scalevals[i] ; p += 2 ; break ; } /*w = scale(w, num, den, sc) ;*/ w = (int32_t)((int64_t) scale(w, num, den, sc)*resolution /shrinkfactor/4736286L); *s = p ; return(negative?-w:w) ; }