We can also use strtoul to convert strings since uid_t is unsigned.
if (*s == '-')
{
if (s[1])
- upper = (int)strtol(s + 1, NULL, 10);
+ upper = atoi(s + 1);
else
upper = 2147483647;
}
* Merge everything into a 32-bit IPv4 address in ip[3]...
*/
- ip[3] = ((((((unsigned)val[0] << 8) | (unsigned)val[1]) << 8) |
- (unsigned)val[2]) << 8) | (unsigned)val[3];
+ ip[3] = (val[0] << 24) | (val[1] << 16) | (val[2] << 8) | val[3];
if (ipcount < 4)
mask[3] = (0xffffffff << (32 - 8 * ipcount)) & 0xffffffff;
char temp[1024]; /* Temporary string */
- for (i = num_vars, var = vars; i > 0; i --, var ++)
+ for (i = num_vars, var = vars; i; i --, var ++)
if (!_cups_strcasecmp(line, var->name))
break;
int n; /* Number */
char *units; /* Units */
- n = strtol(value, &units, 0);
+ n = (int)strtol(value, &units, 0);
if (units && *units)
{
}
else
{
- int n = strtol(value, NULL, 8);
+ int n = (int)strtol(value, NULL, 8);
/* Permissions value */
if (n < 0)
temp[HTTP_MAX_BUFFER],
/* Temporary buffer for value */
*value; /* Pointer to value */
- int valuelen; /* Length of value */
http_addrlist_t *addrlist, /* Address list */
*addr; /* Current address */
if (!ServerAlias)
ServerAlias = cupsArrayNew(NULL, NULL);
- for (; *value;)
+ while (*value)
{
+ size_t valuelen; /* Length of value */
+
for (valuelen = 0; value[valuelen]; valuelen ++)
if (_cups_isspace(value[valuelen]) || value[valuelen] == ',')
- break;
-
- if (value[valuelen])
- {
- value[valuelen] = '\0';
- valuelen ++;
- }
+ {
+ value[valuelen ++] = '\0';
+ break;
+ }
cupsdAddAlias(ServerAlias, value);
static int /* O - 1 on success, 0 on failure */
read_cups_files_conf(cups_file_t *fp) /* I - File to read from */
{
- int i, /* Looping var */
- linenum; /* Current line number */
+ size_t i; /* Looping var */
+ int linenum; /* Current line number */
char line[HTTP_MAX_BUFFER], /* Line from file */
*value; /* Value from line */
struct group *group; /* Group */
*/
if (isdigit(value[0]))
- Group = (gid_t)atoi(value);
+ Group = (gid_t)strtoul(value, NULL, 10);
else
{
endgrent();
*/
if (isdigit(value[0]))
- LogFileGroup = (gid_t)atoi(value);
+ LogFileGroup = (gid_t)strtoul(value, NULL, 10);
else
{
endgrent();
* PassEnv variable [... variable]
*/
- int valuelen; /* Length of variable name */
+ size_t valuelen; /* Length of variable name */
- for (; *value;)
+ while (*value)
{
for (valuelen = 0; value[valuelen]; valuelen ++)
if (_cups_isspace(value[valuelen]) || value[valuelen] == ',')
if (value[valuelen])
{
- value[valuelen] = '\0';
- valuelen ++;
+ value[valuelen ++] = '\0';
}
- for (i = 0; i < (int)(sizeof(prohibited_env) / sizeof(prohibited_env[0])); i ++)
+ for (i = 0; i < (sizeof(prohibited_env) / sizeof(prohibited_env[0])); i ++)
{
if (!strcmp(value, prohibited_env[i]))
{
}
}
- if (i >= (int)(sizeof(prohibited_env) / sizeof(prohibited_env[0])))
+ if (i >= sizeof(prohibited_env) / sizeof(prohibited_env[0]))
cupsdSetEnv(value, NULL);
for (value += valuelen; *value; value ++)
while (isspace(*valueptr & 255))
*valueptr++ = '\0';
- for (i = 0; i < (int)(sizeof(prohibited_env) / sizeof(prohibited_env[0])); i ++)
+ for (i = 0; i < (sizeof(prohibited_env) / sizeof(prohibited_env[0])); i ++)
{
if (!strcmp(value, prohibited_env[i]))
{
}
}
- if (i >= (int)(sizeof(prohibited_env) / sizeof(prohibited_env[0])))
+ if (i >= (sizeof(prohibited_env) / sizeof(prohibited_env[0])))
cupsdSetEnv(value, valueptr);
}
else
if (isdigit(value[0] & 255))
{
- int uid = atoi(value);
+ uid_t uid = (uid_t)strtoul(value, NULL, 10);
if (!uid)
{
return (0);
}
else
- User = (uid_t)atoi(value);
+ User = uid;
}
else
{
return (1);
}
- normal_user = (uid_t)atoi(argv[4]);
- if (normal_user <= 0)
+ normal_user = (uid_t)strtoul(argv[4], NULL, 10);
+ if (normal_user == 0)
{
- fprintf(stderr, "ERROR: [cups-deviced] Bad user %d!\n", normal_user);
+ fprintf(stderr, "ERROR: [cups-deviced] Bad user %u!\n", (unsigned)normal_user);
return (1);
}
if (i >= argc)
usage();
- gid = (gid_t)atoi(argv[i]);
+ gid = (gid_t)strtoul(argv[i], NULL, 10);
break;
case 'n' : /* -n nice-value */
if (i >= argc)
usage();
- uid = (uid_t)atoi(argv[i]);
+ uid = (uid_t)strtoul(argv[i], NULL, 10);
break;
default :
{
cups_file_t *fp; /* File */
char line[1024]; /* Line from file */
- int linenum = 0; /* Line number in file */
+ unsigned linenum = 0; /* Line number in file */
fprintf(stderr, "DEBUG: sandbox_init failed: %s (%s)\n", sandbox_error,
strerror(errno));
while (cupsFileGets(fp, line, sizeof(line)))
{
linenum ++;
- fprintf(stderr, "DEBUG: %4d %s\n", linenum, line);
+ fprintf(stderr, "DEBUG: %4u %s\n", linenum, line);
}
cupsFileClose(fp);
}
int fd; /* File descriptor */
struct stat info; /* File information */
char buffer[512]; /* Data buffer */
- int i; /* Looping var */
+ size_t i; /* Looping var */
/*
if (nameptr)
{
- int host_len,
+ size_t host_len,
server_name_len;
/* Get host name of device URI */
}
else if (!strncmp(resource, "/jobs/", 6) && resource[6])
{
+ int job_id = atoi(resource + 6);
printer = NULL;
- job = cupsdFindJob(atoi(resource + 6));
+ job = cupsdFindJob(job_id);
if (!job)
{
send_ipp_status(con, IPP_NOT_FOUND, _("Job #%d does not exist."),
- atoi(resource + 6));
+ job_id);
return;
}
}
int pid, /* Process ID of child */
job_id; /* Job ID of child */
cupsd_job_t *job; /* Current job */
- int i; /* Looping var */
+ size_t i; /* Looping var */
char name[1024]; /* Process name */
const char *type; /* Type of program */
* Delete certificates for CGI processes...
*/
- if (pid)
- cupsdDeleteCert(pid);
+ cupsdDeleteCert(pid);
/*
* Handle completed job filters...
* If wait*() is interrupted by a signal, tell main() to call us again...
*/
- if (pid < 0 && errno == EINTR)
+ if (pid && errno == EINTR)
dead_children = 1;
}
cupsdLogMessage(CUPSD_LOG_DEBUG, "service_checkin: UPSTART_FDS=%s", e);
- fd = (int)strtol(e, NULL, 10);
+ fd = atoi(e);
if (fd < 0)
{
cupsdLogMessage(CUPSD_LOG_ERROR, "service_checkin: Could not parse UPSTART_FDS: %s", strerror(errno));
}
/*
- * Upstart only supportst a single on-demand socket file descriptor...
+ * Upstart only supports a single on-demand socket file descriptor...
*/
service_add_listener(fd, 0);
#ifdef DEBUG
cupsdLogMessage(CUPSD_LOG_DEBUG2,
"cupsdGetPrivateAttrs(policy=%p(%s), con=%p(%d), "
- "printer=%p(%s), owner=\"%s\")", policy, policy->name, con,
+ "printer=%p(%s), owner=\"%s\")", policy, policy ? policy->name : "", con,
con->number, printer, printer ? printer->name : "", owner);
#endif /* DEBUG */
*/
if (value)
- p->state_time = atoi(value);
+ p->state_time = (time_t)strtol(value, NULL, 10);
}
else if (!_cups_strcasecmp(line, "ConfigTime"))
{
*/
if (value)
- p->config_time = atoi(value);
+ p->config_time = (time_t)strtol(value, NULL, 10);
}
else if (!_cups_strcasecmp(line, "Accepting"))
{
else if (!_cups_strcasecmp(line, "Type"))
{
if (value)
- p->type = (cups_ptype_t)atoi(value);
+ p->type = (cups_ptype_t)strtoul(value, NULL, 10);
else
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of printers.conf.", linenum);
cupsdSetPrinterAttrs(p);
if (!strcmp(value, "marker-change-time"))
- p->marker_time = atoi(valueptr);
+ p->marker_time = (time_t)strtol(valueptr, NULL, 10);
else
cupsdSetPrinterAttr(p, value, valueptr);
}
if ((ptr = strchr(start, ',')) != NULL)
*ptr++ = '\0';
- attr->values[i].integer = strtol(start, NULL, 10);
+ attr->values[i].integer = atoi(start);
if (ptr)
start = ptr;
return;
}
- ptr ++;
- while (_cups_isspace(*ptr))
+ do
+ {
ptr ++;
+ } while (_cups_isspace(*ptr));
_cups_strcpy(program, ptr);
}
sourceRef = CGImageSourceCreateWithURL(icnsFileUrl, NULL);
if (sourceRef)
{
- for (i = 0; i < (int)CGImageSourceGetCount(sourceRef); i ++)
+ size_t index;
+ const size_t count = CGImageSourceGetCount(sourceRef);
+ for (index = 0; index < count; index ++)
{
- imageRef = CGImageSourceCreateImageAtIndex(sourceRef, (size_t)i, NULL);
+ imageRef = CGImageSourceCreateImageAtIndex(sourceRef, index, NULL);
if (!imageRef)
continue;
char **argv) /* I - Command-line arguments */
{
#ifdef __APPLE__
- int i, j; /* Looping vars */
+ size_t i, j; /* Looping vars */
char *envp[500], /* Array of environment variables */
cfprocesspath[1024], /* CFProcessPath environment variable */
linkpath[1024]; /* Link path for symlinks... */
- int linkbytes; /* Bytes for link path */
+ ssize_t linkbytes; /* Bytes for link path */
/*
*/
for (i = 1, j = 0;
- environ[j] && i < (int)(sizeof(envp) / sizeof(envp[0]) - 1);
+ environ[j] && i < (sizeof(envp) / sizeof(envp[0]) - 1);
j ++)
if (strncmp(environ[j], "CFProcessPath=", 14))
envp[i ++] = environ[j];