diff options
-rw-r--r-- | console-tools/resize.c | 11 | ||||
-rw-r--r-- | networking/telnet.c | 2 | ||||
-rwxr-xr-x | scripts/find_stray_communal_vars | 10 | ||||
-rw-r--r-- | util-linux/mdev.c | 20 |
4 files changed, 25 insertions, 18 deletions
diff --git a/console-tools/resize.c b/console-tools/resize.c index 52fdb26f4..32551b2f2 100644 --- a/console-tools/resize.c +++ b/console-tools/resize.c | |||
@@ -11,16 +11,15 @@ | |||
11 | 11 | ||
12 | #define ESC "\033" | 12 | #define ESC "\033" |
13 | 13 | ||
14 | struct termios old; | 14 | #define old_termios (*(struct termios*)&bb_common_bufsiz1) |
15 | 15 | ||
16 | static void | 16 | static void |
17 | onintr(int sig ATTRIBUTE_UNUSED) | 17 | onintr(int sig ATTRIBUTE_UNUSED) |
18 | { | 18 | { |
19 | tcsetattr(STDERR_FILENO, TCSANOW, &old); | 19 | tcsetattr(STDERR_FILENO, TCSANOW, &old_termios); |
20 | exit(1); | 20 | exit(1); |
21 | } | 21 | } |
22 | 22 | ||
23 | |||
24 | int resize_main(int argc, char **argv); | 23 | int resize_main(int argc, char **argv); |
25 | int resize_main(int argc, char **argv) | 24 | int resize_main(int argc, char **argv) |
26 | { | 25 | { |
@@ -34,8 +33,8 @@ int resize_main(int argc, char **argv) | |||
34 | * and operate on it - should we do the same? | 33 | * and operate on it - should we do the same? |
35 | */ | 34 | */ |
36 | 35 | ||
37 | tcgetattr(STDERR_FILENO, &old); /* fiddle echo */ | 36 | tcgetattr(STDERR_FILENO, &old_termios); /* fiddle echo */ |
38 | new = old; | 37 | new = old_termios; |
39 | new.c_cflag |= (CLOCAL | CREAD); | 38 | new.c_cflag |= (CLOCAL | CREAD); |
40 | new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); | 39 | new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); |
41 | signal(SIGINT, onintr); | 40 | signal(SIGINT, onintr); |
@@ -60,7 +59,7 @@ int resize_main(int argc, char **argv) | |||
60 | * (gotten via TIOCGWINSZ) and recomputing *pixel values */ | 59 | * (gotten via TIOCGWINSZ) and recomputing *pixel values */ |
61 | ret = ioctl(STDERR_FILENO, TIOCSWINSZ, &w); | 60 | ret = ioctl(STDERR_FILENO, TIOCSWINSZ, &w); |
62 | 61 | ||
63 | tcsetattr(STDERR_FILENO, TCSANOW, &old); | 62 | tcsetattr(STDERR_FILENO, TCSANOW, &old_termios); |
64 | 63 | ||
65 | if (ENABLE_FEATURE_RESIZE_PRINT) | 64 | if (ENABLE_FEATURE_RESIZE_PRINT) |
66 | printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;\n", | 65 | printf("COLUMNS=%d;LINES=%d;export COLUMNS LINES;\n", |
diff --git a/networking/telnet.c b/networking/telnet.c index a59450505..caca89d2d 100644 --- a/networking/telnet.c +++ b/networking/telnet.c | |||
@@ -79,7 +79,7 @@ struct globals { | |||
79 | struct termios termios_raw; | 79 | struct termios termios_raw; |
80 | }; | 80 | }; |
81 | 81 | ||
82 | #define G (*(struct globals*)bb_common_bufsiz1) | 82 | #define G (*(struct globals*)&bb_common_bufsiz1) |
83 | 83 | ||
84 | 84 | ||
85 | /* Function prototypes */ | 85 | /* Function prototypes */ |
diff --git a/scripts/find_stray_communal_vars b/scripts/find_stray_communal_vars new file mode 100755 index 000000000..9f999d705 --- /dev/null +++ b/scripts/find_stray_communal_vars | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # Communal variables are elusize, then don't show in size output! | ||
4 | # This script will show all communals in *.o, sorted by size | ||
5 | |||
6 | find -name '*.o' \ | ||
7 | | while read name; do | ||
8 | b=`basename "$name"` | ||
9 | nm "$name" | sed "s/^/$b: /" | ||
10 | done | grep -i ' c ' | sort -k2 | ||
diff --git a/util-linux/mdev.c b/util-linux/mdev.c index a4716e2da..cc729e72a 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c | |||
@@ -12,14 +12,12 @@ | |||
12 | #include "libbb.h" | 12 | #include "libbb.h" |
13 | #include "xregex.h" | 13 | #include "xregex.h" |
14 | 14 | ||
15 | #define DEV_PATH "/dev" | 15 | struct globals { |
16 | |||
17 | struct mdev_globals | ||
18 | { | ||
19 | int root_major, root_minor; | 16 | int root_major, root_minor; |
20 | } mdev_globals; | 17 | }; |
21 | 18 | #define G (*(struct globals*)&bb_common_bufsiz1) | |
22 | #define bbg mdev_globals | 19 | #define root_major (G.root_major) |
20 | #define root_minor (G.root_minor) | ||
23 | 21 | ||
24 | /* mknod in /dev based on a path like "/sys/block/hda/hda1" */ | 22 | /* mknod in /dev based on a path like "/sys/block/hda/hda1" */ |
25 | static void make_device(char *path, int delete) | 23 | static void make_device(char *path, int delete) |
@@ -174,7 +172,7 @@ static void make_device(char *path, int delete) | |||
174 | if (mknod(device_name, mode | type, makedev(major, minor)) && errno != EEXIST) | 172 | if (mknod(device_name, mode | type, makedev(major, minor)) && errno != EEXIST) |
175 | bb_perror_msg_and_die("mknod %s", device_name); | 173 | bb_perror_msg_and_die("mknod %s", device_name); |
176 | 174 | ||
177 | if (major == bbg.root_major && minor == bbg.root_minor) | 175 | if (major == root_major && minor == root_minor) |
178 | symlink(device_name, "root"); | 176 | symlink(device_name, "root"); |
179 | 177 | ||
180 | if (ENABLE_FEATURE_MDEV_CONF) chown(device_name, uid, gid); | 178 | if (ENABLE_FEATURE_MDEV_CONF) chown(device_name, uid, gid); |
@@ -237,7 +235,7 @@ int mdev_main(int argc, char **argv) | |||
237 | char *env_path; | 235 | char *env_path; |
238 | RESERVE_CONFIG_BUFFER(temp,PATH_MAX); | 236 | RESERVE_CONFIG_BUFFER(temp,PATH_MAX); |
239 | 237 | ||
240 | xchdir(DEV_PATH); | 238 | xchdir("/dev"); |
241 | 239 | ||
242 | /* Scan */ | 240 | /* Scan */ |
243 | 241 | ||
@@ -245,8 +243,8 @@ int mdev_main(int argc, char **argv) | |||
245 | struct stat st; | 243 | struct stat st; |
246 | 244 | ||
247 | xstat("/", &st); | 245 | xstat("/", &st); |
248 | bbg.root_major = major(st.st_dev); | 246 | root_major = major(st.st_dev); |
249 | bbg.root_minor = minor(st.st_dev); | 247 | root_minor = minor(st.st_dev); |
250 | strcpy(temp,"/sys/block"); | 248 | strcpy(temp,"/sys/block"); |
251 | find_dev(temp); | 249 | find_dev(temp); |
252 | strcpy(temp,"/sys/class"); | 250 | strcpy(temp,"/sys/class"); |