return NULL;
if (found[0]->type == RPM_STRING_TYPE || found[0]->type == RPM_I18NSTRING_TYPE || found[0]->type == RPM_STRING_ARRAY_TYPE) {
int n;
- char *tmpstr = (char *) (map + found[0]->offset);
+ char *tmpstr = (char *) map + found[0]->offset;
for (n=0; n < itemindex; n++)
tmpstr = tmpstr + strlen(tmpstr) + 1;
return tmpstr;
if (!found || itemindex >= found[0]->count)
return -1;
- tmpint = (int *) (map + found[0]->offset);
+ tmpint = (int *) ((char *) map + found[0]->offset);
if (found[0]->type == RPM_INT32_TYPE) {
tmpint = (int *) ((char *) tmpint + itemindex*4);
}
#endif /* FEATURE_VI_USE_SIGNALS */
-static int mysleep(int hund) // sleep for 'h' 1/100 seconds
+static int mysleep(int hund) // sleep for 'hund' 1/100 seconds or stdin ready
{
struct pollfd pfd[1];
- pfd[0].fd = 0;
+ pfd[0].fd = STDIN_FILENO;
pfd[0].events = POLLIN;
return safe_poll(pfd, 1, hund*10) > 0;
}
#endif
} action;
-#define ACTS(name, arg...) typedef struct { action a; arg; } action_##name;
+#define ACTS(name, ...) typedef struct { action a; __VA_ARGS__ } action_##name;
#define ACTF(name) \
static int FAST_FUNC func_##name(const char *fileName UNUSED_PARAM, \
struct stat *statbuf UNUSED_PARAM, \
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#include <paths.h>
#include "busybox.h" /* uses applet tables */
/* This does a fork/exec in one call, using vfork(). Returns PID of new child,
struct redirtab *next;
int nullredirs;
int pair_count;
- struct two_fd_t two_fd[0];
+ struct two_fd_t two_fd[];
};
#define redirlist (G_var.redirlist)
int flags; // exit, suspend, && ||
int pid; // pid (or exit code)
int argc;
- char *argv[0];
+ char *argv[];
};
// A collection of processes piped into/waiting on each other.
* HUSH_DEBUG >= 2 prints line number in this file where it was detected.
*/
#if HUSH_DEBUG < 2
-# define die_if_script(lineno, fmt...) die_if_script(fmt)
+# define die_if_script(lineno, ...) die_if_script(__VA_ARGS__)
# define syntax_error(lineno, msg) syntax_error(msg)
# define syntax_error_at(lineno, msg) syntax_error_at(msg)
# define syntax_error_unterm_ch(lineno, ch) syntax_error_unterm_ch(ch)
# undef syntax_error_unterm_str
# undef syntax_error_unexpected_ch
#else
-# define die_if_script(fmt...) die_if_script(__LINE__, fmt)
+# define die_if_script(...) die_if_script(__LINE__, __VA_ARGS__)
# define syntax_error(msg) syntax_error(__LINE__, msg)
# define syntax_error_at(msg) syntax_error_at(__LINE__, msg)
# define syntax_error_unterm_ch(ch) syntax_error_unterm_ch(__LINE__, ch)
#include <syslog.h>
*/
-#include <paths.h>
#include <sys/un.h>
#include <sys/uio.h>
struct minix_dir_entry {
uint16_t inode;
- char name[0];
+ char name[];
};
/* Believe it or not, but mount.h has this one #defined */
uint8_t magic[8];
uint32_t size;
uint32_t checksum;
- uint8_t name[0];
+ uint8_t name[];
} PACKED;
int volume_id_probe_romfs(struct volume_id *id /*,uint64_t off*/)