~vcs-imports/pmake/main

« back to all changes in this revision

Viewing changes to main.c

  • Committer: rillig
  • Date: 2023-09-19 17:43:43 UTC
  • Revision ID: rillig-20230919174343-omz1h0iqebku5s2l
make: clean up code for parsing the '-j' command line option

No binary change.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*      $NetBSD: main.c,v 1.599 2023/09/10 21:52:36 rillig Exp $        */
 
1
/*      $NetBSD: main.c,v 1.600 2023/09/19 17:43:43 rillig Exp $        */
2
2
 
3
3
/*
4
4
 * Copyright (c) 1988, 1989, 1990, 1993
111
111
#include "trace.h"
112
112
 
113
113
/*      "@(#)main.c     8.3 (Berkeley) 3/19/94" */
114
 
MAKE_RCSID("$NetBSD: main.c,v 1.599 2023/09/10 21:52:36 rillig Exp $");
 
114
MAKE_RCSID("$NetBSD: main.c,v 1.600 2023/09/19 17:43:43 rillig Exp $");
115
115
#if defined(MAKE_NATIVE) && !defined(lint)
116
116
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
117
117
            "The Regents of the University of California.  "
403
403
 
404
404
        forceJobs = true;
405
405
        opts.maxJobs = (int)strtol(arg, &end, 0);
406
 
        p = arg + (end - arg);
 
406
        p = end;
407
407
#ifdef _SC_NPROCESSORS_ONLN
408
408
        if (*p != '\0') {
409
409
                double d;
412
412
                        d = (opts.maxJobs > 0) ? opts.maxJobs : 1;
413
413
                } else if (*p == '.') {
414
414
                        d = strtod(arg, &end);
415
 
                        p = arg + (end - arg);
 
415
                        p = end;
416
416
                } else
417
 
                        d = 0;
418
 
                if (d > 0) {
 
417
                        d = 0.0;
 
418
                if (d > 0.0) {
419
419
                        p = "";
420
420
                        opts.maxJobs = (int)sysconf(_SC_NPROCESSORS_ONLN);
421
421
                        opts.maxJobs = (int)(d * (double)opts.maxJobs);