[devel] Q: help with lavaps (c++ part) please
Alexey Voinov
=?iso-8859-1?q?voins_=CE=C1_voins=2Eprogram=2Eru?=
Чт Ноя 28 20:46:08 MSK 2002
Michael Shigorin wrote
> Кто-нибудь сведущий в C++ может чуток помочь с lavaps?
>
> Сейчас http://osdn.org.ua/~mike/lavaps-1.20-alt2.src.rpm
> не собирается с такими жалобами:
>
<skip>
> tcl_blob.cc: In method `void tcl_blob::redraw ()':
> tcl_blob.cc:592: cannot convert `const char *' to `char *' in initialization
> make[2]: *** [tcl_blob.o] Error 1
> make[2]: Leaving directory `/home/mike/RPM/BUILD/lavaps-1.20'
>
> [вываливаемся]
Кривые руки у этого автора. Я тут немного затычек понаставил, это не
настоящий фикс, но варнингов больше нет (ненавижу варнинги) и программа
собирается. Разбираться в этой программе подробнее желания нет.
(Вообще выглядит забавно, даже весело, но без чтения документации не очень
поянтно как всем этим хозяйством управлять :) )
Патч прилагается.
--
Best Regards! | Когда вам платят за работу, надо по крайней мере
Alexey Voinov | делать вид, что вы работаете...
| Б.Виан "Осень в Пекине"
voins на voins.program.ru
voins на online.ru
vns на altlinux.ru
----------- следующая часть -----------
--- lavaps-1.20/linux/proc/compare.c.voins 1998-10-03 01:34:07 +0400
+++ lavaps-1.20/linux/proc/compare.c 2002-11-28 20:25:37 +0300
@@ -85,13 +85,13 @@
*/
#define CMP_STR(NAME) \
int cmp_ ## NAME(proc_t** P, proc_t** Q) { \
- return strcmp((*P)-> ## NAME, (*Q)-> ## NAME); \
+ return strcmp((*P)->NAME, (*Q)->NAME); \
}
#define CMP_INT(NAME) \
int cmp_ ## NAME (proc_t** P, proc_t** Q) { \
- if ((*P)-> ## NAME < (*Q)-> ## NAME) return -1; \
- if ((*P)-> ## NAME > (*Q)-> ## NAME) return 1; \
+ if ((*P)->NAME < (*Q)->NAME) return -1; \
+ if ((*P)->NAME > (*Q)->NAME) return 1; \
return 0; \
}
--- lavaps-1.20/linux/proc/version.c.voins 1998-10-03 01:34:07 +0400
+++ lavaps-1.20/linux/proc/version.c 2002-11-28 20:26:13 +0300
@@ -5,6 +5,7 @@
* GNU Library General Public License; see ../COPYING.LIB
*/
#include <stdio.h>
+#include <stdlib.h>
#ifdef MINORVERSION
char procps_version[] = "procps version " VERSION "." SUBVERSION "." MINORVERSION;
--- lavaps-1.20/tcl2cc/tcl2cc.c.voins 2000-06-06 05:04:15 +0400
+++ lavaps-1.20/tcl2cc/tcl2cc.c 2002-11-28 20:22:40 +0300
@@ -46,6 +46,7 @@
*/
#include <stdio.h>
+#include <stdlib.h>
#include <string.h> /* strcasecmp() */
#include <ctype.h>
@@ -92,9 +93,7 @@
{
int nl = 1;
int skipping = 0;
- int c;
- char buf[6];
- int i;
+ int c = 0;
int look_forward = 0;
while (1) {
--- lavaps-1.20/main.cc.voins 2001-10-31 00:25:57 +0300
+++ lavaps-1.20/main.cc 2002-11-28 20:29:24 +0300
@@ -24,8 +24,8 @@
#include "process_scan.hh"
#include <unistd.h>
-#include <stdlib.h>
-#include <iostream.h>
+#include <cstdlib>
+#include <iostream>
#include <string>
--- lavaps-1.20/blob.cc.voins 2001-08-15 19:15:58 +0400
+++ lavaps-1.20/blob.cc 2002-11-28 20:30:54 +0300
@@ -21,11 +21,11 @@
#include "config.h"
-#include <stdio.h> // snprintf
+#include <cstdio> // snprintf
-#include <stdlib.h> // atoi
-#include <iostream.h>
-#include <assert.h>
+#include <cstdlib> // atoi
+#include <iostream>
+#include <cassert>
#include <algorithm> // swap
--- lavaps-1.20/process_list.cc.voins 2001-08-15 19:16:19 +0400
+++ lavaps-1.20/process_list.cc 2002-11-28 20:30:29 +0300
@@ -21,8 +21,8 @@
#include "config.h"
-#include <stdlib.h> // atoi
-#include <iostream.h>
+#include <cstdlib> // atoi
+#include <iostream>
#include <unistd.h>
#include <time.h>
--- lavaps-1.20/tcl_blob.cc.voins 2001-04-19 19:51:34 +0400
+++ lavaps-1.20/tcl_blob.cc 2002-11-28 20:37:59 +0300
@@ -21,9 +21,9 @@
#ifdef USE_TCL_BLOB
-#include <stdlib.h> // atoi
+#include <cstdlib> // atoi
#include <tcl.h>
-#include <iostream.h>
+#include <iostream>
#include <signal.h>
@@ -334,7 +334,7 @@
// const char* appname = "lavaps";
interp_ = Tcl_CreateInterp();
if (Tcl_Init(interp_) == TCL_ERROR)
- die(Tcl_GetStringResult(interp_));
+ die(const_cast<char*>(Tcl_GetStringResult(interp_)));
Tk_Window tk = NULL;
if (Tk_Init(interp_) == TCL_OK)
tk = Tk_MainWindow(interp_);
@@ -344,13 +344,21 @@
/*
* add our new commands
*/
- (void) Tcl_CreateCommand(interp_, "lava_tick", lava_tick_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_id_to_info", lava_id_to_info_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_menu", lava_menu_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_resize", lava_resize_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_dump", lava_dump_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_version", lava_version_proc, NULL, NULL);
- (void) Tcl_CreateCommand(interp_, "lava_default_resources", lava_default_resources_proc, NULL, NULL);
+ typedef int (*tmp_fun_type)(void*, Tcl_Interp*, int, const char**);
+ (void) Tcl_CreateCommand(interp_, "lava_tick",
+ reinterpret_cast<tmp_fun_type>(lava_tick_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_id_to_info",
+ reinterpret_cast<tmp_fun_type>(lava_id_to_info_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_menu",
+ reinterpret_cast<tmp_fun_type>(lava_menu_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_resize",
+ reinterpret_cast<tmp_fun_type>(lava_resize_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_dump",
+ reinterpret_cast<tmp_fun_type>(lava_dump_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_version",
+ reinterpret_cast<tmp_fun_type>(lava_version_proc), NULL, NULL);
+ (void) Tcl_CreateCommand(interp_, "lava_default_resources",
+ reinterpret_cast<tmp_fun_type>(lava_default_resources_proc), NULL, NULL);
// (void) Tcl_CreateCommand(interp_, "lava_move", lava_move_proc, NULL, NULL);
// (void) Tcl_CreateCommand(interp_, "lava_grow", lava_grow_proc, NULL, NULL);
// (void) Tcl_CreateCommand(interp_, "lava_print", lava_print_proc, NULL, NULL);
@@ -589,7 +597,7 @@
exit (1);
};
if (dark_percentage_) {
- char *cp = Tcl_GetStringResult(interp_);
+ const char *cp = Tcl_GetStringResult(interp_);
assert(cp != NULL);
assert(*cp != 0);
id_ = atoi(cp+1);
--- lavaps-1.20/tcl_blob_shape.cc.voins 2001-08-15 19:18:14 +0400
+++ lavaps-1.20/tcl_blob_shape.cc 2002-11-28 20:38:28 +0300
@@ -23,9 +23,9 @@
#ifdef USE_TCL_BLOB
-#include <stdlib.h> // atoi
+#include <cstdlib> // atoi
#include <tcl.h>
-#include <iostream.h>
+#include <iostream>
#include <tcl.h>
#include <tk.h>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20021128/fffd7e96/attachment-0001.bin>
Подробная информация о списке рассылки Devel