sasc re-write

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Mon Jan 17 00:25:49 PST 2005


hey, just a few comments

On 16.01.2005, at 19:09, Liam J Foy wrote:

@@ -27,137 +28,165 @@
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+ *
trailing whitespace addition

  * $FreeBSD: src/usr.bin/sasc/sasc.c,v 1.7.2.1 2000/06/30 09:47:52 ps 
Exp $
  * $DragonFly: src/usr.bin/sasc/sasc.c,v 1.4 2005/01/05 00:34:36 
cpressey Exp $
+ *
same here

  */

+#include <sys/file.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+
 #include <err.h>
-#include <stdlib.h>
+#include <errno.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <unistd.h>
-#include <sys/file.h>
-#include <sys/ioctl.h>
+
 #include <machine/asc_ioctl.h>
i'd move this up after sys/*

-int
-main(int argc, char **argv)
+/* Check given numerical arguments */
+static int
+getnum(const char *str)
+{
+        long val;
+        char *ep;
+
+        val = strtol(str, &ep, 10);
+        if (errno)
+                err(1, "strtol failed: %s", str);
you don't reset errno to 0, so this might be not working. reading the 
man page it might be needed :/

+        if (str == ep || *ep != '\0')
+                errx(1, "invalid value: %s", str);
+
+        return((int)val);
+}
+
+static void
+asc_set(int fd, u_long asc_setting, int asc_value)
 {
-  char c;
-  int fd;
+	if (ioctl(fd, asc_setting, &asc_value) < 0)
+		err(1, "ioctl failed setting %d", asc_value);
+
+	printf("Successfully set\n");
you don't tell *what* got set :) this would be nice, but not directly 
neccessary.

how about this:

#define	asc_set(fd, key, val)		_asc_set(fd, key, val, #key)
static void
_asc_set(int fd, u_long asc_key, int asc_value, const char *asc_keyname)
{ ...
+static int
+asc_get(int fd, u_long asc_setting)
+{
+	int asc_value;
+
+	if (ioctl(fd, asc_setting, &asc_value) < 0)
+		err(1, "ioctl failed", asc_value);
same here

cheers
  simon
--
/"\
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News
Attachment:
PGP.sig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00003.pgp
Type: application/octet-stream
Size: 186 bytes
Desc: "Description: This is a digitally signed message part"
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20050117/5fd47f35/attachment-0020.obj>


More information about the Kernel mailing list