From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Guo, Min" Date: Fri, 01 Aug 2003 00:48:27 +0000 Subject: RE: [ANNOUNCE] udev 0.2 release MIME-Version: 1 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C357C6.9E8C46FE" Message-Id: List-Id: References: In-Reply-To: To: linux-hotplug@vger.kernel.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C357C6.9E8C46FE Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Thanks,the revised patch. --------------------------------------------- --- /root/udev-0.2/udev-add.c 2003-07-24 23:54:49.000000000 +0800 +++ /udev/udev-add.c 2003-08-01 09:45:24.651393112 +0800 @@ -81,45 +81,24 @@ */ static int create_node(char *name, char type, int major, int minor, int = mode) { - char *argv[7]; - char mode_string[100]; - char type_string[3]; - char major_string[20]; - char minor_string[20]; char filename[255]; int retval =3D 0; - strncpy(filename, UDEV_ROOT, sizeof(filename)); strncat(filename, name, sizeof(filename)); + if (type =3D=3D 'b') { + mode |=3D S_IFBLK; + } else if ((type =3D=3D 'c') || (type =3D=3D 'u')){ + mode |=3D S_IFCHR; + } else if ( type =3D=3D 'p') { + mode |=3D S_IFIFO; + } else { + dbg("unknown node type %c\n", type); + return -1; + } =20 - snprintf(mode_string, sizeof(mode_string), "--mode=3D%#o", mode); - snprintf(type_string, sizeof(type_string), "%c", type); - snprintf(major_string, sizeof(major_string), "%d", major); - snprintf(minor_string, sizeof(minor_string), "%d", minor); -=09 - argv[0] =3D MKNOD; - argv[1] =3D mode_string; - argv[2] =3D filename; - argv[3] =3D type_string; - argv[4] =3D major_string; - argv[5] =3D minor_string; - argv[6] =3D NULL; - dbg ("executing %s %s %s %s %s %s", - argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]); - switch (fork()) { - case 0: - /* we are the child, so lets run the program */ - execv (MKNOD, argv); - exit(0); - break; - case (-1): - dbg ("fork failed."); - retval =3D -EFAULT; - break; - default: - break; - } + retval =3D mknod(filename,mode,makedev(major,minor)); return retval; + =09 } =20 struct sysfs_class_device *get_class_dev(char *device_name) ------_=_NextPart_001_01C357C6.9E8C46FE Content-Type: application/octet-stream; name="udev-add.c.diff" Content-Transfer-Encoding: base64 Content-Description: udev-add.c.diff Content-Disposition: attachment; filename="udev-add.c.diff" LS0tIC9yb290L3VkZXYtMC4yL3VkZXYtYWRkLmMJMjAwMy0wNy0yNCAyMzo1NDo0OS4wMDAwMDAw MDAgKzA4MDAKKysrIC91ZGV2L3VkZXYtYWRkLmMJMjAwMy0wOC0wMSAwOTo0NToyNC42NTEzOTMx MTIgKzA4MDAKQEAgLTgxLDQ1ICs4MSwyNCBAQAogICovCiBzdGF0aWMgaW50IGNyZWF0ZV9ub2Rl KGNoYXIgKm5hbWUsIGNoYXIgdHlwZSwgaW50IG1ham9yLCBpbnQgbWlub3IsIGludCBtb2RlKQog ewotCWNoYXIgKmFyZ3ZbN107Ci0JY2hhciBtb2RlX3N0cmluZ1sxMDBdOwotCWNoYXIgdHlwZV9z dHJpbmdbM107Ci0JY2hhciBtYWpvcl9zdHJpbmdbMjBdOwotCWNoYXIgbWlub3Jfc3RyaW5nWzIw XTsKIAljaGFyIGZpbGVuYW1lWzI1NV07CiAJaW50IHJldHZhbCA9IDA7Ci0KIAlzdHJuY3B5KGZp bGVuYW1lLCBVREVWX1JPT1QsIHNpemVvZihmaWxlbmFtZSkpOwogCXN0cm5jYXQoZmlsZW5hbWUs IG5hbWUsIHNpemVvZihmaWxlbmFtZSkpOworCWlmICh0eXBlID09ICdiJykgeworCSAgICAgICBt b2RlIHw9IFNfSUZCTEs7CisgICAgCX0gZWxzZSBpZiAoKHR5cGUgPT0gJ2MnKSB8fCAodHlwZSA9 PSAndScpKXsKKwkgICAgICAgIG1vZGUgfD0gU19JRkNIUjsKKyAgICAJfSBlbHNlIGlmICggdHlw ZSA9PSAncCcpIHsKKyAgICAgICAJCSBtb2RlIHw9IFNfSUZJRk87CisgICAgCX0gZWxzZSB7Cisg ICAgICAgCQlkYmcoInVua25vd24gbm9kZSB0eXBlICVjXG4iLCB0eXBlKTsKKyAgICAgICAJCXJl dHVybiAtMTsKKyAJfQogCi0Jc25wcmludGYobW9kZV9zdHJpbmcsIHNpemVvZihtb2RlX3N0cmlu ZyksICItLW1vZGU9JSNvIiwgbW9kZSk7Ci0Jc25wcmludGYodHlwZV9zdHJpbmcsIHNpemVvZih0 eXBlX3N0cmluZyksICIlYyIsIHR5cGUpOwotCXNucHJpbnRmKG1ham9yX3N0cmluZywgc2l6ZW9m KG1ham9yX3N0cmluZyksICIlZCIsIG1ham9yKTsKLQlzbnByaW50ZihtaW5vcl9zdHJpbmcsIHNp emVvZihtaW5vcl9zdHJpbmcpLCAiJWQiLCBtaW5vcik7Ci0JCi0JYXJndlswXSA9IE1LTk9EOwot CWFyZ3ZbMV0gPSBtb2RlX3N0cmluZzsKLQlhcmd2WzJdID0gZmlsZW5hbWU7Ci0JYXJndlszXSA9 IHR5cGVfc3RyaW5nOwotCWFyZ3ZbNF0gPSBtYWpvcl9zdHJpbmc7Ci0JYXJndls1XSA9IG1pbm9y X3N0cmluZzsKLQlhcmd2WzZdID0gTlVMTDsKLQlkYmcgKCJleGVjdXRpbmcgJXMgJXMgJXMgJXMg JXMgJXMiLAotCQlhcmd2WzBdLCBhcmd2WzFdLCBhcmd2WzJdLCBhcmd2WzNdLCBhcmd2WzRdLCBh cmd2WzVdKTsKLQlzd2l0Y2ggKGZvcmsoKSkgewotCQljYXNlIDA6Ci0JCQkvKiB3ZSBhcmUgdGhl IGNoaWxkLCBzbyBsZXRzIHJ1biB0aGUgcHJvZ3JhbSAqLwotCQkJZXhlY3YgKE1LTk9ELCBhcmd2 KTsKLQkJCWV4aXQoMCk7Ci0JCQlicmVhazsKLQkJY2FzZSAoLTEpOgotCQkJZGJnICgiZm9yayBm YWlsZWQuIik7Ci0JCQlyZXR2YWwgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0J CQlicmVhazsKLQl9CisJcmV0dmFsID0gbWtub2QoZmlsZW5hbWUsbW9kZSxtYWtlZGV2KG1ham9y LG1pbm9yKSk7CiAJcmV0dXJuIHJldHZhbDsKKwkJCiB9CiAKIHN0cnVjdCBzeXNmc19jbGFzc19k ZXZpY2UgKmdldF9jbGFzc19kZXYoY2hhciAqZGV2aWNlX25hbWUpCg== ------_=_NextPart_001_01C357C6.9E8C46FE-- ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel